本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-DNSClientCache」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、名前解決を行うDNS(Domain Name Service)のキャッシュデータ(リゾルバキャッシュ)を取得する「Get-DNSClientCache」コマンドレットです。
IPネットワークにおいて、ホスト名からIPアドレスを、またはIPアドレスからホスト名を引くサービスを「DNS(Domain Name Service)」と呼びます。
インターネット環境においてDNSは必要不可欠なサービスとなっていますが、ホストにアクセスするたびに名前解決をDNSサーバに依頼すると、クライアントとDNSサーバ間のトラフィックが増大してしまうため、ネットワーク負荷、DNSサーバの負荷の観点からも好ましいものではありません。
そのため、OS側でメモリ上にDNSサーバからの回答をキャッシュとして一定期間保持し、頻繁に名前解決が行われないようにしています。
「Get-DNSClientCache」は、このキャッシュされた名前解決のデータ(リゾルバキャッシュ)を参照するコマンドレットです。Get-DNSClientCacheコマンドレットは、従来コマンドプロンプトで使用していた「ipconfig」コマンドの「/displaydns」オプション付き実行と同等のものとなります。
Get-DNSClientCache [オプション]
オプション | 意味 |
---|---|
-Entry | リゾルバキャッシュを取得したいホスト名を指定する。省略可能 |
-Type | レコードタイプを指定する。省略可能 |
-Status | ステータス(NoRecords/NotExist/Success)を指定する。省略可能 |
-Section | セクション(Answer/Additional/Authority)を指定する。省略可能 |
-Data | リゾルバキャッシュを取得したいIPアドレスを指定する。省略可能 |
Get-DNSClientCacheコマンドレットをオプションなしで実行すると、プロトコル(IPv4、IPv6)を問わず、コンピュータが保持している全てのリゾルバキャッシュを取得します(画面1)。
Get-DNSClientCache
Get-DNSClientCacheコマンドレットを「-Entry」オプションを指定して実行すると、特定のホスト名のリゾルバキャッシュを取得できます(画面2)。
Get-DNSClientCache -Entry www.microsoft.com
Get-DNSClientCacheコマンドレットを「-Data」オプションを指定して実行すると、特定のIPアドレスのリゾルバキャッシュを取得できます(画面3)。
Get-DNSClientCache -Data 23.35.196.254
Get-DNSClientCacheコマンドレットを「-Type」オプションを指定して実行すると、指定したレコードタイプのリゾルバキャッシュを取得できます。指定可能なレコードタイプは「A」「AAAA」「CNAME」「MX」「NS」「PTR」「SOA」「SRV」の8種類です。以下の実行例、CNAMEレコードのみを取得しています(画面4)。
Get-DNSClientCache -Type CNAME
なお、「ipconfig」コマンドに「/flushdns」オプションを指定することでできていたリゾルバキャッシュの消去は、Get-DNSClientCacheコマンドレットではできません。リゾルバキャッシュの消去は、「Clear-DnsClientCache」コマンドレットで行います。
Microsoft MVP for Cloud and Datacenter Management(2012-2023)。現業の傍ら、コミュニティーイベントでの登壇や著作にてMicrosoftテクノロジーに関する技術情報の発信、共有を続けている。ネットワークやハードウェアといった物理層に近いところが大好きな、昔ながらのインフラ屋さん。得意技はケーブル整線。近著は『詳解! Windows Server仮想ネットワーク』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
Server & Storage 記事ランキング