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 beide Server Core-Installationen.
Derzeit kann ich Powershell öffnen und Folgendes eingeben:
Enter-PSSession -computername Win2012SrvCore -credential administrator
Auf diese Weise kann ich Befehle verbinden und ausführen, und alles ist großartig.
Was ich versucht habe, ist:
Erstellen Sie eine Datei Win2012SrvCore1.ps1
mit folgendem Aufruf :
$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 Aufruf :
PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
Jede ps1
Datei wird gestartet und schnell mit rotem Text geschlossen, den ich nicht lesen kann.
Ich habe versucht, PAUSE
jedes Skript zu ergänzen , aber das scheint das Schließen des Fensters nicht zu verhindern.
Was ich tun möchte, ist, Skripte zu erstellen, auf die ich doppelklicken und die Powershell-Eingabeaufforderung öffnen kann, ähnlich wie bei einer gespeicherten RDP-Sitzung.
Ich habe ps1-Dateien für die Ausführung konfiguriert:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Jede Hilfe wäre sehr dankbar.
quelle
Antworten:
Fügen Sie eine weitere Zeile hinzu:
Import-PSSession $session
Speichern Sie dann die .PS1-Datei und erstellen Sie eine Verknüpfung zu ihr als
powershell.exe -noexit -File "C:\PS.ps1"
.quelle
add `-noexit '
PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
quelle
Versuchen Sie, Ihre Befehle als Skriptdatei zu speichern, und lassen Sie dann Ihre Verknüpfungen die Befehlszeile verwenden:
powershell.exe -noExit <filename.ps1>
Auf diese Weise führen Ihre Verknüpfungen die angegebene Skriptdatei aus und beenden Powershell nicht am Ende der Skriptausführung. Sie können das Fenster also weiterhin verwenden, nachdem die Sitzung eingerichtet wurde.
Damit dies funktioniert, müssen Sie sicherstellen, dass die PowerShell-Ausführungsrichtlinie nicht eingeschränkt ist. Andernfalls können keine Skriptdateien ausgeführt werden
Um die aktuelle Ausführungsrichtlinie zu überprüfen, die Sie verwenden können, können
Get-ExecutionPolicy
Sie entwederSet-ExecutionPolicy
die Richtlinie dauerhaft ändern oder den-ExecutionPolcy
Parameter zur Powershell-Befehlszeile hinzufügen , um ihn für eine einzelne Sitzung zu ändern.Weitere Informationen zu Ausführungsrichtlinien und deren Auswirkungen finden Sie mit dem
help about_Execution_Policies
Befehl.quelle