Я пытаюсь создать пару файлов, которые можно сохранить на локальном рабочем столе для запуска сеансов 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
Любая помощь будет принята с благодарностью.
источник
Ответы:
Добавьте еще одну строку:
Import-PSSession $session
Затем сохраните файл .PS1 и создайте для него ярлык
powershell.exe -noexit -File "C:\PS.ps1"
.источник
добавить `-noexit '
PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
источник
Попробуйте сохранить ваши команды в виде файла сценария, а затем используйте ярлыки для командной строки:
powershell.exe -noExit <filename.ps1>
Это позволит вашим ярлыкам запускать указанный файл сценария и не выходить из PowerShell в конце выполнения сценариев, поэтому вы можете продолжать использовать окно после установления сеанса.
Чтобы это работало, вам нужно убедиться, что политика выполнения PowerShell не ограничена, в противном случае файлы сценариев не могут быть выполнены.
Чтобы проверить текущую политику выполнения, вы можете использовать
Get-ExecutionPolicy
ее либоSet-ExecutionPolicy
для постоянного изменения политики, либо добавить-ExecutionPolcy
параметр в командную строку powershell, чтобы изменить его для одного сеанса.Дополнительную информацию о политиках выполнения и их влиянии можно найти с помощью
help about_Execution_Policies
команды.источник