Iniciar sessão remota do PowerShell usando o arquivo ps1 salvo

15

Estou tentando criar alguns arquivos que posso salvar no meu desktop local para iniciar as sessões do PowerShell.

O Windows Server 2008 e o Windows Server 2012 são instalações do Núcleo do Servidor.

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 arquivo ps1 será iniciado e encerrado rapidamente com algum texto em vermelho que não posso ler.

Eu tentei adicionar PAUSE a cada script, mas isso não parece impedir que a janela seja fechada.

O que eu gostaria de fazer é criar scripts que 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.

    
por Anthony Fornito 24.11.2014 / 22:35

3 respostas

10
$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" .

    
por 24.11.2014 / 23:50
12

adicione '-noexit'

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

    
por 24.11.2014 / 22:52
9

Tente salvar seus comandos como um arquivo de script e, em seguida, use seus atalhos usando 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 depois que a sessão for estabelecida.

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 pode ser executado

Para verificar a política de execução atual, use Get-ExecutionPolicy e você pode usar Set-ExecutionPolicy para alterar a política permanentemente ou adicionar o parâmetro -ExecutionPolcy à linha de comando do PowerShell para alterá-la para uma única sessão. / p>

Mais informações sobre as políticas de execução e seu impacto podem ser encontradas usando o comando help about_Execution_Policies .

    
por 24.11.2014 / 22:51