没有捕获WIN32 cim异常

时间:2016-06-20 20:45:09

标签: powershell exception exception-handling dns

我遇到以下FullyQualifiedErrorId: WIN32 9741的问题。

我正在执行以下操作,由于某种原因,这并没有发现错误。我似乎无法在网上找到太多细节,并且想知道是否有人有任何想法。

$ErrorActionPreference = "Stop";

try
{
   Get-DnsServerResourceRecord -ZoneName testerror -Name testst
}
catch [Exception]
{
    Write-Output $_.Exception.Message
}

仅当-ZoneName评估为true-Name评估为false时,才会发生未处理的例外。如果-ZoneNamefalse,则会捕获异常。

1 个答案:

答案 0 :(得分:0)

我参加聚会有点晚了,但是仍然在这个问题上挣扎的人们找到了解决方法(Credit to here):

try{
    Get-DnsServerResourceRecord -ZoneName "your.domain.com" -Name $NewDNSRecordResourceName -ErrorAction Stop
}
catch [Microsoft.Management.Infrastructure.CimException]{
        $error[0].Exception.GetType().FullName
        Write-Host "DNS record does not exist"
}
catch{
#Do something for the rest of the exceptions
}

关键是参数“ -ErrorAction Stop”并引用源:

  

但是,为什么[Microsoft.Management.Infrastructure.CimException   ]消息出现?因为ErrorAction首选项设置为Continue: