{"id":2303,"date":"2025-07-19T13:50:07","date_gmt":"2025-07-19T17:50:07","guid":{"rendered":"https:\/\/enterpriseadmins.org\/blog\/?p=2303"},"modified":"2025-07-19T13:50:07","modified_gmt":"2025-07-19T17:50:07","slug":"simplify-snapshot-management-with-vcf-operations","status":"publish","type":"post","link":"https:\/\/enterpriseadmins.org\/blog\/virtualization\/simplify-snapshot-management-with-vcf-operations\/","title":{"rendered":"Simplify Snapshot Management with VCF Operations"},"content":{"rendered":"\n<p>Managing snapshots in vSphere environments is a task that folks have dealt with for years.  I remember one of my first PowerCLI scripts was one that sent email notifications for snapshots over a week old to review and manually clean them up.  In this post we&#8217;ll walk through one way of automating this cleanup using VCF Operations Automation Central.<\/p>\n\n\n\n<p>In VCF Operations this is under Infrastructure Operations > Automation Central (or Operations > Automation Central, depending on version) we can create an automated job.  There are several tiles available for automated jobs, but for this example we&#8217;ll use a &#8216;reclaim&#8217; job:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"193\" src=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-1-1024x193.png\" alt=\"\" class=\"wp-image-2305\" srcset=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-1-1024x193.png 1024w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-1-300x56.png 300w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-1-768x145.png 768w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-1-1536x289.png 1536w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-1.png 1658w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>For step 1 of our reclaim job, we&#8217;ll enter a job name &amp; select &#8216;Delete old snapshots.&#8217;  We have an opportunity to add a description and specify various snapshot details, like only deleting snapshots older than 7 days, filtering by size or matching a specific snapshot name. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"882\" height=\"522\" src=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-2.png\" alt=\"\" class=\"wp-image-2306\" srcset=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-2.png 882w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-2-300x178.png 300w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-2-768x455.png 768w\" sizes=\"auto, (max-width: 882px) 100vw, 882px\" \/><\/a><\/figure>\n\n\n\n<p>For step 2, we&#8217;ll define a scope, selecting specific objects that contain the VMs we want this automation to target.  In the screenshot below, we&#8217;ve picked all of one vCenter, another Datacenter, and a specific cluster from a 3rd vCenter.  This allows us to create different job scopes for different types of environments.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"732\" src=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-4.png\" alt=\"\" class=\"wp-image-2308\" srcset=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-4.png 888w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-4-300x247.png 300w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-4-768x633.png 768w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><\/a><\/figure>\n\n\n\n<p>In step 3, we can define additional filter criteria.  This is incredibly flexible. In the example below I&#8217;ve specified 3 different criteria combined with &#8216;and&#8217; logic.  <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tag &#8216;SnapshotPolicy&#8217; not exists = means that there is no tag assigned to this VM with the category SnapshotPolicy.  This would allow me to assign this tag category to some VMs with tags like &#8216;1 month&#8217; or &#8216;manual&#8217; and have separate jobs for them.  This &#8216;not exists&#8217; job would get all other VMs.<\/li>\n\n\n\n<li>Metrics CPU|Usage (%) is less than 50% = would allow me to exclude VMs that are busy doing something.<\/li>\n\n\n\n<li>Properties Configuration|Number of VMDKs is less than 5 = excludes VMs that have a lot of VMDKs.<\/li>\n<\/ul>\n\n\n\n<p>We can add additional criteria on other metrics, properties, tags, object names, etc as needed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"483\" src=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-5.png\" alt=\"\" class=\"wp-image-2310\" srcset=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-5.png 940w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-5-300x154.png 300w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-5-768x395.png 768w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/a><\/figure>\n\n\n\n<p>On the final step 4 we can schedule how often this task runs.  In my example this job is only running on Saturdays for the next year, and it will send a email updates as needed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"715\" src=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-6.png\" alt=\"\" class=\"wp-image-2311\" srcset=\"https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-6.png 933w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-6-300x230.png 300w, https:\/\/enterpriseadmins.org\/blog\/wp-content\/uploads\/2025\/07\/image-6-768x589.png 768w\" sizes=\"auto, (max-width: 933px) 100vw, 933px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>VCF Operations Automation Central is a very powerful tool and can be used to automate routine tasks such as snapshot removal.  If you&#8217;re not yet using Automation Central, i&#8217;s worth exploring to streamline operations and reduce manual effort.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Managing snapshots in vSphere environments is a task that folks have dealt with for years. I remember one of my first PowerCLI scripts was one that sent email notifications for snapshots over a week old to review and manually clean &hellip; <a href=\"https:\/\/enterpriseadmins.org\/blog\/virtualization\/simplify-snapshot-management-with-vcf-operations\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[9,4],"tags":[],"class_list":["post-2303","post","type-post","status-publish","format-standard","hentry","category-lab-infrastructure","category-virtualization"],"_links":{"self":[{"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/posts\/2303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/comments?post=2303"}],"version-history":[{"count":2,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/posts\/2303\/revisions"}],"predecessor-version":[{"id":2312,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/posts\/2303\/revisions\/2312"}],"wp:attachment":[{"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/media?parent=2303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/categories?post=2303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enterpriseadmins.org\/blog\/wp-json\/wp\/v2\/tags?post=2303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}