プログラム 技術

PowerShellでWindows情報を集める

Windowの状態をPowerShellで取得する方法を調べたのでそのメモとなります
ちなみに動作確認は以下で実施しました

Version
OSWindows 11
PowerShell7.4.1

Windowsシステムの情報

以下のコマンドを実行することでWindowsのOS情報等を取得できます

systeminfo

ドライブ情報

以下のPowerShellのコマンドを使用することでPCで認識されているドライブの情報を取得できます

# ドライブ名と使用容量、空き容量、ルートの情報を取得
get-psdrive -psprovider filesystem | Select-Object Name, Used, Free, Root

DirectX診断ツールの情報

以下のDirectX診断ツールコマンドを実行するとディスプレイ情報やサウンド情報などを取得できます
今回はテキスト書き出しオプションをつけて実行しています

dxdiag /t (テキストファイル出力先)

ネットワーク情報

以下のコマンドを実行することでネットワーク情報(IPアドレス等)を取得できます

ipconfig /all

ルーティングテーブルの情報

以下のコマンドを実行することでIPルーティングテーブルを取得できます

route print

動作しているタスクの情報

以下のコマンドを実行することで現在動作しているタスクの情報を取得できます
今回は詳細表示オプションとCSV表示オプションをつけて実行しています

tasklist /V /FO CSV

EventLogのエラーと警告の情報

以下のPowerShellのコマンドを使用することで実行日時から1日前までのイベントログに書き出されているエラーと警告を取得できます

Get-EventLog -LogName system -after (get-date).AddDays(-1) | Where-Object { ($_.EntryType -eq "Error") -or ($_.EntryType -eq "Warning") }

まとめ

これまでのことをまとめてスクリプトにしました。以下を参考にしてみてください
スクリプトと同じ階層に出力結果をテキストファイルとして書き出しています

サンプル
BlogSampleCodeProjects/SystemInfo at main · nasuton/BlogSampleCodeProjects · GitHub
BlogSampleCodeProjects/SystemInfo at main · nasuton/BlogSampleCodeProjects · GitHub

Project for sample code used in the blog.(Blogで記載しているサンプルコード ...

続きを読む

-プログラム, 技術
-