Being a sysadmin often means doing the same dull stuff every day. PowerCLI can save you from a lot of that — and honestly, every vSphere admin should learn it sooner or later. But even without diving into scripts, vCenter’s built-in scheduler lets you automate a good chunk of tasks through the GUI.
This walk-through covers what you can schedule, where to click, a few real-world patterns that actually help, and the common snags people hit (plus easy fixes).
Quick sanity checks before you start:
- Make sure your account has the right privileges on the target object (e.g., VM power ops for a VM power task) and the generic scheduled task privileges (Create/Modify/Remove).
- The scheduler runs on the vCenter Server’s time zone. If your laptop is in a different zone, keep that in mind when you pick “midnight.”
What Can You Actually Schedule?
Here’s a breakdown of the tasks available for scheduling in vCenter. Some require vSphere Update Manager or VMware Tools — noted where relevant.
| Component | Task | Description |
|---|---|---|
| vCenter | Scan for Updates | Requires vSphere Update Manager |
| Datacenter / Cluster | New Virtual Machine Add Host Scan for Updates |
Based on selected object |
| Host | New Virtual Machine Scan for Updates |
Limited to host-level tasks |
| VM | Power On Shut Down Guest OS* Restart Guest OS* Power Off Suspend Reset Migrate Clone to Virtual Machine Edit Resource Settings Take Snapshot Scan for Updates |
*Requires VMware Tools; Migrate includes vMotion; Edit resources covers CPU/memory limits and shares |
What It Looks Like in the UI
Scheduling is tied to the object you select. You’ll see Schedule a New Task in the actions for that object and a Scheduled Tasks view showing what’s queued.
Depending on the client build, the list is under Monitor → Tasks & Events → Scheduled Tasks or Configure → Scheduled tasks. Same feature, different tab name; if you don’t see it where you expect, check the other one.
A few niceties:
- You can Run a scheduled task immediately to test it.
- You can Edit or Delete the schedule without touching the underlying object.
- History shows up under recent tasks with start/end time and status.
Automating VM Snapshots
- Select the VM.
- Go to Monitor → Tasks & Events → Scheduled Tasks.
- Hit Schedule a New Task and pick Take Snapshot.
- Enter a name and (optional) description.
- Under Change, set how often and when the snapshot should run.
- Hit OK — you’re done.
Once scheduled, it’ll show up in the task list, and later in history once it runs. You can run the task manually with the “Run” button, edit it, or delete it if plans change.
Pro tips
- Name your tasks clearly. “Nightly Snapshot – Web01” beats “Task_14” every time.
- Keep snapshots short-lived. If they sit for days, they grow and hurt storage. Schedule a cleanup (see the PowerCLI trick below).
- Avoid long chains. If you already have snapshots, consolidate before your scheduled one fires.
Bonus: quick cleanup with PowerCLI (use as a scheduled job on your admin box):
# Remove snapshots older than 2 days, skip VMs with "NoCleanup" tag
$days = 2
$cutoff = (Get-Date).AddDays(-$days)
Get-VM | Where-Object { -not (Get-TagAssignment -Entity $_ -ErrorAction SilentlyContinue | Where-Object {$_.Tag.Name -eq "NoCleanup"}) } |
ForEach-Object {
Get-Snapshot -VM $_ -ErrorAction SilentlyContinue |
Where-Object {$_.Created -lt $cutoff} |
Remove-Snapshot -Confirm:$false
}
Scheduling a New VM Creation
- Select a cluster, host, or datacenter.
- Choose New Virtual Machine from the Schedule a New Task dropdown.
- The wizard kicks off like normal — set the VM config, OS type, storage, etc.
- When you get to Scheduling Options, pick when and how often to run it.
- Save the task.
If you need guest customization (hostname, join domain, scripts), attach a customization spec in the wizard. That way, the VM isn’t just created — it’s usable without you touching it.
Extra Use Cases That Actually Save You Time
These are the ones that keep showing up in real shops:
- Pre-maintenance snapshots: run 30–60 minutes before your patch window, then let the cleanup job remove anything older than a day.
- Off-hours migrations: move chatty VMs at night to reshape cluster load without ruffling feathers.
- Recurring test VMs: create on Monday morning with a spec, and let a separate script clean them up Friday evening.
- Temporary resource boosts: bump CPU/memory shares before a known heavy job, then roll them back later.
If the GUI can’t express the exact logic (e.g., “if datastore free < 20%, skip snapshot”), that’s your cue to promote the workflow to PowerCLI or vRO.
What You Can’t Schedule (But Probably Wish You Could)
The GUI scheduler is useful, not omnipotent.
- No scheduled snapshot deletion. Use PowerCLI (example above) or a backup tool’s retention to do the cleanup.
- No built-in email on task failure. Create a vCenter alarm on “Task failed” events and wire it to your SMTP, or have your monitoring scrape events.
- No backups. That’s backup software territory; don’t try to fake it with snapshots.
- No guest-OS jobs. Use Task Scheduler/cron or config management for inside-the-VM work.
When your run-book starts chaining conditions (check datastore, then tag, then move, then snapshot…), you’ve outgrown the GUI and should switch to automation proper.
Running Without vCenter?
If you’re managing standalone ESXi hosts, you’re limited to:
- Guest OS scheduling (cron, Task Scheduler)
- Remote tools (PowerCLI or SSH scripts)
You’ll hit limits fast — so if your environment is growing, vCenter or some sort of orchestration layer becomes essential.
Quick Tips for Scheduling Like a Pro
A few habits that keep the pager quiet:
- Name tasks like a human. “Nightly Pre-Patch Snapshot – Web01” beats “Task_14.”
- Mind the time zone. The scheduler follows vCenter’s clock.
- Stagger heavy tasks. Don’t fire ten snapshots across the same datastore at the same minute.
- Use tags/folders to scope what your cleanup scripts touch (and to mark exceptions).
- Check privileges before you rely on a task. A schedule that silently fails because someone tweaked roles is… not helpful.
- Watch for DRS/Policies. Affinity rules or storage policies can block a scheduled migration — know what’s in play.
Wrapping Up
If you’re stuck doing the same VM chores over and over, vCenter’s scheduler can quietly take a bunch off your plate — no scripting required. Use it for the straightforward stuff (pre-patch snapshots, off-hours moves, recurring test VMs), and let PowerCLI handle the smarter “if/then/unless” logic and cleanup. Keep names clear, schedules sane, and storage happy, and future-you won’t have to babysit routine work every week.