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

Get-WmiObject doesn't work with IP but with FQDN

我有以下 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

情况: 我在一个 IP 为 192.168.1.1 的 AD 服务器上执行我的脚本。 [AD对所有子网都有访问权限,没有防火墙阻止访问]

问题: 我想查询以下计算机:server1 的 ip 192.168.172.10 然后是:

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。

有没有人知道为什么在某些情况下(百分之五)Get-WmiObject 使用 ip 失败但使用 FQDN?

我搜索了类似的问题,但都是关于 WinRM 的,并且都在使用像 Invoke-Command 这样的命令。在这种情况下,肯定首先需要正确配置 WinRM,但据我了解,Get-WmIObject 不需要 WinRM。 (我没有在所有电脑上做任何配置任务)。

您遇到的问题是因为 反向 DNS 记录

在您的情况下,同一个 IP 可能有多个 RDNS 记录,导致问题时断时续。

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

这应该可以解决您的问题。

希望对您有所帮助。