
Estou tentando criar alguns arquivos que posso salvar na minha área de trabalho local para iniciar sessões do PowerShell.
O Windows Server 2008 e o Windows Server 2012 são instalações Server Core.
Atualmente, posso abrir o Powershell e digitar:
Enter-PSSession -computername Win2012SrvCore -credential administrator
Usando isso, posso conectar e executar comandos e tudo está ótimo.
O que 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.
Tentei adicionar PAUSE
a cada script, mas isso não parece impedir o fechamento da janela.
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 arquivos ps1 para executar:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe
Qualquer ajuda seria muito apreciada.
Responder1
$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
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"
.
Responder2
adicione `-noexit'
PowerShell.exe -noexit -Command Enter-PSSession -computername Win2012SrvCore -credential administrator
Responder3
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 saiam do PowerShell no final da execução dos scripts, para que você possa continuar a usar 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 Get-ExecutionPolicy
, você pode usar Set-ExecutionPolicy
para alterar a política permanentemente ou adicionar o -ExecutionPolcy
parâmetro à linha de comando do PowerShell para alterá-la para 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
comando.