PowerShellを用いた疎通の確認と疎通先の情報取得に役立つコマンド紹介

目次

ネットワーク内の疎通確認といえば?

「コマンドプロンプトでPing飛ばすんでしょ?」というイメージですが、ADから疎通を確認する際にPowerShellでの操作のほうが都合のいい場合もあります。

疎通の確認方法、さらに疎通の確認ついでに疎通先の情報を収集できるコマンドやオプションをご紹介します。

検証環境

今回はシンプルにADサーバーとドメインに参加しているPC(PC名:WIN11-1 IPアドレス:192.168.0.21)での疎通確認を行います。
疎通の確認はADサーバーからPCへ、
OSは、ADにはWindows Server 2022 Datacenter Evaluation、PCにはWindows11Proが搭載されています

基本のPingとオプション

疎通確認の方法で最もよく知られているのはPingコマンドでしょう
Pingの基本的な使い方は Pingの後にIPアドレスもしくはPC名を入力します。

Ping <PC名/IPアドレス>

見慣れた疎通確認の画面ですが、たくさんのPCへの疎通確認が必要な時などは、Pingの後ろに-n 1を入れることでPingの送信を一度で終わらせることができます。

Ping <PC名/IPアドレス> -n 1

同様に-aを挟むと疎通先のPC名も表示されるので、IP以外にPC名も分かっている時は送り先が合っているかの確認にも使えますね。

Ping <PC名/IPアドレス> -a -n 1

Test-Connectionと利点

次にご紹介するのは、Test-Connectionコマンドです。
こちらもPing同様、後ろにIPアドレスかPC名を入力すれば疎通確認を行えます。
「もう疎通確認とれるなら、Pingで十分じゃん」と思われるかもしれませんが、こちらで送ると以下のように表示されます。

Test-Connection <PC名/IPアドレス>

上記のようにプロパティ付きで結果が帰ってくるので、Select-ObjectやCSVファイル化などのパイプラインを介した処理に向いています。
ちなみに前述のPingの-n 1同様、Test-Connection -count 1 とすることで確認を一度で済ませることができます。

Test-Connection <PC名/IPアドレス> -count 1

IPアドレスからPC名、PC名からIPアドレスを探す方法

ここからは疎通確認そのものではないのですが、疎通確認のついでに疎通先の情報収集する際に役立つコマンドをいくつか紹介します。
例えば疎通の可不可を確認したついでPC名を元にIPアドレスを収集したい場合や、IPアドレスからPC名を収集したいときには、Resolve-DnsNameなどが便利です。
PC名を元にIPアドレスを収集したいときはResolve-DnsName <PC名> | Format-Table ipaddressと打ってみましょう。

このようにIPが確認できました。
また、([System.Net.Dns]::GetHostAddresses(‘<PC名>’)).IPAddressToStringも同様にIPアドレスを見つけることができます。

逆のIPアドレスからPC名を収集したいときにはResolve-DnsName <IPアドレス> | Format-Table NameHostと打ってみましょう。

PC名が確認できましたね。
前述のPing -aでもPC名は確認できますが、PS1ファイル内の変数に組み込むときやリスト化の際にはこちらの方が使い勝手が良いでしょう。

IPアドレスからログイン中のユーザーを調べる方法

IPが分かれば疎通先でPCを操作しているのが誰かも確認することができます。
qwinsta /server:<IPアドレス>もしくはquery user /server:<IPアドレス>と入れてみましょう。

このようにユーザー名を取得できました。
ユーザー名が分かれば”Get-ADUser”というコマンドでさらに細かな情報を引っ張ってくることも可能です。
ですが、脱線かつ長くなってしまうので参考サイトのリンクを記載します。

Get-ADUser (ActiveDirectory) | Microsoft Learn

まとめ

Ping以外も活用することで、疎通の確認をまとめて行うツールの作成や稼働しているPCのリスト化などに役立つと思います。
どこかでお役立てくださると幸いです。

この記事が気に入ったら
フォローしてね!

目次
閉じる