Powershell Get-Process: Es konnte keine Verbindung zum Remote-Computer hergestellt werden


7

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 -computernameProzess direkt funktioniert, da er in einem anderen Skript fehlschlägt, das von anderen verwendet wird

Antworten:


2

Ich gab schließlich auf und schrieb ein neues Skript, das Folgendes verwendet, anstatt Get-Processdirekt aufzurufen :

invoke-command -ComputerName Win2012r2 -ScriptBlock {param($procName) Get-Process -Name $processName} -ArgumentList $ProcName

Sollte es nicht seinparam($processName)
Christian

2

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.


2
Wie in der Frage erwähnt, wird bestätigt, dass der Remote-Registrierungsdienst ausgeführt wird. Vielen Dank
StormeHawke

1

-ComputerNamein Get-Processverwendet 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-Processauch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.

Invoke-CommandVerwendet WinRM. Als Sie Ihren Code geändert haben, um Invoke-Command zu verwenden, hat Ihr Skript funktioniert.


1

Versuchen Sie stattdessen Folgendes:

get-wmiobject -class win32_process -computername pcname -filter "Name = 'procname'"


0

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.


Es wurde versucht, die Firewall bereits zu deaktivieren, und der
Aufrufbefehl

Ich nehme an, der Server ist Win2012R2 (daher der Name), aber was ist der Client? Haben Sie versucht, die PS-Konsole mit "Als Administrator ausführen" zu starten? Gibt es irgendetwas in den Ereignisprotokollen an beiden Enden? Besonders im Sicherheitsprotokoll des Servers?
DarkMoon

0

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


Ja, ich habe die Maschine ohne Probleme angerufen. Auch wie in der Frage erwähnt, funktioniert der Aufrufbefehl, sodass der Tag nicht das Problem sein kann. Wenn ich eine IP-Adresse für den Abruf angeben möchte, schlägt dies immer noch fehl.
StormeHawke
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.