Estou tentando criar alguns arquivos que posso salvar na área de trabalho local para iniciar as sessões do PowerShell.
O Windows Server 2008 e o Windows Server 2012 são instalações do Server Core.
Atualmente, posso abrir o Powershell e digitar:
Enter-PSSession -computername Win2012SrvCore -credential administrator
Usando isso, eu posso conectar e executar comandos e tudo está ótimo.
O que eu tentei fazer é:
Crie um arquivo chamado Win2012SrvCore1.ps1
com o seguinte:
$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
Crie um arquivo chamado Win2012SrvCore2.ps1
com o seguinte:
PowerShell.exe -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
Cada ps1
arquivo será iniciado e fechado rapidamente com algum texto em vermelho que não consigo ler.
Eu tentei adicionar PAUSE
a cada script, mas isso não parece impedir a janela de fechar.
O que eu gostaria de fazer é criar scripts nos quais eu possa clicar duas vezes e abrir no prompt do PowerShell, semelhante a uma sessão RDP salva.
Eu configurei os arquivos ps1 para executar:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Qualquer ajuda seria muito apreciada.
fonte
Respostas:
Adicione mais uma linha:
Import-PSSession $session
Em seguida, salve o arquivo .PS1 e crie um atalho para ele como
powershell.exe -noexit -File "C:\PS.ps1"
.fonte
adicione `-noexit '
PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
fonte
Tente salvar seus comandos como um arquivo de script e faça com que seus atalhos usem a linha de comando:
powershell.exe -noExit <filename.ps1>
Isso fará com que seus atalhos executem o arquivo de script especificado e não saia do PowerShell no final da execução dos scripts, para que você possa continuar usando a janela após o estabelecimento da sessão.
Para que isso funcione, você precisa garantir que a política de execução do PowerShell não seja Restrita, caso contrário, nenhum arquivo de script poderá ser executado
Para verificar a política de execução atual, você pode usar
Get-ExecutionPolicy
eSet-ExecutionPolicy
alterar a política permanentemente ou adicionar o-ExecutionPolcy
parâmetro à linha de comando do PowerShell para alterá-la em uma única sessão.Mais informações sobre políticas de execução e seu impacto podem ser encontradas usando o
help about_Execution_Policies
comandofonte