我有以下PowerShell脚本。
代码:
$User = "DOMAIN\user"
$PWord = ConvertTo-SecureString -String "somePassword" -AsPlainText -Force
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $User, $PWord
$query=...
Get-WmiObject -Computer 192.168.172.10 -Class Win32_ComputerSystem -ErrorAction Stop # Fails
Get-WinEvent -FilterXML $query -ComputerName 192.168.172.10 -Credential $Credential -ea stop # Works
情况:我在一台AD服务器上使用类似192.168.1.1的IP并执行我的脚本。 [AD具有所有子网的访问权限,并且没有防火墙阻止访问]
问题:我想查询以下计算机:server1 with ip 192.168.172.10 then this:
Get-WmiObject -Computer 192.168.172.10 -Class Win32_ComputerSystem -ErrorAction Stop # Fails
失败并显示“RPC-Server is unavailable”错误,但是:
Get-WmiObject -Computer server1 -Class Win32_ComputerSystem -ErrorAction Stop # Works
有效,这也有效:
Get-WinEvent -FilterXML $query -ComputerName 192.168.172.10 -Credential $Credential -ea stop # Works
服务器与AD属于同一个域,Windows防火墙用于禁用测试目的。 而使用ip 192.168.172.11的不同服务器“server2”正在使用FQDN和ip双向工作。
有没有人知道为什么在某些情况下(hundrets中有5个)Get-WmiObject因ip失败但与FQDN一起工作?
我搜索了类似的问题,但都是关于WinRM并使用Invoke-Command之类的命令。首先,WinRM首先需要在这种情况下正确配置,但据我所知,Get-WmIObject不需要WinRM。 (我没有在所有计算机上完成任何配置任务。)
答案 0 :(得分:1)
您面临的问题是反向DNS记录。
在您的情况下,您可能有多个 RDNS 记录用于相同的 IP ,导致问题是间歇性的。
检查反向查找区域和相应的 PTR 记录。
那应该可以解决你的问题。
希望它有所帮助。