Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【Windows PowerShell】CPUが64ビットWindowsをサポートしているか否かの確認

そのコンピューターのCPUが64ビットWindowsが使えるかどうか、Windows PowerShellスクリプトで確認をすることができる。

Win32_ProcessクラスのDescriptionプロパティの値を見ればよい。64ビットWindowsをサポートしているコンピューターであれば、「Intel64」か「x64」という文字が含まれている。

PS > $ps = Get-WmiObject -Class Win32_Processor
PS > $ps.Description
Intel64 Family ○ Model ○ Stepping ○
PS > ($ps.Description -match "Intel64") -or ($ps.Description -match "x64")
True

入力3行目は、「Intel64」か「x64」のいずれかの文字を含むように判定した方が無難。最近の64ビットWindowsをサポートするコンピューターは、このどちらかの文字を返すため。64ビットWindowsをサポートしていないコンピューターでは、この2つの文字が含まれない。

Windows PowerShell実践システム管理ガイドの初版164ページの下部に掲載のスクリプトでは、コンピューターが64ビットWindowsをサポートしているか否かの判定に単純に-like比較演算子を使用しているが、これは誤り。-like比較演算子ワイルドカードを使わない場合は、完全一致した場合にしかTrueを返さない。このページのスクリプトは期待どおりの動作をしないので注意。

なお、Windows PowerShell実践システム管理ガイドの初版の前半13ページには、記述はWindows PowerShell V2 Community Technology Preview 3 (CTP3)に基づいて書かれており、PowerShell V2の正式版では昨日や動作が異なる可能性がある旨、記載されている。

 

追記 2014年10月22日

Windows PowerShell実践システム管理ガイド第2版が出版される予定のようだ。

Windows PowerShell実践システム管理ガイド 第2版