Ich versuche, es Get-WinEvent
auf einem Remote-PC auszuführen psexec
, erhalte jedoch die folgende Fehlermeldung:
PS C:\> psexec \\pc28 Get-WinEvent -?
Starting Get-EventLog on pc28...
PsExec could not start Get-EventLog on pc28:
The system cannot find the file specified.
Wenn ich jedoch denselben Befehl lokal auf dem anderen PC ausführe, läuft es einwandfrei:
PS C:\> Get-WinEvent -?
NAME
Get-WinEvent
SYNTAX
Get-WinEvent [[-LogName] <string[]>]...
(etc.)
systeminfo
Es scheint, dass ich andere Befehle wie und auf dem Remote-PC ausführen kann, wmic
aber keinen der Get-*
Befehle.
Sowohl auf dem lokalen als auch auf dem Remote-PC laufen Windows 10 und PowerShell 5.1. Ich habe versucht, psexec
Version 2.2 und 2.33 auf dem lokalen PC auszuführen. (Merkwürdigerweise gibt Version 2.2 den oben genannten Fehler aus, während Version 2.33 sogar mit Administratoranmeldeinformationen eine Anmeldefehlermeldung ausgibt.)
ANTWORT: Wie Robert in den Kommentaren unten anmerkte, psexec
dient es zum Ausführen von ausführbaren Dateien, nicht von PowerShell-Befehlen. In der markierten Antwort unten erfahren Sie, wie Sie dasselbe tun können, jedoch stattdessen mit Invoke-Command
und .PSRemoting
Antwort1
Sie müssen keine psexec
PowerShell-Befehle remote auf anderen Rechnern ausführen. Stellen Sie sicher, dass der Remote-RechnerPSRemotingaktiviert und führen Sie dann PowerShell-Befehle auf dem Remotecomputer aus, indem SieAufrufbefehl.
PSRemoting aktivierenauf Remote-Rechner
Enable-PSRemoting -Force
Ausführen von Remote-PowerShell-Befehlen
Invoke-Command -Computer pc28 -Scriptblock { Get-WinEvent -? }
Unterstützende Ressourcen
-
-ScriptBlock scriptblock
Die auszuführenden Befehle.
{ }
Um einen Skriptblock zu erstellen, schließen Sie die Befehle in geschweifte Klammern ein . Dieser Parameter ist erforderlich.