Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $VIServers = @(
- "server1",
- "server2",
- "server3"
- )
- Connect-VIServer $VIServers
- $vmName = "VMname"
- $snapTime = Get-Date "22/06/18 21:00"
- $snapName = "taskname"
- $snapDescription = 'Scheduled snapshot'
- $snapMemory = $true
- $snapQuiesce = $false
- $emailAddr = 'email@me.nl'
- $vm = Get-VM $vmName
- foreach ($VIServer in $VIServers) {
- if ($vm.Uid -like "*$VIServer*") {
- $SIServer = $VIServer
- }
- }
- $si = Get-View ServiceInstance -Server $SIServer
- $scheduledTaskManager = Get-View $si.Content.ScheduledTaskManager -Server $SIServer
- $spec = New-Object VMware.Vim.ScheduledTaskSpec
- $spec.Name = "Snapshot",$vm.Name -join ' '
- $spec.Description = $_.Description
- $spec.Enabled = $true
- $spec.Notification = $emailAddr
- $spec.Scheduler = New-Object VMware.Vim.OnceTaskScheduler
- $spec.Scheduler.runat = $snapTime
- $spec.Action = New-Object VMware.Vim.MethodAction
- $spec.Action.Name = "CreateSnapshot_Task"
- @($snapName,$snapDescription,$snapMemory,$snapQuiesce) | %{
- $arg = New-Object VMware.Vim.MethodActionArgument
- $arg.Value = $_
- $spec.Action.Argument += $arg
- }
- $scheduledTaskManager.CreateObjectScheduledTask($vm.ExtensionData.MoRef, $spec)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement