クリスマス目前!商品レビューまとめ記事

windowsサービス、プロセス、適用パッチの一覧はPowerShellでパパッと出力しよう!

ども。あいしんくいっと(@ithinkitnet)です。

Windowsサーバを構築していると下記の一覧が必要になることがあります。

必要になるもの

  • サービス
  • プロセス
  • 適用パッチ(WindowsUpdate)

これらの一覧作るのって結構、面倒なんですよね~。
昔はGUI画面見ながらせっせと作成していたものですが、仕事が忙しいとそんなのやってらんない(笑)
って訳でPowersShellを使って簡単に一覧出力しちゃいましょー。

サービス一覧の出力

Get-Serviceコマンド
Get-Service | Export-CSV <出力する任意のファイル名>
コマンド実行例
Get-Service | Export-CSV .service.csv

Get-Serviceコマンドを実行すると、カレントフォルダにサービス一覧が記載された「service.csv」が出力されます。
itiran-0

プロセス一覧の出力

Get-processコマンド
Get-process | Export-CSV <出力する任意のファイル名>
コマンド実行例
Get-process | Export-CSV .process.csv

Get-processコマンドを実行すると、カレントフォルダにプロセス一覧が記載された「process.csv」が出力されます。
itiran-1

適用パッチ一覧の出力

Get-WmiObjectコマンド
Get-WmiObject win32_QuickFixEngineering | Export-CSV <出力する任意のファイル名>
コマンド実行例
Get-WmiObject win32_QuickFixEngineering | Export-CSV .patch.csv

上記コマンドを実行すると、カレントフォルダにパッチ一覧が記載された「patch.csv」が出力されます。
itiran-2

DOSコマンドの「systeminfo」もなかなか便利です。
itiran-3

プロセス出力で列もしくは特定の項目のみ出力したい場合

指定した列のみ抽出
Get-Process | Select-Object -Property <列名>
実行例
Get-Process | Select-Object -Property ProcessName

ProcessName
-----------
AppleMobileDeviceService
chrome
chrome
chrome
chrome
chrome
~略~

こんな感じでもOK

コマンド
Get-Process | %{Write-Host $_.processname}

カンマ区切りで複数列指定も可能

コマンド
Get-Process | Select-Object -Property Id,ProcessName
コード名
Get-Process | Select-Object -Property Id,ProcessName

                                      Id ProcessName
                                      -- -----------
                                    1364 AppleMobileDeviceService
                                    2016 chrome
                                    2696 chrome
                                    2756 chrome
                                    2776 chrome
                                    3300 chrome
                                    3332 chrome
                                    3352 chrome
                                    3600 chrome
~略~

こんな感じでもOK

コマンド
Get-Process | %{Write-Host $_.id,$_.processname}

プロセス一覧の「svchost」行のみ出力したい場合

コマンド
Get-Process | Where-Object {$_.ProcessName -eq "svchost"}
コマンド実行例
Get-Process | Select-Object -Property Id,ProcessName

                                      Id ProcessName
                                      -- -----------
                                    1364 AppleMobileDeviceService
                                    2016 chrome
                                    2696 chrome
                                    2756 chrome
                                    2776 chrome
                                    3300 chrome
                                    3332 chrome

これでサービスやプロセス、パッチの一覧出力はバッチリですね。

ithinkit

こういった小ネタを知っておくだけでも業務効率はアップするはずなので頑張って覚えておきましょう♪

以上、あいしんくいっとでした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)