現在使用しているWindowsが64ビットウィンドウズか32ビットウィンドウズかを調べるには、Win32_OperatingsystemクラスのOSArchitectureプロパティの値を見ればよい。
64ビットOSの場合。
PS > $os = Get-WmiObject -Class Win32_OperatingSystem
PS > $os.OSarchitecture
64 ビット
PS > $os.OSarchitecture -match "64"
True
PS > $os.OSarchitecture -match "32"
False
32ビットOSの場合。
PS > $os = Get-WmiObject -Class Win32_OperatingSystem
PS > $os.OSarchitecture
32 ビット
PS > $os.OSarchitecture -match "64"
False
PS > $os.OSarchitecture -match "32"
True
Windows PowerShell実践システム管理ガイドの初版の初版164ページに掲載のスクリプトでは、上部で64ビットWindowsがインストールされているか否かの判定に、Win32_ComputerSystemクラスのOSArchitectureプロパティを参照せよと書かれているが、これは誤り。Win32_ComputerSystemクラスにそのようなプロパティは無い。
さらに、64ビットOSがインストールされているか否かの判定に"64-bit"という文字列と-match比較演算子を使用して判定しているが、現在の日本語Windowsでは通常"64 ビット"という文字列が返されるので注意。日本語Windowsではこのページのスクリプトは期待どおりの動作をしないので注意。
なお、Windows PowerShell実践システム管理ガイドの初版の初版の前半13ページには、記述はWindows PowerShell V2 Community Technology Preview 3 (CTP3)に基づいて書かれており、PowerShell V2の正式版では昨日や動作が異なる可能性がある旨、記載されている。