Manipulando VM´s com scripts PowerShell

De MSTECH wiki
Revisão de 17h10min de 12 de dezembro de 2016 por Alexandre.borim (Discussão | contribs) (Vincula a VM para o domínio)

Ir para: navegação, pesquisa

Versões de softwares utilizados para criação do manual

Versão Aplicação
6.3.9600.16384 Hyper-V
2012 R2 Standard Windows Server
3.0 Windows PowerShell


Introdução

Este documento visa apresentar os procedimentos-padrão para manipulação de VM´s com scripts PowerShell.


Objetivo

Este manual tem como objetivo, se tornar uma espécie de consulta para os analistas de DevOps, assim como capacitar analistas que iniciarem na atividade de criação de scripts PowerShell em manipulação de VM´s em quaisquer ambiente.

Checklist para manipulação de VM´s (em ordem de execução)

Habilitar scripts PowerShell

Para permitir a execução de scripts PowerShell em VM´s sem restrições, a partir de um host, é necessário inserir uma linha de comando abaixo.

Set-ExecutionPolicy Unrestricted -force

Onde:
Set-ExecutionPolicy – altera a política default do PowerShell
Unrestricted – permite rodar todos os scripts e arquivos de configuração
- force – parâmetro para forçar imediatamente a alteração da política default

Vincula a VM para o domínio

Para vincular a VM para um domínio de rede, a partir de um host, é necessário inserir as linhas de comando abaixo.

1 $oldName = "''<nome antigo da VM>''"<br \>
2 $newName = "<nome novo para a VM>"<br \>
3 $domain = "<domínio de rede>"<br \>
4 $user = "<usuário de rede, pode ser o seu usuário>"<br \>
5 $password = ConvertTo-SecureString -String "<senha de rede>" -AsPlainText -Force<br \>
6 $username = "$domain\$user"<br \>
7 $credential = New-Object System.Management.Automation.PSCredential($username,$password)<br \>
8 Rename-Computer -NewName $newName -Force<br \>
9 Add-Computer -ComputerName $oldName -DomainName $domain -Options JoinWithNewName -Credential $credential –Restart<br \>

Onde:
Linhas 1 a 5 – São as variáveis com valores a definir (pelo analista que irá preparar este script). Para uma melhor explicação somente para o item 5, converte uma string de texto sem formatação (no caso, a senha) em string segura, logo força o sistema a proteger a entrada do parâmetro –String.
Linha 6 – Atribui os valores das variáveis $domain e $user respectivamente, para a variável $username
Linha 7 – Cria um objeto e salva as credenciais para a variável $credential
Linha 8 – Força a alterar o nome da VM
Linha 9 – Vincula a VM para o domínio de rede, junto com o novo nome e as credenciais, forçando o reboot.