SEブログ

【PowerShell】Windowsの役割と機能一覧をCSVで出力する

 

こんにちは!SE ブログの相馬です。

 

 

 

今回は、Windows サーバーの役割と機能の追加を PowerShell を使って CSV ファイルとして出力する方法について書きました。

 

 

 

Windows の役割と機能

 

 

Active Directory、DNS サーバーやファイルサーバー等といったものは Windows の役割としてサーバーにインストールされます。また Internet Explorer、.NetFramework や BitLocker 等といったものは Windows の機能としてサーバーにインストールされます。

 

 

インストールする場合やインストール済みの Windows の役割や機能は、以下のように GUI から確認する事ができます。

 

Windows の役割

 

Windows の機能

 

 

 

Windows の役割と機能を PowerShell で表示する

 

 

GUI では、Windows の役割と機能を確認する事は出来ました。それでは PowerShell から表示するにはどうすれば良いでしょうか。

 

 

答えは Get-WindowsFeature コマンドレットを使う事によって表示ができます。

 

 

Get-WindowsFeature コマンドレット

 

 

Windows の役割と機能の一覧をコンソールに表示する事ができます。また役割と機能において各々インストール状況を確認する事ができます。

 

Get-WindowsFeature

 

 

 

 

 

インストール済みの役割と機能を表示する

 

 

インストール済みの役割と機能を表示したい場合は、Where-Object を使います。

 

Get-WindowsFeature | Where-object {$_.Installed -eq $True}

 

 

 

 

 

また、情報が多いので、インストール済みの役割と機能の名前だけ欲しいという場合もあるかと思います。こういう場合はパイプラインを使って Format-List コマンドレットを使い、DisplayName を指定してあげれば大丈夫です。

 

Get-WindowsFeature | Where-object {$_.Installed -eq $True} | Format-List DisplayName

 

 

 

 

 

特定の役割や機能がインストールされているかを確認する

 

 

特定の役割や機能がインストールされているか、PowerShell で確認する事ができます。

 

 

  1. Import-Module コマンドレットで ServerManager モジュールをインポートします。
  2. Get-Windows-Feature コマンドレットで -Name プロパティを指定して確認したい役割か機能の名前を入力します。
  3. Installed プロパティを指定してあげれば結果が表示されます。

 

 

Import-module ServerManager ; (Get-WindowsFeature -name Web-Server).Installed


# 実行結果

False

 

 

 

これで一覧をコンソールに表示する事ができました。それでは CSV ファイルとして出力するにはどうすれば良いでしょうか。

 

 

 

Windows の役割と機能を CSV で出力する

 

 

PowerShell でコンソールに表示したものを CSV ファイルとして出力する事ができます。

 

Get-WindowsFeature | Export-Csv "C:\temp\windowsfeature.csv" -Encoding Default

 

 

 

指定した CSV ファイルの出力先のファイルを開きますと、以下のような内容が表示されます。これを Excel で加工してあげれば良いかと思います。

 

 

 

Excel で加工しますと以下のような表示になりました。FeatureType のカラムを見ますと、Role とか Feature とかが確認できます。役割や機能がどれになるかがここで確認できるわけです。(あえて Role や Feature を一覧で見れる為にデータをソートしました。)

 

 

 

以上になります。いかがでしょうか。

 

 

サーバーの役割と機能の一覧は、サーバーを構築する前のパラメーターシートとして活用する事ができます。ですので、コマンドレットを使って CSV ファイルとしてエクスポートして、Excel で整形すればパラメータシートを作成する時間がだいぶ省けるかと思います。

 

 

では最後までお読みいただきありがとうございました!