Frage

Ich habe PS 1.0 auf einem Remote -PC (RPC001) installiert. ich benutzte Windows Syssinternals Tool psexec.exe Um den folgenden Prozess auf der Fernbedienung auszuführen:

 PSExec \\RPC001 -u myID -p myPWD PowerShell C:\script\StartPS.ps1 par1 par2

Ich kann den Prozess der PowerShell.exe danach auf dem Remote -PC sehen, aber es macht tatsächlich nichts, nur dort hängt. Ich habe versucht, einen einfachen Code von "Write-output/Host" in das Skript einzulegen. Ich führe das gleiche Skript auf der Remote von RTS aus, es funktioniert dort.

Ich bin mir nicht sicher, ob ich etwas anderes vermisse, um das Skript mit PSEXEC auszuführen, oder es ist eine Begrenzung von psexec.exe. Ich möchte ein PS -Skript auf Remote starten, um dort lokal etwas zu tun (einige Dateien lokal komprimieren und alte Dateien entfernen) aus meiner Box.

Ich habe eine ähnliche Frage in Stackoverflow gestellt: Führen Sie den Remote -Prozess durch PowerShell aus. Anziehen schlug mir vor, PSEXEC zu verwenden. Es klingt nach einer alternativen Möglichkeit, das Problem zu lösen. Ich kann es jedoch nicht mit PowerShell zum Laufen bringen. Eine Möglichkeit, PS auf dem Remote -PC zum Arbeiten zu bringen?

Übrigens kann ich PS 2.0 nicht verwenden, da mein Netzwerk nicht erlaubt, Windows XP SP3 zu installieren, was für PS 2.0 erforderlich ist.

War es hilfreich?

Lösung

Nach weiteren Untersuchungen zum PSEXEC -Tool glaube ich, dass ich die Antwort erhalten habe. Ich muss addieren -Ich möchte, dass PSEXEC im interaktiven Modus auf Remote starten soll:

PSExec \\RPC001 -i -u myID -p myPWD PowerShell C:\script\StartPS.ps1 par1 par2

Ohne -i läuft PowerShell.exe im Wartemodus auf der Fernbedienung. Interessanter Punkt ist, dass es gut funktioniert, wenn ich eine einfache Fledermaus (ohne PS in Fledermaus) betreibe. Vielleicht ist dies etwas Besonderes für PS Case? Willkommen Kommentare und Erklärungen.

Andere Tipps

Die akzeptierte Antwort hat bei mir nicht funktioniert, aber das folgende tat:

>PsExec.exe \\<SERVER FQDN> -u <DOMAIN\USER> -p <PASSWORD> /accepteula cmd 
    /c "powershell -noninteractive -command gci c:\"

Beispiel von hier

Können Sie Folgendes versuchen?

psexec \\server cmd /c "echo . | powershell script.ps1"

Die akzeptierte Antwort funktioniert bei mir nicht, aber das tut es. Stellen Sie das Skript im Speicherort sicher (c: temp_ unten auf jedem Remote -Server. Server.txt enthält eine Liste von IP -Adressen (eine pro Zeile).

psexec @servers.txt -u <username> cmd /c "powershell -noninteractive -file C:\temp\script.ps1"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top