Starten Sie eine Remote-PowerShell-Sitzung mit der gespeicherten PS1-Datei

Starten Sie eine Remote-PowerShell-Sitzung mit der gespeicherten PS1-Datei

Ich versuche, einige Dateien zu erstellen, die ich auf meinem lokalen Desktop speichern kann, um PowerShell-Sitzungen zu starten.

Windows Server 2008 und Windows Server 2012 sind beides Server Core-Installationen.

Derzeit kann ich Powershell öffnen und Folgendes eingeben:

Enter-PSSession -computername Win2012SrvCore -credential administrator

Damit kann ich eine Verbindung herstellen und Befehle ausführen und alles ist großartig.

Ich habe Folgendes versucht:

Erstellen Sie eine Datei Win2012SrvCore1.ps1mit folgendem Namen:

$passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd

$session = new-pssession -computername Win2012SrvCore -credential $cred

Erstellen Sie eine Datei Win2012SrvCore2.ps1mit folgendem Namen:

PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator

Jede ps1Datei wird schnell mit rotem Text gestartet und geschlossen, den ich nicht lesen kann.

Ich habe versucht, jedem Skript etwas hinzuzufügen PAUSE, aber das scheint das Schließen des Fensters nicht zu verhindern.

Ich möchte Skripte erstellen, die ich per Doppelklick in der Powershell-Eingabeaufforderung öffnen kann, ähnlich einer gespeicherten RDP-Sitzung.

Ich habe die Ausführung folgender PS1-Dateien konfiguriert:

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

Für jede Hilfe wäre ich sehr dankbar.

Antwort1

$passwd = convertto-securestring -AsPlainText -Force -String MYPASSWORD

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "administrator",$passwd

$session = new-pssession -computername Win2012SrvCore -credential $cred

Fügen Sie eine weitere Zeile hinzu:

Import-PSSession $session

Speichern Sie dann die PS1-Datei und erstellen Sie eine Verknüpfung dazu als powershell.exe -noexit -File "C:\PS.ps1".

Antwort2

füge „-noexit“ hinzu

PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator

Antwort3

Versuchen Sie, Ihre Befehle als Skriptdatei zu speichern, und verwenden Sie dann für Ihre Tastenkombinationen die Befehlszeile:

powershell.exe -noExit <filename.ps1>

Dadurch führen Ihre Verknüpfungen die angegebene Skriptdatei aus und beenden Powershell am Ende der Skriptausführung nicht, sodass Sie das Fenster nach dem Herstellen der Sitzung weiterhin verwenden können.

Damit dies funktioniert, müssen Sie sicherstellen, dass die PowerShell-Ausführungsrichtlinie nicht eingeschränkt ist, da sonst keine Skriptdateien ausgeführt werden können.

Sie können die aktuelle Ausführungsrichtlinie prüfen Get-ExecutionPolicyund entweder Set-ExecutionPolicydauerhaft ändern oder den -ExecutionPolcyParameter zur Powershell-Befehlszeile hinzufügen, um sie für eine einzelne Sitzung zu ändern.

Weitere Informationen zu Ausführungsrichtlinien und ihren Auswirkungen erhalten Sie mit dem help about_Execution_PoliciesBefehl.

verwandte Informationen