sync
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Get Tools Upgrade option
|
||||
$AllVMs = Get-VM | Where-Object { $_.ExtensionData.summary.config.ManagedBy.Type -ne "placeholderVm" -and $_.ExtensionData.Guest.GuestId -like "windows*" }
|
||||
$AllVMsWindows = $AllVMs | Where-Object {$_.Guest.OSFullName -like "*Windows*"}
|
||||
$Result = [System.Collections.ArrayList]@()
|
||||
Foreach($VM in $AllVMsWindows){
|
||||
$obj=[PSCustomObject]@{
|
||||
Name = $VM.Name;
|
||||
ToolsVersion = $VM.ExtensionData.Config.Tools.ToolsVersion;
|
||||
ToolsUpgradePolicy = $VM.ExtensionData.Config.Tools.ToolsUpgradePolicy
|
||||
}
|
||||
$null = $Result.Add($obj)
|
||||
}
|
||||
$Result
|
||||
|
||||
# set all Windows VMs to manual VMware Tools upgrade
|
||||
$VMs = Get-VM | Where-Object { $_.ExtensionData.summary.config.ManagedBy.Type -ne "placeholderVm" -and $_.ExtensionData.Guest.GuestId -like "windows*"}
|
||||
Foreach ($v in $VMs) {
|
||||
$vm = $v | Get-View
|
||||
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
|
||||
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
|
||||
$vmConfigSpec.Tools.ToolsUpgradePolicy = "manual"
|
||||
$vm.ReconfigVM($vmConfigSpec)
|
||||
}
|
||||
|
||||
# set all VMs to upgradeAtPowerCycle VMware Tools
|
||||
$VMs = Get-VM | Where-Object { $_.ExtensionData.summary.config.ManagedBy.Type -ne "placeholderVm" -and $_.ExtensionData.Guest.GuestId -like "windows*" -and $_.ExtensionData.config.tools.ToolsUpgradePolicy -ne "UpgradeAtPowerCycle"}
|
||||
Foreach ($v in $VMs) {
|
||||
$vm = $v | Get-View
|
||||
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
|
||||
$vmConfigSpec.Tools = New-Object VMware.Vim.ToolsConfigInfo
|
||||
$vmConfigSpec.Tools.ToolsUpgradePolicy = "UpgradeAtPowerCycle"
|
||||
$vm.ReconfigVM($vmConfigSpec)
|
||||
}
|
||||
Reference in New Issue
Block a user