OSのサービスパック情報を取得する

以前「OS名を取得する」の記事で Get-WmiObject コマンドレットとWin32_OperatingSystem を使用してOS名を取得する方法を紹介しました。
この Win32_OperationgSystem のCSDVersionを使用すればOSのサービスパック情報を取得することが出来ます。

下記がその例です。

$obj_OS = Get-WmiObject Win32_OperatingSystem -ComputerName "ホスト名"
$SP = $obj_OS.CSDVersion

上記スクリプトを実行し$SPを参照するとOSのサービスパック情報を取得することが出来ます。

OS名を取得する

こんかいはWMIのWin32_OperationgSystemクラスを使用して、OS名を取得する方法を紹介します。

下記がそのコード例です。

$os = Get-WmiObject Win32_OperatingSystem -ComputerName "MyPC"
Write-Host $os.Caption

-ComputerNameパラメータの後ろにはOS名を取得する対象となるPC名を指定します。
取得結果は $os という変数に代入しています。
この変数(オブジェクト)のCaptionプロパティを参照することで、OS名を取得することが出来ます。

動作していないデバイスをリストアップする ~PowerShell編~

ご無沙汰しております。

HIROです。 

本年も PowerShell from Japan!! をよろしくお願いいたします。

さて本年一発目のネタですが、人様のパクリになってしまいました。

ネタもとは gsf_zero1 さんの動作していないデバイスをリストアップするです。

gsf_zero1さんはC# MVPの方で、すばらしい記事を多数書かれておられます。

ぜひご覧ください。(gsf_zero1さんのサイトはこちら → http://d.hatena.ne.jp/gsf_zero1/

 

では本題です。

PowerShell 2.0から、Get-Wmiという新しいコマンドレットが追加されています。

これによりPowerShellからWMI操作を容易に行うことができるようになりました。

今回は、gsf_zero1さんが紹介してくださっているWin32_PnpEntityをPowerShellで使ってみようと思います。

コードは下記の通りです。

Get-WmiObject -Class Win32_PnpEntity -Filter "ConfigManagerErrorCode<>0" | %{$_.Description, $_.ConfigManagerErrorCode} 

 

Get-Wmiコマンドレットは-Classパラメータの後ろにWMI クラスの名前を指定します。また-filterの後ろにはWhere句に相当する文を使用します。

この文はWMI クエリ言語 (WQL) の構文を使用します。

今回示したコードでは、ConfigManagerErrorCode<>0 でないものを抽出し、パイプで受け取っオブジェクトから必要なもののみ(DescriptionとConfigManagerErrorCode)を表示しています。