Inicie a sessão remota do PowerShell usando o arquivo ps1 salvo

Inicie a sessão remota do PowerShell usando o arquivo ps1 salvo

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.ps1com 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.ps1com o seguinte:

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

Cada ps1arquivo será iniciado e fechado rapidamente com algum texto em vermelho que não consigo ler.

Tentei adicionar PAUSEa 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-ExecutionPolicypara alterar a política permanentemente ou adicionar o -ExecutionPolcyparâ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_Policiescomando.

informação relacionada