Windows:システム情報取得コマンドいろいろ

Windows

LinuxとかUNIXのサーバ扱っていて、その後Windowsのサーバを扱った人はみんな思っていると思うけど、Windowsはシステム情報(サービス情報とか、ユーザ情報とか)がコマンドでサクッととれないんだろう。
結果システム構築時のエビデンスとか画像で取得する羽目になり、取る方も、見る方も地獄という。設計書に起こすのも大変だし。

なぜマイクロソフトはGUIと同じ情報を表示するコマンドを提供しないのか・・・

コマンドプロンプトとかPowerShellとかとか、情報を取得するコマンドを紹介します。

コマンドプロンプト

まずはコマンドプロンプトです。
「Windowsキー + R」 で「cmd」と打つと起動する黒い画面です。

どんなコマンドがあるかは下のサイトが参考になりそう。
https://www.pg-fl.jp/program/dos/doscmd/

システム情報を取得するようなコマンドはこんな感じ。

NO取得内容コマンド
1OS情報systeminfo
2サービス情報sc query
3ユーザ情報net user

昔からあるWindowsのCUI機能。ただまあ、使いにくい。
Linuxのコマンドって洗練されているんだなと切に思う。

PowerShell

Windows7、Windows Server 2008 R2あたりから追加されたCUI機能。
コマンドプロンプトよりはるかに使いやすいが、それでも独特のクセがあって使いにくい。

Windows キー + R で「powershell」と打つと起動する青い画面です。

使えるコマンドの一覧は下記コマンドで取得できる。

Get-Command

システム情報を取得するようなコマンドはこんな感じ。

NO取得内容コマンド
1OS情報なさそう
2サービス情報Get-Service
3ユーザ情報なさそう

WMIオブジェクトを除くと意外とシステム情報取得するようなコマンドはないんだな。
探し方が悪いだけかもしれないが。

WMIオブジェクト

WMIオブジェクトはMSによると下記とのこと。

Windows Management Instrumentation (WMI) は、Windows システム管理のための中核となるテクノロジであり、幅広い種類の情報を一貫した方法で公開します。

コマンド一覧は下記のコマンドで取得できる。

Get-CimClass -Namespace root/CIMV2 | Where-Object CimClassName -like Win32* | Select-Object CimClassName

システム情報を取得するコマンドは下記の通り。

NO取得内容コマンド
1OS情報Get-WmiObject Win32_OperatingSystem
2サービス情報Get-WmiObject win32_Service
3ユーザ情報Get-WmiObject win32_UserAccount

なんだかんだこれが一番システム情報の取得にやくに立ちそう。
ただ、これでもダメでレジストリ参照なんかも使う必要が発生する。
レジストリを参照しても項目によってはできなかった記憶が・・・

実際に動かしてみるとわかるけど、似たようなコマンドでも同じ情報はでないし、GUIで出てくる情報と同じ構成となるものもない。
(本当になんでなんだろう・・・。中の人は不便ではないのだろうか)

組み合わせて、それなりに近いものを作るしかないのかなぁ・・・
GUIにはあるのにCUIでとれない情報があると結局、画像で取れっていう人はいるだろうし。
切ないなぁ。

今後、WindowsのGUI画面の内容をコマンドでとれるかの検証をしていきたいと思います。

広告

できるWindows 10 パーフェクトブック 困った!&便利ワザ大全 2021年 改訂6版

価格:1,628円
(2021/6/26 22:06時点)
感想(2件)

コメント

タイトルとURLをコピーしました