Resolve-DNSName 获取错误以分隔文件

Resolve-DNSName get errors to separate file

我正在尝试将所有错误放到一个单独的文件中,以便我们稍后可以清理 DNS srv。

我想要的是得到错误信息:

+ CategoryInfo : ResourceUnavailable: (bonjour.Domainname.com:String) [Resolve-DnsName], Win32Exception
+ FullyQualifiedErrorId : DNS_ERROR_RCODE_NAME_ERROR,Microsoft.DnsClient.Commands.ResolveDnsName
Resolve-DnsName : Domainname.com : DNS-namnet does not exist

以单独的文件结束,这可能吗?

我现在正在使用这个脚本:

$path = ".\domain.txt"
$dnsserver = @('DNS-Srv1', 'DNS-Srv2' , 'DNS-Srv3')
$mxdomain = Get-Content $path
foreach ($domain in $mxdomain) {
Resolve-DnsName -Name $domain -Type MX -Server $dnsserver | select Name,Type,NameExchange } ```

您可以使用Try Catch来处理异常。在 Catch 块中,current error can be accessed using $_ and the object will of of type ErrorRecord. It has a ToString method 可用于获取错误记录的字符串表示形式。

try {
    Resolve-DnsName -Name www.bing122222.com -ErrorAction Stop
}
catch {
    $error_message = $_.ToString()
    # this will print 'www.bing122222.com : DNS name does not exist'
    Write-Host $error_message 
}