
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.ps1
mit 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.ps1
mit folgendem Namen:
PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
Jede ps1
Datei 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-ExecutionPolicy
und entweder Set-ExecutionPolicy
dauerhaft ändern oder den -ExecutionPolcy
Parameter 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_Policies
Befehl.