PowerCLI/Powershell script som laver schedule til shutdown af vm
HejsaJeg er rimelig ny i powershell, så ved ikke om der findes en løsning på mit problem. Men er ved at lave en ASP.net side som anvender powershell script i C# metoderne. Tanken med siden er at nogle brugere kan logge på og og tænde nogle virtuelle servere. Der skal så være en timer funktion, så serveren automatisk vil slukke efter x antal dage. Til dette står jeg faktisk bare og mangler et enkelt ord.. I vedlagte script bruger jeg ordet "PowerOffVM_Task". Dette er en uheldig måde at slukke en vm på idet det svarer til at trække stikket.. Man kan lukke ned pænt ved brug af ShutdownGuest.. men kan ikke finde den task nogen steder? Eksisterer den overhovedet eller er det kun muligt at foretage en pæn tidsstyret shutdownGuest inde i selve VM Klienten?
#Add-PSSnapin VMware.VimAutomation.Core
$VIServer = Connect-VIserver -Server server -Protocol https -User user -Password pwd
$VMs = Get-View -ViewType VirtualMachine -Filter @{"Name" = "Gameserver*"}
$timestart = (Get-Date).addminutes(5)
foreach($vm in $VMs){
$ma = New-Object VMware.Vim.MethodAction
$ma.Argument = $null
$ma.Name = "PowerOffVM_Task"
$ots = New-Object VMware.Vim.OnceTaskScheduler
$ots.runat = $timestart
$spec = New-Object VMware.Vim.ScheduledTaskSpec
$spec.Name = "Shut Down Guest"# + $VM.name
$spec.Description = "Shut Down Guest " + $VM.name
$spec.Enabled = $true
$spec.Notification = "p.mikkelsen81@gmail.com"
$spec.Action = $ma
$spec.Scheduler = $ots
$si = Get-View ServiceInstance
$stm = Get-View $si.Content.ScheduledTaskManager
$stm.CreateScheduledTask($vm.MoRef,$Spec)
}