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 记录。
这应该可以解决您的问题。
希望对您有所帮助。
我有以下 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 记录。
这应该可以解决您的问题。
希望对您有所帮助。