*PowerShell DNS [#c7a7e869]
#enull{{
&tag(PowerShell,DNS,DnsShell,レコード,ゾーン);
}}
#contents

**PowerShellにてDNSを扱えるようにする [#o5acecd7]
+DnsShellをCodePlexからダウンロードする。(初めての場合のみ)
--http://dnsshell.codeplex.com/
--動作確認時バージョンは0.4.2
+PowerShellのモジュールパスにダウンロード(して解凍)したフォルダをコピー(移動)する。(初めての場合のみ)
 Copy-Item -Path "C:\Users\Administrator\Desktop\DnsShell" -Destination (Get-ChildItem -Path Env:\PSModulePath).Value -Recurse
+モジュールをインポートする。
 PS> Import-Module -Name DnsShell

**コマンドレット一覧 [#re1e0622]
 Get-Command -Module DnsShell | Select-Object -Property Name
|カテゴリ|コマンドレット名|||||||h
|消去|Clear-DnsCache|||||||
|[[取得>#v9134146]]|Get-ADDnsPartition|Get-ADDnsRecord|Get-ADDnsZone|Get-Dns|[[Get-DnsRecord>#zc6256b7]]|Get-DnsServer|[[Get-DnsZone>#vfd6265e]]|
|[[作成>#b654f3a3]]|New-ADDnsRecord|New-ADDnsZone|[[New-DnsRecord>#q37c1199]]|[[New-DnsZone>#zd9fc4a6]]||||
|[[削除>#b74f7675]]|Remove-ADDnsRecord|Remove-ADDnsZone|[[Remove-DnsObject>#qef78f5e]]|||||
|リセット|Reset-DnsZoneType|||||||
|再開|Resume-DnsZone|||||||
|設定|Set-ADDnsRecord|Set-ADDnsZone|Set-DnsRecord|Set-DnsServer|Set-DnsZone|Set-DnsZoneTransfer||
|起動・停止|Start-DnsScavenging|Start-DnsService|Stop-DnsService|Suspend-DnsZone||||
|更新|Update-DnsZone|Update-DnsZoneFile||||||

**取得 [#v9134146]
***レコードを取得する [#zc6256b7]
-"testzone.local"ゾーンの全てのレコードを取得する
 PS> Get-DnsRecord -ZoneName testzone.local
***任意の種別のレコードを取得する [#k42c85b2]
-"testzone.local"ゾーンのAレコード一覧を取得する
 PS> Get-DnsRecord -ZoneName testzone.local -RecordType A

***ゾーン情報を取得する [#vfd6265e]
-"testzone.local"ゾーンの情報一覧を取得する
 PS> Get-DnsZone -Name testzone.local | Format-List -Property *
-testzone.localゾーンのゾーン種別(プライマリorスレーブ)を取得する
 PS> (Get-DnsZone -Name testzone.local).ZoneType
-"1.168.192.in-addr.arpa"ゾーンが逆引きゾーンであるかどうかを取得する
 PS> (Get-DnsZone -Name 1.168.192.in-addr.arpa).Reverse


**作成 [#b654f3a3]
***レコードを作成する [#q37c1199]
-ホスト"server1.testzone.local"について、IPアドレスを"192.168.1.100"とするAレコードを作成する
 PS> New-DnsRecord -ZoneName testzone.local -RecordType A -Name server1 -IPAddress 192.168.1.100
-IPアドレス"192.168.1.100"について、ホスト名を"server1.testzone.local"とするPTRレコードを作成する
 PS> New-DnsRecord -ZoneName 1.168.192.in-addr.arpa -RecordType PTR -Name 100 -Hostname server1.testzone.local
-ホスト"server1.testzone.local"の別名を"sv.testzone.local"とするCNAMEレコードを作成する
 PS> New-DnsRecord -ZoneName testzone.local -RecordType CNAME -Name sv -HostName server1.testzone.local
-ホスト"mx.testzone.local"で優先度"10"とするMXレコードを作成する
 PS> New-DnsRecord -ZoneName testzone.local -RecordType MX -Name mail -TargetName mx.testzone.local -Preference 10
-ホスト"ns.testzone.local"を"testzone.local"ゾーンのネームサーバとして指定するNSレコードを作成する
 PS> New-DnsRecord -ZoneName testzone.local -RecordType NS -Hostname ns.testzone.local
-「"testzone.local"ゾーンからメール発信することはない」と宣言するSPFレコードを作成する
 PS> New-DnsRecord -ZoneName testzone.local -RecordType TXT -Text "v=spf1 -all~"
-「"testzone.local"では192.168.1.10のサーバからのみメールが発信される」と宣言するSPFレコードを作成する
 PS> New-DnsRecord -ZoneName testzone.local -RecordType TXT -Text "v=spf1 +ip4:192.168.1.10 ~all"

***ゾーンを作成する [#zd9fc4a6]
-"testzone.local"という名前のプライマリDNSゾーンを作成する
 PS> New-DnsZone -ZoneName testzone.local -ZoneType Primary
-SOA責任者を"soarp"と指定して、"testzone.local"という名前のプライマリDNSゾーンを作成する
 PS> New-DnsZone -ZoneName testzone.local -ZoneType Primary -ResponsiblePerson soarp
-"testzone.local"という名前のActiveDirectory統合DNSゾーンを作成する
 PS> New-DnsZone -ZoneName testzone.local -ZoneType Primary -ADIntegrated
-サーバ(IPアドレス:192.168.1.1)が管理する"testzone.local"という名前のプライマリDNSゾーンに対する、セカンダリDNSゾーンを作成する
 PS> New-DnsZone -ZoneName testzone.local -ZoneType Secondary -MasterServer 192.168.1.1
-"1.168.192.in-addr.arpa"という名前の逆引きDNSゾーンを作成する
 PS> New-DnsZone -ZoneName 1.168.192.in-addr.arpa -ZoneType Primary
-"testzone.local"ゾーン(ドメイン)についての問い合わせを、別のサーバ(IPアドレス:192.168.1.1)にフォワードする条件付きフォワーダを作成する
 PS> New-DnsZone -ZoneName testzone.local -ZoneType Forwarder -MasterServer 192.168.1.1


**削除 [#b74f7675]
***レコードを削除する [#qef78f5e]
-"1.168.192.in-addr.arpa"ゾーンから"192.168.1.100"のPTRレコードを削除する
 PS> Get-DnsRecord -ZoneName 1.168.192.in-addr.arpa -Name 100 | Remove-DnsObject
-"1.168.192.in-addr.arpa"ゾーンから"192.168.1.100"のPTRレコードを確認なしに削除する
 PS> Get-DnsRecord -ZoneName 1.168.192.in-addr.arpa -Name 100 | Remove-DnsObject -Force

***ゾーンを削除する [#ubcde1b6]
-"testzone.local"という名前のDNSゾーンを削除する
 PS> Get-DnsZone -Name testzone.local | Remove-DnsObject
-"testzone.local"という名前のDNSゾーンを確認なしに削除する
 PS> Get-DnsZone -Name testzone.local | Remove-DnsObject -Force

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS