Skip to content

Latest commit

 

History

History
60 lines (40 loc) · 1.57 KB

File metadata and controls

60 lines (40 loc) · 1.57 KB
pid 1001
author afokkema
title Patch-VMHost
date 2009-04-06 23:26:09 -0700
format posh
parent 1000

Patch-VMHost

This script will patch an ESX Host using VMware Update Manager.

You need to install the VMware.VumAutomation on the host where you want to run this script.

Arne Fokkema http://ict-freak.nl

Add-PSSnapin "VMware.VimAutomation.Core"
Add-PSSnapIn "VMware.VumAutomation" 

# Connect to vCenter
$VC = Connect-VIServer (Read-Host "Enter vCenter server")

$vumConfig = Get-VumConfig
$EsxHost = Get-Inventory -Name (Read-Host "Enter ESX Host")
$CriticalHost = Get-Baseline -Name "Critical Host Updates"
$NonCriticalHost = Get-Baseline -Name "Non-critical Host Updates"

  # Enter Maintenance mode
  Set-VMHost $EsxHost -State Maintenance 

  # Attach baseline
  Attach-Baseline -Entity $EsxHost -Baseline $CriticalHost, $NonCriticalHost 
		
  # Check Compliance
  $ScanTask = Scan-Inventory $EsxHost -RunAsync
  Wait-Task -Task $ScanTask

  Get-Compliance -Entity $EsxHost

  # Remediate the ESX Host
  $RemediateTask = Remediate-Inventory -Entity $EsxHost -Baseline $CriticalHost, $NonCriticalHost -HostFailureAction $vumConfig.HostFailureAction -Confirm:$false
		
  Wait-Task -Task $RemediateTask		
				
  # Detach Baseline
  Detach-Baseline -Baseline $CriticalHost, $NonCriticalHost -Entity $EsxHost
		
  # Exit Mantenance mode
  Set-VMHost $EsxHost -State Connected	
	
# Disconnect from vCenter
Disconnect-VIServer -Confirm:$False