понедельник, 26 декабря 2011 г.

Работа с DNS с помощью PowerShell.

На полноценный пост конечно не тянет, но может быть кому-нибудь будет полезно.

Недавно я с удивлением обнаружил что работа с DNS с помощью PowerShell почти никак не реализовано. Точнее единственный приличный вариант, найденный мной, это работа через WMI.

Итак, для создания DNS записи A-типа можно выполнить нижеследующий скрипт :
#Создание записи в DNS
$OwnerName = "Server.domainname";
$IPAddress = "10.10.10.1";

$DnsServerName = "DNSserver.domainname";
$ContainerName = " domainname ";
$RecordClass = "1";
$TTL = "3600";


$dnsAType = [wmiclass]"\\ DNSserver.domainname\root\MicrosoftDNS:MicrosoftDNS_AType"
$dnsAType.CreateInstanceFromPropertyData($DnsServerName, $ContainerName, $OwnerName, $RecordClass, $TTL, $IPAddress)
А так же скрипт для удаления DNS записи:

$ServerName = Read-Host "Введите имя сервера";
#$ServerFullName = "$ServerName" + ".domainname";
$FilterValue = "OwnerName='" + "$ServerName" + ".domainname'";
Get-WmiObject -namespace ".domainname\MicrosoftDNS" -class MicrosoftDNS_AType -ComputerName rccf.ru -Filter "$FilterValue" | Remove-WmiObject
Ссылки по теме: 1 и 2 и 3