PowerShell probleem met DNS script

Pagina: 1
Acties:

  • DaVincythe2nd
  • Registratie: April 2009
  • Laatst online: 15-02-2021
Hallo,

Ik heb een script gemaakt voor het aanmaken van een zone en een Arecord in DNS. Hij lijkt dit prima te doen maar toch geeft hij elke keer een error op het einde.

code:
1
2
3
Exception calling "CreateInstanceFromPropertyData" : "Generic failure "
At C:\dnsscript2.ps1:31 char:36
+ $rec.CreateInstanceFromPropertydata( <<<< $server, $ZoneName, $RecordName, $class, $ttl, $ip)


Ik heb rondgezocht maar kon niets vinden hierover. Wat veroorzaakt deze error en wat moet ik aanpassen in mijnn script om het te laten werken? Als ik het zone aanmaken deel weglaat en alleen de code voor het maken van een A-record heb geeft hij de error nog steeds weer. In de event-log staat geen fout.

Alvast bedankt. Hier is mijn script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Param
( [String] $ZoneName = $(Throw "You must enter a  zone name"),
[String] $RecordName = $(Throw "You must enter a record name"),
[string] $ip = $(Throw "You must enter an ip address")
)

$zone=get-wmiobject -namespace root\microsoftDNS -class MicrosoftDNS_Zone -comp SERVERNAAM -filter "name='$zonename'"
if (!$zone) {
 $Type = 0
# AD Integration (only valid on Active Directory Domain Controllers)
$IsDSIntegrated = $False
# FileName (Optional and only valid for zones with AD integrated set to $False)
# File must exist if specified and have size greater than 0b.
$Filename = $Null
# Master IP (Optional and only valid for Secondary, Stub and Forwarder zones)
$MasterIP = $Null
# AdminEmail (Optional and only valid for Primary zones, writes into SOA record)
$AdminEmail = "domains.email.nl"
 
$NewZone = ([WMIClass]"\\SERVERNAAM\root\MicrosoftDNS:MicrosoftDNS_Zone").CreateZone( `
  $ZoneName, $Type, $IsDSIntegrated, $FileName, $MasterIP, $AdminEmail)
}


$rec = [WmiClass]"\\SERVERNAAM\root\MicrosoftDNS:MicrosoftDNS_AType"
$rec | gm 
$server = "SERVERNAAM"
$class = 1
$ttl = 3660

$rec.CreateInstanceFromPropertydata($server, $ZoneName, $RecordName, $class, $ttl, $ip)

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
PowerShell topics horen in WSS dus

PRG->WSS

Pas overigens ook je post even aan met [code] tags ( Hoe post je code? / Hoe gebruik je de code tag? ). Dat maakt het wat leesbaarder

[ Voor 33% gewijzigd door Woy op 17-04-2009 14:44 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Ik heb geen concreet idee, maar je cast nu een string naar een WmiClass, kan dat wel op die manier of moet je die laten creeeren via een andere Get-WmiObject ?

Anders zou je eens kunnen proberen om een A-record uit te lezen, en vervolgens de properties die je krijgt van het A-record te vergelijken met de properties die meegeeft om het A-record te maken om te zien of je daar een vedrschil in hebt?

  • DaVincythe2nd
  • Registratie: April 2009
  • Laatst online: 15-02-2021
Hij geeft alle properties goed mee dus het uiteindelijke resultaat lijkt niet fout te zijn. Zou je die scriptregels die je bedoelt met Get-WmiObject kunnen geven? Ik ben behoorlijk nieuw in de scriptwereld.

[ Voor 15% gewijzigd door DaVincythe2nd op 20-04-2009 09:05 ]


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Het was meer een algemene vraag van moet dat niet op die manier, ik heb geen concreet voorbeeld in Powershell om DNS entries te wijzigen :)

  • DaVincythe2nd
  • Registratie: April 2009
  • Laatst online: 15-02-2021
Ik heb het al uitgevogeld. Bij powershell typte ik als pareameter in -recordname test
maar dit moest bijvoorbeeld wezen:
-recordname www.test.nl. Dan doet hij het en maakt hij een mappenstructuur aan. (nl\$recordname)

Eens kijken of het nu allemaal goed is.

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Maar een mappen structuur betekent dat je een nieuwe zone gemaakt hebt :)

  • DaVincythe2nd
  • Registratie: April 2009
  • Laatst online: 15-02-2021
Wat hij doet is het volgende:

als parameter invoeren proberen.oke maakt hij in de zone die je aanmaakt de map oke aan met het A-record proberen. Als je daarna nogeenskijken.oke invoert zal hij in de map oke die in de zone staat nog een A-record aanmaken.

Dus het is goed nu. :)

[ Voor 4% gewijzigd door DaVincythe2nd op 20-04-2009 10:47 ]

Pagina: 1