IT関連

Windowsの管理に役立つPowerShellコマンド

おはようございます。こんにちは。こんばんは。
ミッド(@mid_v_lab)です

ふと思い立ったので、個人的にWindowsの管理をするときに使ったら便利なんじゃないかな~と思うPowerShellのコマンドをご紹介します。

※PowerShellのコマンドではないものを含みますが、PowerShellで実行することを想定しています

紹介するコマンド
  • hostname
  • winver
  • ipconfig
  • Get-Volume
  • systeminfo.exe

個人利用というよりは、企業などでたくさんのPC端末を管理されている方を想定しています。個人でも利用できるコマンドもありますので、是非見ていってください。

PowerShellで実行する利点として、このコマンド結果をこねくり回して「メール通知」したり、「ログとして保存」したり、「トラブル時のシステム情報採取」したりできるからです。

では、いってみましょう!

hostname

このコマンドはパソコンのホスト名を返すコマンドです。

コンピュータ名と言っても差し支えないですね。

実行すると下記のような実行結果になります。

PS C:\Users> hostname
<コンピュータ名>

これだけなんですけど、実は結構重要です。

個人のパソコン1台だけしかない環境と違って、企業では個人端末、運用端末、会議室端末、一時的に借りた端末、モバイル端末などなど複数のパソコンを利用する場合があります。

そんなときに、「このパソコン未対応だから対応してね」と連絡すると、

体感50%以上の人が自分が普段使っているパソコンのコンピュータ名を認識していない

という事実に気づきます。(そういう人しか問い合わせしてこないのかも・・)

こっちが指摘したパソコン、向こうが確認しているパソコン、これが全く別物の可能性が大いにあるので、

コンピュータ名は最初に確認した方が良いよねということで、このコマンド利用がオススメです。

GUIで確認する場合

スタートから、設定を開き、システムの詳細情報を選択して、

「デバイス名」を確認。

winver

このコマンドはWindows10のバージョン情報を返すコマンドです。

Windows10のバージョンサイクルは早く、本人が気付かない内にサポート終了してセキュリティパッチが配布されていない状況というのがよくあります。

僕の、私のWindowsは最新だ!と思っていても、「残念、あなたのWindowsはサポート終了してしまいました!」という状態になっていないかを確認しましょう!

実行すると下記のような実行結果になります。

PS C:\Users> winver

※下記のウインドウが表示されます

結果の「バージョン」を見れば、サポート内のバージョンかどうか「OSビルド」を見れば最新のセキュリティパッチが適用されているかが分かります。

サポート内のバージョンなのに、OSビルドが最新のビルドより低くく、「最新の状態です」と嘘つかれる人は、下記のページを参考にしてみてください。

ipconfig

このコマンドはパソコンのネットワーク情報を返すコマンドです。

IPアドレスだったり、設定されているDNS、デフォルトゲートウェイなどですね。

実行すると下記のような実行結果になります。

PS C:\Users> ipconfig

Windows IP 構成

イーサネット アダプター イーサネット:

接続固有の DNS サフィックス . . . . .:
リンクローカル IPv6 アドレス. . . . .: fe80::1db1:740d:85c9:ea9b%4
IPv4 アドレス . . . . . . . . . . . .: 192.168.100.115
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.100.1

(略)

なんか色々出てきますけど、「IPv4 アドレス」あたりにきちんとしたIPアドレスが割り振られているかを確認します。(169.255.~~みたいなのは、IPアドレスが取れてません)

ipconfigだけだとDNSとかDHCPなどの詳細が取れないので、「ipconfig /all」で「/all」のオプションを付けるとより詳細が表示されますので、基本は「/all」を付けておくのがいいと思います。

PS C:\Users> ipconfig /all

Windows IP 構成

ホスト名. . . . . . . . . . . . . . .: <コンピュータ名>
プライマリ DNS サフィックス . . . . .:
ノード タイプ . . . . . . . . . . . .: ハイブリッド
IP ルーティング有効 . . . . . . . . .: いいえ
WINS プロキシ有効 . . . . . . . . . .: いいえ

イーサネット アダプター イーサネット:

接続固有の DNS サフィックス . . . . .:
説明. . . . . . . . . . . . . . . . .: Realtek PCIe GbE Family Controller
物理アドレス. . . . . . . . . . . . .: 3C-7C-3F-51-91-5C
DHCP 有効 . . . . . . . . . . . . . .: はい
自動構成有効. . . . . . . . . . . . .: はい
リンクローカル IPv6 アドレス. . . . .: fe80::1db1:740d:85c9:ea9b%4(優先)
IPv4 アドレス . . . . . . . . . . . .: 192.168.100.115(優先)
サブネット マスク . . . . . . . . . .: 255.255.255.0
リース取得. . . . . . . . . . . . . .: 2021年6月26日 17:01:50
リースの有効期限. . . . . . . . . . .: 2021年7月3日 17:01:49
デフォルト ゲートウェイ . . . . . . .: 192.168.100.1
DHCP サーバー . . . . . . . . . . . .: 192.168.100.1
DHCPv6 IAID . . . . . . . . . . . . .: 205290559
DHCPv6 クライアント DUID. . . . . . .: 00-01-00-01-27-5C-01-9F-3C-7C-3F-51-91-5C
DNS サーバー. . . . . . . . . . . . .: fe80::a2d8:7ff:fe8e:5a81%4
192.168.100.1
NetBIOS over TCP/IP . . . . . . . . .: 有効

(略)

なんと「/all」と付けると、①のhostnameも一緒に出してくれるので、なんかネットワーク怪しいな~~と思ったら、こちらのコマンドでコンピュータ名もネットワークの状態も確認できちゃいます。

素敵!

ネットワークの知識がないと、このコマンド結果見ても?という感じですが、基本を知っている人からすると、結構情報が入ってきますね。

Get-Volume

このコマンドはパソコンのディスク領域の情報を返すコマンドです。

パソコンの空き容量をコマンドで知りたい!ってときに利用します。

実行すると下記のような実行結果になります。

PS C:\Users> Get-Volume

※綺麗に表現できなかったので、スクショにします(無念

「Size」に全体容量、「SizeRemaining」に空き容量が表示されます。

どっちかというと、パソコンよりサーバ側での利用が多いのかなと思います。

なにかしらの理由(認証エラー大量に吐いている等)で、ログファイルがめちゃめちゃ増えて、ディスク容量が枯渇してシステムダウン。

本当にあった怖い話ですね。(笑えない

パソコンならいざ知らず、サーバのディスク容量は定期的に監視しておくことをオススメします。

ディスク容量は日々増えていくと思いますが、その増え方が異常なのか正常なのかを判断するにも、ある程度の情報は必要ですし。

systeminfo.exe

このコマンドはパソコンのシステム情報を返すコマンドです。

多方面からトラブルを切り分けるのに、「とにかく情報が欲しい!」そんなときに役にやつコマンドです。

実行すると下記のような実行結果になります。

PS C:\Users> systeminfo.exe

ホスト名: <コンピュータ名>
OS 名: Microsoft Windows 10 Home
OS バージョン: 10.0.19042 N/A ビルド 19042
OS 製造元: Microsoft Corporation
OS 構成: スタンドアロン ワークステーション
OS ビルドの種類: Multiprocessor Free
登録されている所有者: *****
登録されている組織: N/A
プロダクト ID: *******
最初のインストール日付: 2020/12/04, 23:37:33
システム起動時間: 2021/06/16, 8:20:59
システム製造元: Thirdwave Corporation
システム モデル: XC
システムの種類: x64-based PC
プロセッサ: 1 プロセッサインストール済みです。
[01]: Intel64 Family 6 Model 165 Stepping 5 GenuineIntel ~2904 Mhz
BIOS バージョン: American Megatrends Inc. 9006, 2020/09/04
Windows ディレクトリ: C:\Windows
システム ディレクトリ: C:\Windows\system32
起動デバイス: \Device\HarddiskVolume2
システム ロケール: ja;日本語
入力ロケール: ja;日本語
タイム ゾーン: (UTC+09:00) 大阪、札幌、東京
物理メモリの合計: 65,456 MB
利用できる物理メモリ: 50,208 MB
仮想メモリ: 最大サイズ: 75,184 MB
仮想メモリ: 利用可能: 57,277 MB
仮想メモリ: 使用中: 17,907 MB
ページ ファイルの場所: C:\pagefile.sys
ドメイン: WORKGROUP
ログオン サーバー: *****
ホットフィックス: 14 ホットフィックスがインストールされています。
[01]: KB5003254
[02]: KB4534170

(略)

長い!

今までご紹介してきた①~③の情報も含みつつ、システムモデルやホットフィックス(パッチ適用情報)などの情報がコミコミマシマシって感じです。

ソフトウェアベンダーに「こんな不具合が発生してて~」と問い合わせすると、このコマンド結果か、このコマンド結果に属する情報の提供を求められることが結構あります。

「このbatの実行結果を送ってください」という中にも、含まれていることがよくありますね。

サポートからのbatファイルの中身みるの結構面白いですし、タメになるのでオススメです。「ほ~、このコマンド使ってるのか。こういう条件式でこういう構造が~~」と個人的には分析します。

分かりやすい既知のエラーは、「あ~はいはい、それですね」で終わるんですが、見たことない・想定していない・聞いたことがない事象に関しては、

システムの情報」「影響範囲」「共通点」などを調査し切り分ける必要があり、

この「システムの情報」を、ユーザの思い込み情報ではなくて、システム君自身が出してくれた信頼できる情報を得るために、このコマンドが必要です。


Windowsの管理に役立つコマンドのご紹介でした。

欲しい情報がGETできれば、あとはPowerShellでなんやかんやして、自分の思い描く情報に加工することが可能です。

調べると色々な情報が取得できるので、なんやかんやしてみてください。

ではでは

にほんブログ村 サラリーマン日記ブログ IT系サラリーマンへ
PVアクセスランキング にほんブログ村