Запустить удаленный сеанс PowerShell с использованием сохраненного файла ps1

Запустить удаленный сеанс PowerShell с использованием сохраненного файла ps1

Я пытаюсь создать несколько файлов, которые можно сохранить на локальном рабочем столе для запуска сеансов PowerShell.

Windows Server 2008 и Windows Server 2012 — это установки Server Core.

В настоящее время я могу открыть Powershell и ввести:

Enter-PSSession -computername Win2012SrvCore -credential administrator

Используя это, я могу подключаться и выполнять команды, и все отлично.

Я попытался сделать следующее:

Создайте файл Win2012SrvCore1.ps1со следующим именем:

$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

Создайте файл Win2012SrvCore2.ps1со следующим именем:

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

Каждый ps1файл запускается и быстро закрывается, отображая красный текст, который я не могу прочитать.

Я пробовал добавлять PAUSEкаждый скрипт, но это не мешает окну закрываться.

Мне бы хотелось создать скрипты, которые можно будет открыть двойным щелчком мыши в командной строке PowerShell, подобно сохраненному сеансу RDP.

Я настроил файлы ps1 для выполнения:

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

Любая помощь будет высоко оценена.

решение1

$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

Добавьте еще одну строку:

Import-PSSession $session

Затем сохраните файл .PS1 и создайте для него ярлык как powershell.exe -noexit -File "C:\PS.ps1".

решение2

добавить `-noexit'

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

решение3

Попробуйте сохранить свои команды в виде файла сценария, а затем используйте в своих сочетаниях клавиш командную строку:

powershell.exe -noExit <filename.ps1>

Это позволит вашим ярлыкам запускать указанный файл скрипта и не завершать работу PowerShell по окончании выполнения скрипта, поэтому вы сможете продолжить использовать окно после установки сеанса.

Чтобы это работало, вам необходимо убедиться, что политика выполнения PowerShell не ограничена, в противном случае ни один файл скрипта не будет выполнен.

Для проверки текущей политики выполнения можно использовать Get-ExecutionPolicy, а также можно либо использовать Set-ExecutionPolicy, чтобы изменить политику навсегда, либо добавить -ExecutionPolcyпараметр в командную строку PowerShell, чтобы изменить ее для одного сеанса.

Более подробную информацию о политиках выполнения и их влиянии можно найти с помощью help about_Execution_Policiesкоманды.

Связанный контент