Ich habe jetzt seit ein paar Tagen damit zu kämpfen.
Ich erhalte die folgende Fehlermeldung:
PS C:\> get-process -ComputerName Win2012r2
get-process : Couldn't connect to remote machine.
At line:1 char:1
+ get-process -ComputerName 10.10.1.54
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-Process], InvalidOperationException
+ FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.PowerShell.Commands.GetProcessCommand
Ich habe bestätigt, dass der Remoteregistrierungsdienst auf dem Server ausgeführt wird (ich habe auch versucht, ihn neu zu starten).
Darüber hinaus habe ich eine benutzerdefinierte Firewall-Regel erstellt, um RCP-Verbindungen an den Ports 5985 und 5986 gemäß /programming/22357063/get-process-to-remote-computer-doesnt-work-but-invoke- zuzulassen. Befehl tut
Ich habe auch überprüft, ob die Benutzernamen pro Powershell Get-Process keine Verbindung zum Remotecomputer herstellen können
Hinweis
invoke-command -ComputerName Win2012r2 -ScriptBlock {Get-Process}
funktioniert gut, aber ich muss wirklich dafür sorgen, dass der get-process -computername
Prozess direkt funktioniert, da er in einem anderen Skript fehlschlägt, das von anderen verwendet wird
quelle
param($processName)
Ich hatte einen ähnlichen Fehler, als ich anfing, mir PS2 auf dem Win7-Client beizubringen, der LocalHost testet. Ich habe es durch Starten des Remote-Registrierungsdienstes behoben.
quelle
-ComputerName
inGet-Process
verwendet RPC, nicht WinRM. WinRM verwendet 5985 und 5986, nicht RPC.RPC-Ports sind standardmäßig dynamisch.
Überprüfen Sie die "Get-Help" von
Get-Process
.-ComputerName
Dieser Parameter basiert nicht auf Windows PowerShell-Remoting. Sie können den Parameter ComputerName von verwenden,Get-Process
auch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.Invoke-Command
Verwendet WinRM. Als Sie Ihren Code geändert haben, um Invoke-Command zu verwenden, hat Ihr Skript funktioniert.quelle
Versuchen Sie stattdessen Folgendes:
get-wmiobject -class win32_process -computername pcname -filter "Name = 'procname'"
quelle
Das einzige, woran ich denken kann, ist, dass entweder das Konto, unter dem Sie dies ausführen, keine Administratorrechte für das Ziel (Win2012r2) hat oder dass die Firewall es blockiert. Deaktivieren Sie die Firewall vollständig, um diese zu testen.
quelle
Haben Sie überprüft, ob Ihre DNS-Auflösung funktioniert? Versuchen Sie möglicherweise nslookup, um zu überprüfen, ob Sie die richtige IP-Adresse festlegen.
Schauen Sie sich diesen Beitrag an. Dies scheint eine Antwort auf Ihr Problem zu sein. Schalten Sie die Firewall auf beiden Systemen aus und verwenden Sie get-process. Wenn es dann funktioniert, wissen Sie, dass Sie die in diesem Beitrag erwähnten Ports öffnen müssen.
/programming/22357063/get-process-to-remote-computer-doesnt-work-but-invoke-command-does
quelle