Usiłuję utworzyć kilka plików, które mogę zapisać na moim lokalnym pulpicie, aby uruchomić sesje PowerShell.
Zarówno Windows Server 2008, jak i Windows Server 2012 to instalacje Server Core.
Obecnie mogę otworzyć PowerShell i wpisać:
Enter-PSSession -computername Win2012SrvCore -credential administrator
Korzystając z tego, mogę łączyć się i uruchamiać polecenia i wszystko jest świetnie.
To, co próbowałem zrobić, to:
Utwórz plik Win2012SrvCore1.ps1
o następującej nazwie :
$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
Utwórz plik Win2012SrvCore2.ps1
o następującej nazwie :
PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
Każdy ps1
plik zostanie szybko uruchomiony i zamknięty z czerwonym tekstem, którego nie mogę odczytać.
Próbowałem dodać PAUSE
do każdego skryptu, ale wydaje się, że nie powstrzymuje to okna przed zamknięciem.
Chciałbym stworzyć skrypty, które mogę dwukrotnie kliknąć i otworzyć na monit PowerShell, podobny do zapisanej sesji RDP.
Skonfigurowałem pliki ps1 do wykonania:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Każda pomoc byłaby bardzo mile widziana.
źródło
Odpowiedzi:
Dodaj jeszcze jedną linię:
Import-PSSession $session
Następnie zapisz plik .PS1 i utwórz skrót do niego jako
powershell.exe -noexit -File "C:\PS.ps1"
.źródło
dodaj `-noexit '
PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
źródło
Spróbuj zapisać swoje polecenia jako plik skryptu, a następnie użyj skrótów w wierszu polecenia:
powershell.exe -noExit <filename.ps1>
Spowoduje to, że skróty uruchomią określony plik skryptu i nie zakończą programu PowerShell po zakończeniu wykonywania skryptów, dzięki czemu można kontynuować korzystanie z okna po ustanowieniu sesji.
Aby to zadziałało, musisz upewnić się, że zasady wykonywania programu PowerShell nie są ograniczone, w przeciwnym razie nie można wykonać plików skryptów
Aby sprawdzić bieżącą zasadę wykonywania, której możesz użyć
Get-ExecutionPolicy
, możesz użyć jejSet-ExecutionPolicy
do trwałej zmiany zasad lub dodać-ExecutionPolcy
parametr do wiersza polecenia programu PowerShell, aby zmienić go dla pojedynczej sesji.Więcej informacji na temat zasad wykonywania i ich wpływu można znaleźć za pomocą
help about_Execution_Policies
polecenia.źródło