Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
1,043
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $VIServers = @(
  2.     "server1",
  3.     "server2",
  4.     "server3"
  5. )
  6.  
  7. Connect-VIServer $VIServers
  8.  
  9. $vmName = "VMname"
  10. $snapTime = Get-Date "22/06/18 21:00"
  11. $snapName = "taskname"
  12. $snapDescription = 'Scheduled snapshot'
  13. $snapMemory = $true
  14. $snapQuiesce = $false
  15. $emailAddr = 'email@me.nl'
  16.  
  17. $vm = Get-VM $vmName
  18.  
  19. foreach ($VIServer in $VIServers) {
  20.     if ($vm.Uid -like "*$VIServer*") {
  21.         $SIServer = $VIServer
  22.     }
  23. }
  24.  
  25. $si = Get-View ServiceInstance -Server $SIServer
  26. $scheduledTaskManager = Get-View $si.Content.ScheduledTaskManager -Server $SIServer
  27.  
  28. $spec = New-Object VMware.Vim.ScheduledTaskSpec
  29. $spec.Name = "Snapshot",$vm.Name -join ' '
  30. $spec.Description = $_.Description
  31. $spec.Enabled = $true
  32. $spec.Notification = $emailAddr
  33. $spec.Scheduler = New-Object VMware.Vim.OnceTaskScheduler
  34. $spec.Scheduler.runat = $snapTime
  35. $spec.Action = New-Object VMware.Vim.MethodAction
  36. $spec.Action.Name = "CreateSnapshot_Task"
  37. @($snapName,$snapDescription,$snapMemory,$snapQuiesce) | %{
  38.     $arg = New-Object VMware.Vim.MethodActionArgument
  39.     $arg.Value = $_
  40.     $spec.Action.Argument += $arg
  41. }
  42. $scheduledTaskManager.CreateObjectScheduledTask($vm.ExtensionData.MoRef, $spec)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement