Назад | Перейти на главную страницу

Запустить удаленный сеанс 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

Любая помощь будет принята с благодарностью.

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

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

$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".

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

powershell.exe -noExit <filename.ps1>

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

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

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

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