'Try/Catch Add-DnsServerResourceRecordA in PowerShell

I want to catch the exception that occurs, when adding a DNS record with Add-DnsServerResourceRecordA in PowerShell with the switch -CreatePTR, but no reverse lookupzone exists.
But there is no error. If I provoke the error a simple menu pops up and informs me about the situation. But independent from the -ErrorAction switch the $error variable does not receive an error. What's my fault?

Thanks for your reply.

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

Thank you!



Solution 1:[1]

In order to use this command in try catch block use below code:

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] returns:

$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

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1