7

Ich habe zwei Server ausführen: Wie Remote erhöhter Remote-Skript in Powershell

ServerA

  • serverA (Windows 2003 Server)
  • serverB (Windows 7) enthält einen Ordner mit einer Batch-Datei (deploy.bat), die von einer Eingabeaufforderung mit einer erhöhten PowerShell ausgeführt werden muss. In ServerA, wenn ich es von einer normalen Eingabeaufforderung oder Powershell-Eingabeaufforderung ausgeführt wird, schlägt es fehl. Wenn ich es von einer erhöhten Eingabeaufforderung aus starte, funktioniert es. (Als Administrator ausführen).

    Das Problem, das ich habe, ist, wenn ich versuche, Batch-Datei von ServerB mit einer Remote-Powershell-Ausführung auszuführen. Ich bin in der Lage mit diesem Befehl auszuführen:

    Invoke-Command -computername serverA .\remotedeploy.ps1 
    

    Der Gehalt an remotedeploy.ps1 ist:

    cd D:\Builds\build5 
    .\Deploy.bat 
    

    ich eine Menge Fragen in Stackoverflow über ausgesehen haben:

    • Execute eine Remote Powershell (das funktioniert für mich)
    • Ausführen einer lokalen Powershell mit erhöhten Eingabeaufforderung (ich kann es tun)

    Diese Frage betrifft beide gleichzeitig. Die genaue Frage lautet also:

    Ist es möglich, ein ELEVATED REMOTE-Skript in PowerShell auszuführen? Cmd.exe mit erhöhten Rechten

Antwort

1

Haben Sie versuchen remoteDeploy.ps1 ändern zu starten:

cd D:\Builds\build5 
start-process CMD.EXE -verb runas -argumentlist "-C",".\Deploy.bat" 
+0

Ich denke, ich habe das versucht, aber fragte mich nach einem Passwort (keine Option, da ich es in einem Build-Skript ausführen muss) und scheint es gibt keine Option für ein Passwort. Ich werde es jetzt nochmal versuchen, um sicher zu gehen. –

+0

Es funktioniert nicht. Wenn ich es lokal ausführe, erscheint eine Windows-Formular-Eingabeaufforderung, die mich um Erlaubnis bittet, und wenn ich es remote ausführe, friert es wegen der gleichen Windows-Formularaufforderung ein, denke ich. –

+1

Es scheint von mir zu funktionieren, aber ich benutze die echten Admin-Anmeldedaten, wenn ich meine PSSession erstelle. – JPBlanc

1

Wenn Sie mit Powershell 4, können Sie den Befehl Wunsch Staat Konfiguration ausführen, die als SYSTEM ausführen: