[WMI] OS情報を取得する

[ad code=2 align=left]
WMIのWin32_OperatingSystemクラスを使用すると、OS情報を取得することができます。

Win32_OperatingSystemクラスについては
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394239(v=vs.85).aspx
が参考になるでしょう。

代表的なプロパティは下記の通りです。

Win32_OperatingSystemクラスの代表的なプロパティ
プロパティ 説明
BootDevice オペレーティングシステムから起動するディスクドライブ名
BuildNumber オペレーティングシステムのビルド番号
Caption OS名称
CSDVersion サービスパックを示す文字列
Descriotion オペレーティングシステムの説明
ProductType 1:ワークステーション、2:ドメインコントローラー, 3:サーバー
SystemDirectory システムディレクトリ
WindowsDirectory Windowsディレクトリ

下記コマンドを実行するとOS情報が表示されます。

Get-WmiObject Win32_OperatingSystem

下記は、OS名、バージョン、Windowsディレクトリを取得して表示する例です。

Get-WmiObject Win32_OperatingSystem | Format-List Caption, Version, WindowsDirectory

[WMI] プリンター情報を取得する

[ad code=2 align=left]
WMIのWin32_Printerクラスを使用すると、プリンター情報を取得することができます。

Win32_Printerクラスについては
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v=vs.85).aspx
が参考になるでしょう。

代表的なプロパティは下記の通りです。

代表的なWin32_Printerクラスのプロパティ
プロパティ 説明
Name デバイス名(プリンター名)
PrinterStatus プリンターの状態。3:アイドル中,4:印刷中を表す。
Capabilities プリンターの機能を表す。2:カラー,4:コピー,6:ステープル, 8:パンチ など
PaperTypesAvailable プリンターで現在利用可能な用紙の種類

下記はプリンター情報を取得する例です。

Get-WmiObject Win32_Printer

また、下記はデバイス名、プリンターの状態、プリンターの機能を取得する例です。

Get-WmiObject Win32_Printer | Format-List Name, PrinterStatus, Capabilities

[WMI] 論理ドライブ情報を取得する

WMIのWin32_LogicalDiskクラスを使用すると、論理ドライブの情報を取得することができます。

Win32_LogicalDiskクラスについては
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394173(v=vs.85).aspx
が参考になるでしょう。

代表的なプロパティは下記の通りです。

Win32_LogicalDiskの代表的なプロパティ
プロパティ名 説明
DeviceID ドライブ名(デバイスID)
DriveType ドライブタイプ(数値で表されます)
Description 説明
FileSystem ファイルシステム(NTFS/FATなど)
FreeSpace ドライブの空き容量
Size ドライブ総容量
VolumeName ボリューム名

下記コマンドを実行すると論理ドライブの情報が表示されます。

Get-WmiObject Win32_LogicalDisk

下記は、DeviceID, FileSystem, FreeSpace, Size を表示する例です。

Get-WmiObject Win32_LogicalDisk | Format-Table DeviceID, FileSystem, FreeSpace, Size

[トラブルシューティング] トラブルシューティングパックを利用する

Windows 7のコントロールパネルには「トラブルシューティング」という項目があります。

 

このトラブルシューティングはPowerShellからも実行することが可能で、TroubleShootingPackというモジュールをインポートすることで使用可能になります。

Import-Module -Name TroubleShootingPack

モジュールを読み込むと

  • Get-TroubleShootingPack
  • Invoke-TroubleShootingPack

の2つのコマンドレットが使用可能になります。

Get-TroubleShootingPackはトラブルシューティングに関する情報を取得するコマンドレットで、Pathパラメーターにトラブルシューティング パックへの相対パス、絶対パス、または UNC パスを指定します。

「トラブルシューティングパックのパスはどこか?」ですが、これは C:\Windows\diagnostics\system にあるフォルダーとなります。

 

たとえばAudioに関するトラブルシューティングに関する情報を得たい場合は下記のように入力します。

 


Get-TroubleShootoingPack  -Path  C:\Windows\Diagnostics\System\Audio

 

 

実際にトラブルシューティングを行うにはInvoke-TroubleShootingPackコマンドレットを使用します。

例えば、先ほどのAudioに関する情報を使用してトラブルシューティングを行うには


Get-TroubleShootingPack  -Path  C:\Windows\Diagnostics\System\Audio | Invoke-TroubleShootingPack