Я пытаюсь создать пару файлов, которые можно сохранить на своем локальном рабочем столе для запуска сеансов 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
команда.