As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Executando um PowerShell script do Windows
Importante
A ferramenta AWS OpsWorks Stacks o serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com o AWS Support Equipe em AWS Re:post
nota
Estes exemplos supõem que você já concluiu o exemplo em Executar uma receita na instância Windows. Caso contrário, conclua esse exemplo primeiro. Em particular, ele descreve como habilitar o RDP acesso às suas instâncias.
Uma maneira de fazer com que uma receita execute tarefas em uma instância do Windows, especialmente tarefas que não têm um recurso correspondente do Chef, é fazer com que a receita execute um script do Windows. PowerShell Esta seção apresenta o básico, descrevendo como usar um PowerShell script do Windows para instalar um recurso do Windows.
O powershell_script
As instruções a seguir resumem o procedimento da criação de uma pilha neste exemplo. Para obter mais informações, consulte Criar uma nova pilha.
Criar uma pilha
-
Abra as AWS OpsWorks Console Stacks
e escolha Add Stack. Especifique as seguintes configurações, aceite os padrões para as outras configurações e clique em Add Stack. -
Nome — PowerShellTest
-
Região: Oeste dos EUA (Oregon)
Este exemplo funcionará em qualquer região, mas recomendamos o uso de Oeste dos EUA (Oregon) para tutoriais.
-
Sistema operacional padrão: Microsoft Windows Server 2012 R2
-
-
Clique em Add a layer e adicione uma camada personalizada à pilha com as seguintes configurações.
-
Nome — PowerShell
-
Nome curto: powershell
-
-
Adicione uma instância 24 horas por dia, 7 dias por semana, com configurações padrão na PowerShell camada e inicie-a.
-
Escolha Permissões, depois Editar e selecione SSH/RDPe sudo/admin. Você precisa dessa autorização além do grupo de segurança
AWS-OpsWorks-RDP-Server
para fazer login na instância como um usuário frequente.
Enquanto a instância está iniciando, o que geralmente demora vários minutos, você pode criar o livro de receitas. A receita deste exemplo cria um diretório de dados e é basicamente a receita de Exemplo 3: Criação de diretórios, modificada para o Windows.
Para configurar o livro de receitas
-
Crie um diretório chamado
powershell
e navegue até ele. -
Crie um arquivo
metadata.rb
com o seguinte conteúdo e salve-o emwindowstest
.name "powershell" version "0.1.0"
-
Criar um diretório
recipes
empowershell
. -
Crie um arquivo
default.rb
com a seguinte receita e salve-o no diretóriorecipes
.Chef::Log.info("******Installing XPS.******") powershell_script "Install XPS Viewer" do code <<-EOH Install-WindowsFeature XPS-Viewer EOH guard_interpreter :powershell_script not_if "(Get-WindowsFeature -Name XPS-Viewer).installed" end
-
O
powershell_script
recurso executa um cmdlet para instalar o XPS visualizador.Este exemplo executa apenas um cmdlet, mas o bloco
code
pode conter várias linhas de comando. -
O
guard_interpreter
atributo direciona o Chef a usar a versão de 64 bits do Windows PowerShell. -
O atributo de proteção
not_if
garante que o Chef não instale o recurso caso ele já tenha sido instalado.
-
-
Crie um arquivo
.zip
do diretóriopowershell
. -
Faça o upload do arquivo em um bucket do Amazon S3, torne o arquivamento público e registre o arquivo. URL Você também pode usar um arquivo privado, mas um arquivo público é suficiente para este exemplo, além de ser mais fácil de trabalhar com ele.
O conteúdo entregue aos buckets do Amazon S3 pode conter conteúdo do cliente. Para obter mais informações sobre a remoção de dados confidenciais, consulte Como faço para esvaziar um bucket do S3? ou Como faço para excluir um bucket do S3?.
Agora você pode instalar o livro de receitas e executar a receita.
Para executar a receita
-
Edite a pilha para habilitar livros de receitas personalizados e especifique as seguintes configurações.
-
Tipo de repositório: Arquivamento do S3
-
Repositório URL — O arquivo do livro de receitas URL que você gravou anteriormente
Aceite os valores padrão para as outras configurações e escolha Save para atualizar a configuração da pilha.
-
-
Execute o comando de pilha Update Custom Cookbooks para instalar a versão atual de seus livros de receitas personalizados nas instâncias da pilha.
-
Após a execução de Update Custom Cookbooks (Atualizar livros de receitas personalizados), execute a receita executando o comando de stack Execute Recipes (Executar receitas) com a opção Recipes to execute (Receitas apra executar) definida como
powershell::default
.
nota
Este exemplo usa Execute Recipes por conveniência, mas você normalmente tem AWS OpsWorks As pilhas executam suas receitas automaticamente, atribuindo-as ao evento de ciclo de vida apropriado. Você pode executar essas receitas acionando manualmente o evento. Use um comando de stack para acionar eventos Setup e Configure, e um comando de pilha para acionar eventos Deploy e Undeploy.
Após a receita ser executada com sucesso, verifique isso.
Para verificar a receita do powershell
-
Examine o log do Chef. Clique em show na coluna Log da instância powershell1 para exibir o log. Role para baixo e veja sua mensagem de log próxima à parte inferior.
... [2015-04-27T18:12:09+00:00] INFO: Storing updated cookbooks/powershell/metadata.rb in the cache. [2015-04-27T18:12:09+00:00] INFO: ******Installing XPS.****** [2015-04-27T18:12:09+00:00] INFO: Processing powershell_script[Install XPS Viewer] action run (powershell::default line 3) [2015-04-27T18:12:09+00:00] INFO: Processing powershell_script[Guard resource] action run (dynamically defined) [2015-04-27T18:12:42+00:00] INFO: powershell_script[Install XPS Viewer] ran successfully ...
-
Use RDP para fazer login na instância e abrir o menu Iniciar. XPSO Visualizador deve estar listado com os Acessórios do Windows.