次のPowerShellスクリプトがあります。Get-WmiObjectはIPではなくFQDNで動作します
コード:
$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
状況:私は192.168.1.1のようなIPとADサーバ上だと私のスクリプトを実行します。 [ADは、すべてのサブネットに対するアクセス権を持っており、アクセスをブロックするファイアウォールがない]
問題:私は、次のコンピュータを照会する:IP 192.168.172.10を持つサーバー1は、この:
Get-WmiObject -Computer 192.168.172.10 -Class Win32_ComputerSystem -ErrorAction Stop # Fails
がで失敗が"RPC-Serverは使用できません" というエラーが、この:
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はあなたが返すと思う名前を返すことは確かですか? –
@Bill_Stewartはい、DNSは正常に動作しています。 Pingは正しいIPを返し、Get-WmiObject -Computer server1 -Class Win32_ComputerSystem -ErrorAction Stopを使用してFQDNを使用している場合も返されます。 正しいサーバー(サーバー名とドメインが正しい)を取得しています。 RDNSレコードを確認します。 – PESP
DNSが機能していないかどうか尋ねなかった。私はそれがあなたが思っていた名前を返すかどうか尋ねていた。どうやら、あなたの著しい答えに基づいてそうではなかったようです。 –