2016-07-19 9 views
0

Ich möchte die Ausnahme abfangen, die beim Hinzufügen eines DNS-Eintrags mit Add-DnsServerResourceRecordA in PowerShell mit dem Schalter -CreatePTR auftritt, aber keine Reverse-Lookupzone existiert.
Aber es gibt keinen Fehler. Wenn ich den Fehler provoziere, erscheint ein einfaches Menü und informiert mich über die Situation. Aber unabhängig von der -ErrorAction Schalter die $error Variable erhält keinen Fehler. Was ist meine Schuld?Try/Catch Hinzufügen-DnsServerResourceRecordA in PowerShell

Vielen Dank für Ihre Antwort.

PS C:\Users\xyz>> Add-DnsServerResourceRecordA -Name "test-mwi4" -IPv4Address 1.1.1.1 -CreatePtr -ZoneName contoso.biz -ErrorAction Continue Add-DnsServerResourceRecordA : Failed to create PTR record. Resource record test-mwi4 in zone mn-man.biz on server MNDEMUCDC010 is created successfully, but corresponding PTR record could not be created. At line:1 char:1 + Add-DnsServerResourceRecordA -Name "test-mwi4" -IPv4Address 1.1.1.1 -CreatePtr - ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (test-mwi4:root/Microsoft/...ResourceRecordA) [Add-DnsServerResourceRecordA], CimException + FullyQualifiedErrorId : WIN32 9715,Add-DnsServerResourceRecordA

Vielen Dank!

+0

Wenn Sie sagen, Sie keinen Fehler gesehen haben, was diesen Befehl tat machen? Was war das Ergebnis? – SavindraSingh

+0

Danke für Ihre Antwort. Der A-Record wurde hinzugefügt! – MaxW

+0

In diesem Fall: "$ Fehler [0] .Exception.Message" wird Ihnen die Fehlermeldung geben. Denken Sie daran, dass Sie "-ErrorAction Stop" in der richtigen Reihenfolge verwenden müssen, damit Ihre Ausnahme in den "Catch" -Block fällt. – SavindraSingh

Antwort

0

Um diesen Befehl in Versuch unter Code catch-Block Gebrauch zu verwenden:

Try 
{ 
    Add-DnsServerResourceRecordA -Name "test-mwi4" -IPv4Address 1.1.1.1 -CreatePtr -ZoneName contoso.biz -ErrorAction Stop 
} 
Catch 
{ 
    Write-Host "Error while adding pointer record:`n$($Error[0].Exception.Message)" 
} 

$Error[0] kehrt:

$Error[0] 
Add-DnsServerResourceRecordA : Failed to get the zone information for 
contoso.biz on server HYDLPT487. 
At line:3 char:5 
+  Add-DnsServerResourceRecordA -Name "test-mwi4" -IPv4Address 1.1.1 ... 
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (test-mwi4:root/Microsoft/...Resou 
    rceRecordA) [Add-DnsServerResourceRecordA], CimException 
    + FullyQualifiedErrorId : WIN32 1722,Add-DnsServerResourceRecordA 
+0

Das war auch mein erster Gedanke. Aber wie gesagt, die Variable $ error ist null. Die Ausgabe von Ihrem Snippet ist nur: 'Fehler beim Hinzufügen Zeiger-Datensatz:' – MaxW

+0

Wenn Sie '-ErrorAction Continue' verwenden, wird nichts in $ Error gefangen werden. Stellen Sie nur sicher, dass Sie '-ErrorAction Stop' verwendet haben. – SavindraSingh

+0

Für mich gibt' $ Error [0] 'korrekte Fehlerdetails. – SavindraSingh