SEブログ

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

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

 

 

 

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

 

 

この方法で CSV ファイルに出力すれば、設計書の基として使えますし設計書というところまで作らなくても、同じサーバーを構築する必要があれば CSV だけ出力してそれを基に同じ構成にすれば良いので時短にもなりますね。

 

 

こういった方法を活用して面倒なドキュメント作成に必要な時間や労力を減らしてしまいましょう。それでは早速始めましょう。

 

 

 

スポンサーリンク

Windows の役割と機能

 

 

Windows の役割というのはどのサービスを提供するかといったものになります。具体的に、Active Directory、DNS サーバーやファイルサーバー等といったもので、Windows の役割としてサーバーにインストールします。

 

 

Windows の機能というのは具体的に、Internet Explorer、.NetFramework や BitLocker 等といったもので、Windows の役割に必要な機能だと思ってもらえればと思います。これは Windows の機能としてサーバーにインストールされます。

 

 

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

 

Windows の役割

 

 

 

Windows の機能

 

 

 

 

スポンサーリンク

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

 

 

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

 

 

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

 

 

 

Get-WindowsFeature コマンドレット

 

 

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

 

Get-WindowsFeature

 

 

 

 

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

 

 

インストール済みの役割と機能を表示したい場合は、Windows の役割と機能の一覧から Where-Object を使って絞り込んで表示する事ができます。

 

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

 

 

 

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

 

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

 

 

 

 

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

 

 

インストール済みの Windows の役割と機能を、GUI や PowerShell の一覧から探して見るのも良いですが、特定の役割や機能がインストールされているかどうかをすぐに探したい場合は 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 で出力する

 

 

いか、簡単な手順を作ってみました。このまま活用すればきちんと整形されたWindows の役割と機能の一覧を Excel で作成する事ができます。

 

 

1. Export-Csv コマンドレットを使う事によって、PowerShell でコンソールに表示したものを CSV ファイルとして出力する事ができます。

 

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

 

 

 

2. 出力された CSV ファイルの出力先のファイルをそのまま開きますと、以下のような内容が表示されます。ぐちゃっとなっていますが、これを Excel で加工してあげれば大丈夫です。

 

 

 

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

 

 

 

 

スポンサーリンク

まとめ

 

 

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

 

 

サーバーを構築する時に設計書を基に構築する事もあれば、企業の規模や運用リソースによっては設計書なしで構築する場合もあるかと思います。

 

 

サーバーの役割と機能の一覧は、サーバーを構築時の詳細設計書として使います。わざわざ手で入力していくのは量が多いですし非常に面倒ですので、これをコマンドレットを使って CSV ファイルとしてエクスポートして少し加工さえすればできるので便利ですね。

 

 

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