Get-WmiObject不适用于IP但使用FQDN

时间:2017-01-24 15:51:01

标签: powershell windows-7 windows-server-2012 powershell-v4.0

我有以下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。 (我没有在所有计算机上完成任何配置任务。)

1 个答案:

答案 0 :(得分:1)

您面临的问题是反向DNS记录

在您的情况下,您可能有多个 RDNS 记录用于相同的 IP ,导致问题是间歇性的。

检查反向查找区域和相应的 PTR 记录。

那应该可以解决你的问题。

希望它有所帮助。