ping、nslookupなど、昔からあり今もサーバー管理で頻繁に使われるコマンド群には
実は同等の機能を持つPowerShellコマンドレットが用意されています。
・実行環境
Windows 10 + Windows PowerShell 5.1
・ping → Test-Connection
<Test-Connection <ホスト名>>で実行します。
-Quietオプションを使うことでBoolean型の結果のみを取得できます。
◆Test-NetConnection
・ipconfig → Get-NetIPConfiguration (Get-NetIPAddress, Get-NetAdapter)
<Get-NetIPConnection -Detailed>でipconfigとほぼ同等の内容を取得できます。
他にも<Get-NetIPAddress>ではIPアドレス、<Get-NetAdapter>ではNICの情報が取得できます。
◆Get-NetIPConfiguration
◆Get-NetIPAddress
◆Get-NetAdapter
・nslookup → Resolve-DnsName
Resolve-DnsName <ホスト名>で実行します。
もちろんDNSレコードタイプも指定できます。
◆Resolve-DnsName
・tracert → Test-NetConnection
<Test-NetConnection <ホスト名> -Traceroute>で実行します。
◆Test-NetConnection -TraceRoute
ちなみにTest-NetConnectionは-Portオプションを使うことでTCPポートを指定しての疎通確認が出来ます。
こっちの方が使用頻度は高い気がします。(ただしUDPはダメです)
◆Test-NetConnection -Port
・netstat → Get-NetTCPConnection
・route → Get-NetRoute
PowerShellコマンドレットを使うメリットは、既存のコマンドと違い結果がオブジェクトとして出力されることです。
(厳密には、既存のコマンドもPowerShell上で実行した場合String型オブジェクトの配列として出力されます)
オブジェクトをパイプで繋いで後続処理につなげたり、スクリプト化しての複雑な処理が可能になります。