Powershell para instância do EC2 - Instalando arquivos executáveis na instância do EC2

3

Eu sou novo em servidores da Amazon. Recentemente, criei uma instância do EC2 Windows2008 R2 e tentei conectar-me à instância do meu sistema usando o powershell ALONE

Eu não quero usar a API do Amazon para se conectar, transferir um arquivo do local para o EC2 ou instalar os arquivos na instância do EC2.

Eu quero realizar tudo isso apenas usando o POWERSHELL.

Eu consigo conectar e transferir arquivos do local para o EC2. Alguém pode sugerir / ajudar a instalar os arquivos executáveis nesta instância do EC2.

Qualquer ajuda neste assunto é muito apreciada! thx antecipadamente

    
por Prince 15.02.2012 / 14:13

3 respostas

5

Se você pode instalar o seu executável a partir da linha de comando ('instalação silenciosa'), então a comunicação remota do powershell é a melhor escolha. Ele está ativado por padrão nas imagens do Amazon Windows, portanto, você não precisa fazer nada além disso, inicialize a máquina e pegue a senha.

Há instruções para configurar o remoting aqui: link

O resultado é que você pode usar o seguinte script para executar um comando remoto (tirado de: link ):

param ([string]$target, [string]$username, [string]$password, [string]$command)

$ErrorActionPreference="Stop"

# Set up the password
$securePassword = ConvertTo-SecureString -AsPlainText -Force $password
$cred = New-Object System.Management.Automation.PSCredential $username, $securePassword

Write-Host "Connecting to management service of $target"
Connect-WSMan -Credential $cred $target 

set-item WSMan:\$target\Client\TrustedHosts -Value * -Force
set-item WSMan:\$target\Shell\MaxMemoryPerShellMB -Value 0 -Force

Write-Host Invoking command on Remote host $target
Invoke-Command -ComputerName $target -Credential $cred  -ScriptBlock {  
    Invoke-Expression $args[0]
} -ArgumentList $command
Write-Host "Command finished"

Você pode executar este comando a partir do seu próprio script com o seguinte comando:

powershell.exe -inputformat none -File PATH_TO_SCRIPT -target TARGET_IP -password PASSWORD -username USERNAME -command COMMAND_TO_EXECUTE
    
por 11.12.2012 / 19:46
1

A menos que você seja experiente no PowerShell Remoting , recomendo abrir o RDP (TCP 3389 ) e o Remote Desktoping em (marque a caixa do cliente para conectar unidades locais) e faça upload de arquivos dessa maneira. Em seguida, você poderá experimentar o comando do PowerShell, Enable-PSRemoting, no servidor, abrindo o firewall para 5986 (SSL) e tentando acessar remotamente.

Não tenho certeza se você pode "encapsular" as transferências de arquivos por meio de um shell remoto do PowerShell de forma nativa, embora pareça haver uma terceira parte module for that .

    
por 21.02.2012 / 19:39
0

Suponho que você esteja falando sobre a instalação de software no servidor sem precisar fazer login.

Uma opção é instalar o link no seu servidor e salvar uma AMI. Então você pode escrever um script PowerShell que será executado no servidor localmente e instalar / baixar o que você precisa para o servidor.

Quando você criar o novo servidor usando essa AMI, basta colocar o conteúdo do arquivo como o arquivo de dados do usuário ou o arquivo de dados do usuário. Quando o servidor for inicializado, o serviço CloudInit.NET fará o download e a execução do seu script sem que você tenha que efetuar login no servidor.

    
por 22.02.2012 / 21:38