Como iniciar uma máquina virtual (VM) do Hyper-V via PowerShell, de forma agendada

Olá Pessoal!

Durante uma conversa com um amigo, fui questionado como poderia ser o processo de start de uma VM do Hyper-V via PowerShell, de forma agendada. Então, vamos lá!

Para isso, inicialmente precisamos saber como pode ser schedulado um script PowerShell. Basta fazermos o seguinte no prompt do PowerShell:

set-executionpolicy RemoteSigned

Esse cmdlet autoriza a execução de scripts do PowerShell, de forma agendada.

Na sequência, basta criarmos um script PowerShell para iniciamos a VM:

#O nome da VM a ser startada
$VMName = “Windows Server 2008”

#Obter informações sobre o objeto da VM
$query = “SELECT * FROM Msvm_ComputerSystem WHERE ElementName='” + $VMName + “‘”
$VM = get-wmiobject -query $query -namespace “root\virtualization” -computername “.”

#Fazer uma requisição para alterar o stado da VM
$Result = $VM.RequestStateChange(2)

Basta salvar esse arquivo com a extensão “.ps1”. No nosso exemplo, vamos salvar como IniciaVM.ps1.

Com relação ao parâmetro RequestStateChange, as seguintes opções podem ser usadas:

Enabled – 2: Turns the VM on.

Disabled – 3: Turns the VM off.

Reboot – 10: A hard reset of the VM.

Reset – 11: For future use.

DMTF Reserved – 13–32767: Reserved.

Paused – 32768: Pauses the VM.

Suspended – 32769: Saves the state of the VM.

Vendor Reserved – 32770–65535: Reserved.

Para iniciarmos o nosso script, basta chamarmos ele com esse comando:

powershell -command “& ‘IniciaVM.ps1’ “

Basta colocarmos esse comando em um arquivo “.bat” ou “.cmd” e agendarmos no agendador de tarefas.

Ahh, e para darmos shutdown na VM? Basta usar o velho comando shutdown.exe via prompt normal:

shutdown.exe –r –f –t 01 –m \\hostnamedaVM

Esse comando também  pode ser schedulado via arquivo “.bat” ou “.cmd”.

Simples não?

Abraços,

Carlos Monteiro.

Tags: , , , , , , , , , , , , , , , ,

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: