Operations Lab.

Archive for 2月 2013

Internet Explorer 10 自動配布の無効化ツールキット

leave a comment »

前の投稿で Windows 7 向け Internet Explorer 10 がリリースされた旨を書きました。現時点では Windows Update 経由での自動配信は行われていませんが、将来的には自動配信が開始されることになると思います。(Internet Explorer 9 の時のように、まずはオプションの更新として配信された後、十分な時間が経過したのちに重要な更新として配信されると予想しています。)

企業などでは、Internet Explorer 10 が自動でインストールされると困る場合もあるかと思います。Internet Explorer 9 の時と同様、自動配布の無効化を行うツールキットが Microsoft より提供されています。

Internet Explorer 10 自動配布の無効化ツールキット(Blocker Toolkit)

Internet Explorer 10 Blocker Toolkit を使用すると、Windows Update の自動更新機能(WUAU)を介して、重要な更新プログラムとして Internet Explorer 10 が自動配布されないように構成できます。

ポイントは以下の2点です。

  • Blocker Toolkit を使用してユーザーによる手動インストールをブロックすることはできません。
  • Internet Explorer 8 や Internet Explorer 9 の自動インストールをブロックする為に Blocker Toolkit を使用している場合も、Internet Explorer 10 の自動インストールをブロックしたい場合は、最新バージョンの Blocker Toolkit を使用して Internet Explorer 10 のインストールをブロックする必要があります。(レジストリキーが異なる為。)

また、Windows Server Update Services (WSUS)を使用して更新プログラムの配布と管理を行っている場合は、WSUS 側で Internet Explorer 10 を配信しなければ良いだけなので、改めて Blocker Toolkit を使用する必要はありません。

なお、Blocker Toolkit は Internet Explorer のアップデートを恒久的に行わない為のツールキットではありません。あくまで、管理者が計画的にアップデートを展開する為のサポートツールです。Internet Explorer 10 ではレンダリングや JavaScript エンジンの高速化の他にも、セキュリティ面で様々な改善が施されています。より安全に PC を利用するという意味でも、なるべく早めに Internet Explorer 10 への移行を進めた方が良いでしょう。

広告

Written by kazu

2013/02/28 at 00:02

Windows 7 向けの Internet Explorer 10 がリリース

with one comment

2013/02/26、Windows 7 向けの Internet Explorer 10 がリリースされました。

win7ie10-01

Internet Explorer 10 is available worldwide in 95 languages for download today. We will begin auto updating Windows 7 customers to IE10 in the weeks ahead, starting today with customers running the IE10 Release Preview. With this final release, IE10 brings the same leading standards support, with improved performance, security, privacy, reliability that consumers enjoy on Windows 8, to Windows 7 customers.

Windows 7 向けの Internet Explorer 10 Release Candidate が既にインストールされている場合、Windows Update 経由でインストールできます。(Release Candidate インストール済みのコンピュータには、重要な更新として配信が開始しています。)

win7ie10-05

Internet Explorer 10 Release Candidate をインストールしていない場合は、現時点では Windows Update 経由でのインストールはできません。(Windows Update をチェックしても以下の様に配信されていません。しばらくしたら、配信されるようになると思いますが。)

win7ie10-02

インストールを行いたい場合は、Internet Explorer のWeb サイトからインストーラをダウンロードして実行します。

IE10-Windows6.1-ja-jp.exe をダウンロードして実行します。ちなみに、IE10-Windows6.1-ja-jp.exe のプロパティは以下の様な感じでした。

win7ie10-03

インストールはほぼ全自動で実行されます。インストールが完了すると再起動を求められるので、素直に再起動しましょう。

なお、Internet Explorer 10 向けのセキュリティ更新プログラムが既にリリースされています。

win7ie10-04

タイミングによっては、それ以外にも更新プログラムがリリースされているかもしれませんので、インストール後には念の為 Windows Update を実行して重要な更新プログラムが全て適用されている事を確認した方が良いでしょう。

Written by kazu

2013/02/27 at 12:05

System Center って何?

leave a comment »

ざっくり一言でいうと、Microsoft が提供する運用管理製品群です。

以前のバージョンでは System Center Virtual Machine Manager 2008 といったように個々の製品として提供されていましたが、2012 からは一つの製品(スイート)として提供されるようになりました。(その結果、名前も System Center 2012 Virtual Machine Manager といったように変わりました。)

System Center 2012 には以下の様なコンポーネントが含まれています。(超初心者向けにゆる~くまとめてみました。)

  • System Center 2012 Virtual Machine Manager
    • クラウドサービスとその基盤(ハイパーバイザや仮想マシン、ネットワーク、ストレージ等)を管理する。VMware の世界における vCenter + vCloud Director 的なもの。
  • System Center 2012 App Controller
    • クラウドへ仮想マシンやサービスを展開する利用者向けのインタフェース(セルフサービス・ポータル)を提供する。複数のクラウド(事業者)を一つの画面で利用できる。
  • System Center 2012 Configuration Manager
    • 一言でいうと構成管理ツール。PC の管理から展開、アプリケーションのプロビジョニングまで、かなり広範囲に色々なことができる。
  • System Center 2012 Data Protection Manager
    • バックアップツール。Windows 標準機能ではできない細かい設定や管理ができる。
  • System Center 2012 Endpoint Protection
    • クライアントPC及びサーバ向けのアンチウィルス(アンチマルウェア)ソフト。
  • System Center 2012 Operations Manager
    • 所謂、運用監視ツール。障害検知や通知、障害対応のサポートを行う。
  • System Center 2012 Orchestrator
    • ITプロセスの自動化ツール。機械的にできるような「作業」を、プログラミングを(あまり)行わずに自動化できる。
  • System Center 2012 Service Manager
    • System Center の各製品を「業務」に結び付けるためのツール。ユーザーからのリクエストを処理して承認フローをコントロールしたり、インシデントを管理したりできる。

System Center 2012 の製品では無いですが、以下のサービスもあります。

  • System Center Advisor
    • Windows Server などに搭載されているベストプラクティス・アナライザーのクラウド版、みたいな感じ。
  • System Center Global Service Monitor
    • Microsoft のデータセンターからサービスの死活監視をしてくれる。

上記の説明では良く分からないという方や、もっと詳しく知りたいという方は、ぜひ勉強会にご参加ください。

System Center User Group Japan 第6回勉強会
日時 2013年3月2日(土)
場所 日本マイクロソフト 品川オフィス セミナールームA
参加費 無料(懇親会は別途)
参加登録  http://atnd.org/events/36685
スケジュール
13:00 受付開始
13:30 前説 : Systemcenterってなんだっけ
13:50 Session 1 : DaRT って何だろう~コンピューター管理のあれこれ~
14:35 Session 2 : SC 2012 VMM SP1によるHyper-Vホストの展開
15:40 Session 3 : アプリを自動化しよう~SCOR IP開発入門~
16:45 Session 4 : System Centerの新参者、App ControllerとSPFで実現するハイブリッドクラウド
17:45 終了予定

勉強会終了後に懇親会も予定されていますので、そちらもぜひご参加下さい。

Written by kazu

2013/02/26 at 23:59

カテゴリー: System Center

Tagged with

ID 連携の未来

leave a comment »

タイトルはちょっと大げさですが。

ちょっと前からですが、Microsoft Partner Network へログインする際に、以下の様な画面が表示されるようになりました。(一度特定の手段で認証したり、Microsoft ID(Windows Live ID)でログインしている状態だと下記の画面がスキップされるようなので、見たことが無い方もいるかもしれません。)

mpn01

今までも Microsoft は Windows Live ID (現 Microsoft ID : MC ID)で各種サービスのシングルサインオンができていました。一方で、クラウドサービスをビジネスでも利用するシーンが多くなり、社内のドメインアカウントを利用して各種クラウドサービスを利用する事が当たり前にできる時代になりつつあります。Active Directory Federation Service についても、徐々に利用者が増えているように感じます。

何となく、色々なものがつながっていく、ネットワーク的な広がりが感じられてエンジニアとしてわくわくする画面だったので、ブログに載せてみました。

AD しかり Open ID しかり、シングルサインオンや ID 連携、認証連携といった分野は昔からありますが、やっと実用的なレベルになってきたように思います。様々なものがつながって便利になっていくことはとても喜ばしい反面、リスクも大きく、多種多様になります。より便利で、より安全で、より楽しいサービスを提供できるよう、最新の技術をもっと勉強していかないといけないと感じる今日この頃です。

Written by kazu

2013/02/24 at 20:36

カテゴリー: その他

Windows Server 2012 で dcpromo を使用する

leave a comment »

Windows Server 2012 では、dcpromo が廃止され、サーバー マネージャーか PowerShell を使用してドメインコントローラー(DC)へ昇格することになっています。技術情報サイトやブログの記事を見ても、dcpromo を使用してドメインコントローラーへ昇格することはできない、といった記述が目につきます。

実際のところ、Windows Server 2012 で dcpromo を直接実行すると、以下の様なウィンドウが表示されます。

dcpromo-2012

では、dcpromo を使用してドメインコントローラーへ昇格することはできないかというと、そんなことはありません。Windows Server 2012 の dcpromo に “/?” オプションを渡すと、以下の様に表示されます。

C:\Users\Administrator> dcpromo /?

コマンド ラインのパラメーターには次のものがあります:

/unattend[:ファイル名]
     無人操作モードの指定または無人インストール スクリプトの指定に使用します。

/adv
     詳細ユーザー オプションを有効にします。

/uninstallBinaries
     Active Directory ドメイン サービス バイナリのアンインストールに使用します。

/CreateDCAccount
     RODC アカウントを作成します。

/UseExistingAccount:Attach
     サーバーを RODC アカウントに関連付けます。

/ForceRemoval
     このドメイン コントローラー上の Active Directory ドメイン サービスを強制的にアンインストールします。ディレクトリ内のドメイン コントローラー用アカウントは削除されませんが、最後のパートナーとのレプリケート以後にドメイン コントローラーに加えた変更は失われます。

/?
     このヘルプを表示します。

/?[:{Promotion | CreateDcAccount | UseExistingAccount | Demotion | ForceRemoval}]
     /?:Promotion、/?:CreateDCAccount、/?:UseExistingAccount、/?:Demotion および /?:ForceRemoval は指定したタスクで使用できる無人パラメーターを表示します。/CreateDCAccount、/UseExistingAccount:Attach、および /ForceRemoval は同時に指定できません。

無人パラメーターをコマンド ラインで指定することもできます。
例:
   dcpromo.exe /ReplicaOrNewDomain:Replica

終了するには、いずれかのキーを押してください...

上記の内容からも分かるように、/unattend スイッチを使用して無人インストールを行ったり、/ForceRemoval で ADDS を強制的にアンインストールすることができます。

実際に、以下の様なテキストファイルを作成し、dcpromo に unattend ファイルとして渡すことで、Windows Server 2008 / Windows Server 2008 R2 と同様に無人インストールを行うことができます。

[DCInstall]
ReplicaOrNewDomain=Domain
NewDomain=Forest
NewDomainDNSName=example.local
ForestLevel=4
DomainNetbiosName=example
DomainLevel=4
InstallDNS=Yes
ConfirmGc=Yes
CreateDNSDelegation=No
DatabasePath="C:\Windows\NTDS"
LogPath="C:\Windows\NTDS"
SYSVOLPath="C:\Windows\SYSVOL"
SafeModeAdminPassword=H0geH0ge

ちなみに、Active Directory Domain Service (AD DS)のバイナリがインストールされていない(AD DS の役割がインストールされていない)状態であっても、dcpromo から無人インストールを実行できます。この場合、無人インストール中に AD DS のサービスバイナリが自動でインストールされます。(Windows Server 2008 や Windows Server 2008 R2 と同じです。)

C:\Users\Administrator> dcpromo /unattend:unattend.txt
dcpromo の無人操作は Windows PowerShell の ADDSDeployment モジュールに置き換えられています。詳細については、http://go.microsoft.com/fwlink/?LinkId=220924 を参照してください
Active Directory ドメイン サービス バイナリがインストールされているかどうかを確認しています...
Active Directory ドメイン サービス バイナリをインストールしています。おまちください...
Active Directory ドメイン サービスのセットアップ

環境およびパラメーターを検証しています...
Windows Server 2012 ドメイン コントローラーには、セキュリティ設定 "Windows NT 4.0 と互換性のある暗号化アルゴリズムを許可する" の既定値が設定されています。これにより、セキュリティ チャネル セッションを確立するときに、セキュリティの弱い暗号化アルゴリズムの使用は許可されなくなります。

この設定の詳細については、サポート技術情報 (KB) の記事 942564 (http://go.microsoft.com/fwlink/?LinkId=104751) を参照してください。

権限のある親ゾーンが見つからないか、Windows DNS サーバーが実行されていないため、この DNS サーバーの委任を作成できません。既存の DNS インフラストラクチャと統合する場合は、ドメイン "example.local" 外からの名前解決が確実に行われるように、親ゾーンでこの DNS サーバーへの委任を手動で作成する必要があります。それ以外の場合は、何もする必要はありません。

----------------------------------------
次のアクションが実行されます:
新しいフォレストの最初の Active Directory ドメイン コントローラーとしてこのサーバーを構成します。

新しいドメイン名は "example.local" です。これは新しいフォレスト名にもなります。
ドメインの NetBIOS 名は "example" です。
フォレストの機能レベル: Windows Server 2008 R2
ドメインの機能レベル: Windows Server 2008 R2
サイト: Default-First-Site-Name

追加オプション:
  読み取り専用ドメイン コントローラー: "いいえ"
  グローバル カタログ: はい
  DNS サーバー: はい

DNS 委任の作成: いいえ

データベースの場所: C:\Windows\NTDS
ログ ファイルの場所: C:\Windows\NTDS
SYSVOL フォルダーの場所: C:\Windows\SYSVOL

DNS サーバー サービスはこのコンピューターにインストールされます。
DNS サーバー サービスはこのコンピューターに構成されます。
このコンピューターは、この DNS サーバーを優先 DNS サーバーとして使用するように構成されます。

新しいドメイン Administrator アカウントのパスワードはこのコンピューターのローカル Administrator アカウントのパスワードと同じものに設定されます。
----------------------------------------

開始しています...

(以下略)

なお、dcpromo を使用してドメインコントローラーへ昇格することは、基本的には推奨されません。dcpromo の unattend インストールは互換性のために残されている機能です。

Active Directory

dcpromo.exe は推奨されなくなりました。Windows Server 2012 では、コマンド プロンプトから dcpromo.exe を実行すると (パラメーターなし)、メッセージが表示され、サーバー マネージャーに移動します。このサーバー マネージャーで、役割の追加ウィザードを利用して Active Directory ドメイン サービスをインストールできます。コマンド プロンプトから dcpromo /unattend を実行する場合でも、dcpromo.exe を利用する無人インストールを実行できます。これにより、組織は Windows PowerShell を利用して自動 Active Directory ドメイン サービス (AD DS) インストール ルーチンを書き換えるまで、dcpromo.exe に基づいてこれらのルーチンを引き続き利用できます。詳細については、http://technet.microsoft.com/library/hh472160.aspx を参照してください。

コマンドライン(CLI)からのAD DS インストールやスクリプトによる自動インストールには、PowerShell の ADDSDeployment モジュールを使用しましょう。

Written by kazu

2013/02/23 at 23:32

カテゴリー: Windows Server

Tagged with

PowerShell 3.0 のヘルプを更新する

leave a comment »

PowerShell 3.0 では、デフォルトでは限定されたヘルプ・コンテンツのみがローカルにインストールされており、Get-Help コマンドレットでヘルプを表示した際に一部のコンテンツのみが表示されます。ヘルプコンテンツを更新するための Update-Help コマンドレットが用意されているのですが、PowerShell 3.0 リリース当初はいまいち挙動が不安定で、ヘルプが更新されなかったり、ヘルプのダウンロードはできるが Get-Help で表示できなかったりといった状態でした。

最近、ふと Update-Help を試したところ、以前よりも状況が改善していそうな雰囲気でしたので、一旦現状をまとめてみました。

そもそもの前提として

前述のとおり、PowerShell 3.0 ではヘルプのオンライン化がすすめられています。Get-Help コマンドレットを使用して(完全な)ヘルプを表示するためには、Update-Help コマンドレットでヘルプファイルをアップデートするか、Get-Help コマンドレットを Online スイッチ付きで呼び出します。

Get-Help <Cmdlet> –Online を実行すると、ブラウザが起動し、TechNet 上のオンラインヘルプを参照できます。日本語版のヘルプが用意されていない場合、TechNet サイト上で自動で英語のコンテンツにリダイレクトされます。

Update-Help を使用する場合は、管理者権限で PowerShell (または PowerShell ISE)を起動しておく必要があります。PowerShell のヘルプは C:\Windows\System32 配下に保存されているため、ファイルを更新するために管理者権限が必要です。管理者へ昇格していないコンソールから Update-Help を実行すると、以下の様なエラーが表示されます。

PS C:\Windows\System32> Update-Help
Update-Help : UI カルチャ {en-US} を使用してモジュール 'ISE, AppLocker, Appx, BitLocker, BranchCache, CimCmdlets, DirectAccessClientComponents, Dism, DnsClient, Hyper-V, International, iSCSI, Kds, MMAgent, MsDtc, NetAdapter, NetConnection, NetLbfo, NetQos, NetSecurity, NetSwitchTeam, NetTCPIP, NetWNV, NetworkConnectivityStatus, NetworkTransition, PKI, PrintManagement, PSScheduledJob, PSWorkflow, PSWorkflowUtility, ScheduledTasks, SecureBoot, SmbShare, SmbWitness, Storage, TroubleshootingPack, TrustedPlatformModule, VpnClient, Wdac, WindowsDeveloperLicense, WindowsErrorReporting' のヘルプを更新できませんでした: パス 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ISE\en-US' へのアクセスが拒否されました。
発生場所 行:1 文字:1
+ Update-Help
+ ~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Update-Help]、Exception
    + FullyQualifiedErrorId : UnknownErrorId,Microsoft.PowerShell.Commands.UpdateHelpCommand
 
Update-Help : モジュール 'Microsoft.PowerShell.Management, Microsoft.PowerShell.Utility, Microsoft.PowerShell.Diagnostics, Microsoft.PowerShell.Host, Microsoft.PowerShell.Security, Microsoft.WSMan.Management, Microsoft.PowerShell.Core' のヘルプを更新できませんでした: Windows PowerShell のコア コマンドのヘルプ トピックも、$pshome\Modules ディレクトリ内のモジュールのヘルプ トピックも更新されませんでした。これらのヘルプ トピックを更新するには、"管理者として実行" オプションを使用して Windows PowerShell を起動し、コマンドをもう一度実行してください。
発生場所 行:1 文字:1
+ Update-Help
+ ~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Update-Help]、Exception
    + FullyQualifiedErrorId : UpdatableHelpSystemRequiresElevation,Microsoft.PowerShell.Commands.UpdateHelpCommand

Windows 8 / Windows 2012 の場合

Windows 8 や Windows 2012 の PowerShell 3.0 の場合、Update-Help を実行するのみで、Get-Help から最新のコンテンツを参照できるようになっていました。(2013/02/20 現在)

PS C:\Windows\System32> Get-Help about_*

PS C:\Windows\System32> Update-Help

PS C:\Windows\System32> Get-Help about_*

Name                        Category  Module  Synopsis
----                        --------  ------  --------
about_Aliases               HelpFile          Describes how to use...
about_Arithmetic_Operators  HelpFile          Describes the operat...
about_Arrays                HelpFile          Describes arrays, wh...
about_Assignment_Operators  HelpFile          Describes how to use...
(以下略)

現状で日本語のヘルプファイルは用意されていませんが、(明示的に UICulture を指定しなくても)英語版のヘルプファイルが(自動で選択され)ダウンロードされます。

PS C:\Users\kazu> Get-ChildItem $PSHOME | ?{ $_.Name -eq "en-US" -or $_.Name -eq "ja-JP" }

    ディレクトリ: C:\Windows\System32\WindowsPowerShell\v1.0

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        2013/02/21      0:14            en-US
d---s        2012/07/26     20:45            ja-JP

ヘルプファイルが保管されているフォルダを確認しても、ja-JP は更新されておらず、en-US 側が更新されていることが分かります。

昔は、Update-Help を実行するのみではヘルプの参照ができず、以下の様に明示的に en-US を指定してヘルプを更新する必要があったような気がするのですが、あまり正確に覚えていないため、気のせいかもしれません。

PS C:\Windows\System32> Update-Help -UICulture en-US

Windows 7 / Windows Server 2008 R2 の場合

Windows 7 や Windows 2008 R2 の場合は、単純に Update-Help を実行しただけでは Get-Help で細心のヘルプを参照できるようになりません。

PS C:\Windows\system32> Update-Help -UICulture en-US -Force

PS C:\Windows\system32> Get-ChildItem $PSHOME | ?{ $_.Name -eq "en-US" -or $_.Name -eq "ja-JP" }

    ディレクトリ: C:\Windows\System32\WindowsPowerShell\v1.0

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        2013/02/21      2:44            en-US
d----        2012/12/12     14:31            ja-JP

PS C:\Windows\system32> Get-Help about_*

英語のヘルプが更新されているにもかかわらず、Get-Help からは参照されません(参照できません)。

割と無理やりな解決方法ですが、日本語のリソースフォルダに英語版のファイルをコピーすることによって、Get-Help から(英語の)ヘルプを参照できるようになります。(今後のアップデートに支障が出るかもしれませんので、実行する場合は自己責任でお願いします。)

PS C:\Windows\system32> Move-Item $PSHOME\ja-JP $PSHOME\ja-JP_old

PS C:\Windows\system32> Copy-Item -Recurse $PSHOME\en-US $PSHOME\ja-JP

PS C:\Windows\system32> Get-Help about_*

Name                        Category  Module  Synopsis
----                        --------  ------  --------
about_Aliases               HelpFile          Describes how to use...
about_Arithmetic_Operators  HelpFile          Describes the operat...
about_Arrays                HelpFile          Describes arrays, wh...
about_Assignment_Operators  HelpFile          Describes how to use...

ここでは、既存の ja-JP フォルダをリネームした後、en-US フォルダを ja-JP という名前でコピーしています。

なぜ、Windows 7 / Windows 2008 R2 の PowerShell 3.0 は en-US のヘルプリソースを参照してくれないのか謎ですが、上記の対応で一応ヘルプの参照ができるようになります。

ところで

PowerShell 3.0 の正式な日本語ヘルプはいつ頃用意されるのでしょうか。1か月ほど前の記事になりますが、PowerShell Team のブログに以下の様な記載があります。

The languages in which the first-localized modules would most likely be available, within three to six months from now, are the following four:

  • Chinese (Traditional)
  • French
  • German
  • Japanese

半年以内には、日本語ローカライズされたヘルプが配信される予定のようです。

Written by kazu

2013/02/21 at 03:04

PowerShell でファイルのハッシュ値を計算する

with one comment

Windows には md5sum や sha1sum といったコマンドが標準では用意されていません。では、MD5 や SHA1 ハッシュを計算することができないかというと、そんな事はありません。PowerShell  を使用すれば割と簡単にハッシュ値を得ることができます。

PowerShell のコマンドレットを使用して MD5 や SHA1 ハッシュを直接計算することはできませんが、.NET Framework のクラスにはハッシュ値を計算できるクラスがありますので、それを使います。具体的には、System.Security.Cryptography 名前空間の MD5 クラスや SHA1 クラスを使用します。

対象となるハッシュアルゴリズムのインスタンスを作成し、ComputeHash メソッドへファイルストリームを渡せばハッシュ値を計算できます。以下のスクリプトは $file に指定したファイルの SHA1 ハッシュ値を計算、表示します。

$file = "C:\Users\Administrator\Downloads\9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_JA-JP-HRM_SSS_X64FREE_JA-JP_DV5.ISO"
$sha1 = [System.Security.Cryptography.SHA1]::Create()
$stream = New-Object IO.StreamReader $file
$hash = $sha1.ComputeHash($stream.BaseStream)
$stream.Close()
$hs = ""
$hash | %{ $hs += $_.ToString("x2") }
$hs

# <表示例>
# 722a306ac458ec7bdda19706977b749f2c49ebc6

ここでは、Administrator のダウンロードフォルダに保存した、Windows Server 2012 の体験版(ISO ファイル)の SHA1 ハッシュ値を計算しています。

ハッシュアルゴリズムのインスタンスは、Create メソッドで生成します。(Create は Static メソッドです。)ComputeHash メソッドはバイト配列か Stream からハッシュ値を計算します。今回はファイルストリームとして System.IO 名前空間の StreamReader クラスのインスタンスを作成し、それを ComputeHash へ渡しています。

ComputeHash で計算されたハッシュ値($hash)はバイト配列(byte[])を返します。配列の各要素を16進数へ変換し結合することで、ファイルのハッシュ値(ハッシュ文字列)を得ることができます。

日常的に使用するのであれば専用のアプリケーションを導入したほうが効率的ですが、ちょっとハッシュ値を確認したいときや追加でアプリケーションをインストールしたくないときには便利です。

Written by kazu

2013/02/18 at 01:25

カテゴリー: PowerShell

Tagged with ,