Powershell 未捕获WIN32 cim异常
我对以下Powershell 未捕获WIN32 cim异常,powershell,exception,exception-handling,dns,Powershell,Exception,Exception Handling,Dns,我对以下FullyQualifiedErrorId:WIN32 9741有问题 我正在执行以下操作,由于某些原因,这没有捕获错误。我似乎在网上找不到太多的细节,想知道是否有人有什么想法 $ErrorActionPreference = "Stop"; try { Get-DnsServerResourceRecord -ZoneName testerror -Name testst } catch [Exception] { Write-Output $_.Exception.M
FullyQualifiedErrorId:WIN32 9741
有问题
我正在执行以下操作,由于某些原因,这没有捕获错误。我似乎在网上找不到太多的细节,想知道是否有人有什么想法
$ErrorActionPreference = "Stop";
try
{
Get-DnsServerResourceRecord -ZoneName testerror -Name testst
}
catch [Exception]
{
Write-Output $_.Exception.Message
}
只有当
-ZoneName
的计算结果为true
且-Name
的计算结果为false时,才会发生未处理的异常。如果-ZoneName
为false
,则会捕获异常 我参加聚会有点晚了,但是那些仍在为这个问题挣扎的人,我找到了一个解决办法():
关键是参数“-ErrorAction Stop”,并引用源代码:
但是,为什么[Microsoft.Management.Infrastructure.CimException]会出现异常
]消息出现了吗?因为ErrorAction首选项设置为“继续”:
只需使用catch{..}
而不使用[Exception]
就可以了,但同样的问题仍然存在,并且异常在两个方面都出现了:无法在dc01服务器上的MyZone区域中获取was记录。
对于现有区域中不存在的记录,在服务器dc01上找不到区域blubb。
用于不存在的区域。第二个仅适用于我
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
}