From 937f21345150233d6ce15d2ca0f5cc781f63e4ab Mon Sep 17 00:00:00 2001 From: Jack McMichael Date: Sat, 1 Dec 2018 17:15:38 -0700 Subject: [PATCH 1/8] Update VMware.HV.Helper.psm1 Added functions to starting and starting Instant Clone maintenance operations on a host for Horizon 7.x --- .../VMware.Hv.Helper/VMware.HV.Helper.psm1 | 115 +++++++++++++++++- 1 file changed, 114 insertions(+), 1 deletion(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index c58e1c0..9eb2254 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -11478,4 +11478,117 @@ function Get-HVlicense { [System.gc]::collect() } -Export-ModuleMember Add-HVDesktop,Add-HVRDSServer,Connect-HVEvent,Disconnect-HVEvent,Get-HVPoolSpec,Get-HVInternalName, Get-HVEvent,Get-HVFarm,Get-HVFarmSummary,Get-HVPool,Get-HVPoolSummary,Get-HVMachine,Get-HVMachineSummary,Get-HVQueryResult,Get-HVQueryFilter,New-HVFarm,New-HVPool,Remove-HVFarm,Remove-HVPool,Set-HVFarm,Set-HVPool,Start-HVFarm,Start-HVPool,New-HVEntitlement,Get-HVEntitlement,Remove-HVEntitlement, Set-HVMachine, New-HVGlobalEntitlement, Remove-HVGlobalEntitlement, Get-HVGlobalEntitlement, Set-HVApplicationIcon, Remove-HVApplicationIcon, Get-HVGlobalSettings, Set-HVGlobalSettings, Set-HVGlobalEntitlement, Get-HVResourceStructure, Get-HVLocalSession, Get-HVGlobalSession, Reset-HVMachine, Remove-HVMachine, Get-HVHealth, New-HVPodfederation, Remove-HVPodFederation, Get-HVPodFederation, Register-HVPod, Unregister-HVPod, Set-HVPodFederation,Get-HVSite,New-HVSite,Set-HVSite,Remove-HVSite,New-HVHomeSite,Get-HVHomeSite,Set-HVEventDatabase,Get-HVEventDatabase,Clear-HVEventDatabase,Get-HVlicense,Set-HVlicense +function Start-HVMaintenance { + <# + .Synopsis + Puts a host in instant clone maintanence mode + + .DESCRIPTION + Puts a host in instant clone maintanence mode + + + .PARAMETER Host + ESXi Host name to modify the InstantClone.Maintenance attribute + + .EXAMPLE + Start-HvMaintenance -Host + + .NOTES + Author : Jack McMichael + Author email : @jackwmc4 / jackwmc4@gmail.com + Version : 1.0 + + ===Tested Against Environment==== + Horizon View Server Version : 7.6 + PowerCLI Version : PowerCLI 11 + PowerShell Version : 5.1 + #> + + [CmdletBinding( + SupportsShouldProcess = $true, + ConfirmImpact = 'High')] + + param( + [Parameter(Mandatory=$true, Position=0)] + [string]$Server, + + [Parameter(Mandatory = $false)] + $HvServer = $null + ) + + begin { + $services = Get-ViewAPIService -hvServer $hvServer + if ($null -eq $services) { + Write-Error "Could not retrieve ViewApi services from connection object" + break + } + } + + process { + if ((Get-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance").Value -eq ""){ + Set-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance" -Value "1" | Out-Null + } + while ((Get-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance").Value -ne "2") { + shouldcontinue() + Start-Sleep -Seconds 10 + } + [System.gc]::collect() + } +} + +function Stop-HVMaintenance { + <# + .Synopsis + Takes a host out of instant clone maintanence mode + + .DESCRIPTION + Takes a host out of instant clone maintanence mode + + + .PARAMETER Host + ESXi Host name to clear the InstantClone.Maintenance attribute + + .EXAMPLE + Stop-HvMaintenance -Host + + .NOTES + Author : Jack McMichael + Author email : @jackwmc4 / jackwmc4@gmail.com + Version : 1.0 + + ===Tested Against Environment==== + Horizon View Server Version : 7.6 + PowerCLI Version : PowerCLI 11 + PowerShell Version : 5.1 + #> + [CmdletBinding( + SupportsShouldProcess = $true, + ConfirmImpact = 'High')] + + param( + [Parameter(Mandatory=$true, Position=0)] + [string]$Server, + + [Parameter(Mandatory = $false)] + $HvServer = $null + ) + + begin { + $services = Get-ViewAPIService -hvServer $hvServer + if ($null -eq $services) { + Write-Error "Could not retrieve ViewApi services from connection object" + break + } + } + + process { + if (-not (Get-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance").Value -eq "") { + Set-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance" -Value "" | Out-Null + } + Set-VMhost $Host -State Connected | Out-Null + [System.gc]::collect() + } + + +} +Export-ModuleMember Add-HVDesktop,Add-HVRDSServer,Connect-HVEvent,Disconnect-HVEvent,Get-HVPoolSpec,Get-HVInternalName, Get-HVEvent,Get-HVFarm,Get-HVFarmSummary,Get-HVPool,Get-HVPoolSummary,Get-HVMachine,Get-HVMachineSummary,Get-HVQueryResult,Get-HVQueryFilter,New-HVFarm,New-HVPool,Remove-HVFarm,Remove-HVPool,Set-HVFarm,Set-HVPool,Start-HVFarm,Start-HVPool,New-HVEntitlement,Get-HVEntitlement,Remove-HVEntitlement, Set-HVMachine, New-HVGlobalEntitlement, Remove-HVGlobalEntitlement, Get-HVGlobalEntitlement, Set-HVApplicationIcon, Remove-HVApplicationIcon, Get-HVGlobalSettings, Set-HVGlobalSettings, Set-HVGlobalEntitlement, Get-HVResourceStructure, Get-HVLocalSession, Get-HVGlobalSession, Reset-HVMachine, Remove-HVMachine, Get-HVHealth, New-HVPodfederation, Remove-HVPodFederation, Get-HVPodFederation, Register-HVPod, Unregister-HVPod, Set-HVPodFederation,Get-HVSite,New-HVSite,Set-HVSite,Remove-HVSite,New-HVHomeSite,Get-HVHomeSite,Set-HVEventDatabase,Get-HVEventDatabase,Clear-HVEventDatabase,Get-HVlicense,Set-HVlicense, Start-HVMaintenance, Stop-HVMaintenance \ No newline at end of file From f9953ec994ebfe26997656d5292b90c12d9c8e95 Mon Sep 17 00:00:00 2001 From: Jack McMichael Date: Sat, 1 Dec 2018 20:55:50 -0700 Subject: [PATCH 2/8] Update VMware.HV.Helper.psm1 Added Set-HVInstantCloneMaintenance function. --- .../VMware.Hv.Helper/VMware.HV.Helper.psm1 | 111 ++++++------------ 1 file changed, 38 insertions(+), 73 deletions(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index 9eb2254..3f0fe30 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -11478,20 +11478,26 @@ function Get-HVlicense { [System.gc]::collect() } -function Start-HVMaintenance { +function Set-HVInstantCloneMaintenance { <# .Synopsis - Puts a host in instant clone maintanence mode + Enable or disable instant clone maintanence mode .DESCRIPTION - Puts a host in instant clone maintanence mode + Toggles a host in instant clone maintanence mode. Specify the VMHost name and enable or disable to toggle. + .PARAMETER VMHost + ESXi Host name to modify the InstantClone.Maintenance attribute - .PARAMETER Host - ESXi Host name to modify the InstantClone.Maintenance attribute - + .PARAMETER Enable + Enable Instant Clone maintenance mode. + + .PARAMETER Disable + Disable Instant Clone maintenance mode + .EXAMPLE - Start-HvMaintenance -Host + Set-HvInstantCloneMaintenance -VMHost -Enable $true + Set-HvInstantCloneMaintenance -VMHost -Disable $true .NOTES Author : Jack McMichael @@ -11510,11 +11516,20 @@ function Start-HVMaintenance { param( [Parameter(Mandatory=$true, Position=0)] - [string]$Server, + [string] + $VMHost, + + [Parameter(Mandatory = $false)] + [boolean] + $Enable, + + [Parameter(Mandatory = $false)] + [boolean] + $Disable, [Parameter(Mandatory = $false)] $HvServer = $null - ) + ) begin { $services = Get-ViewAPIService -hvServer $hvServer @@ -11525,70 +11540,20 @@ function Start-HVMaintenance { } process { - if ((Get-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance").Value -eq ""){ - Set-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance" -Value "1" | Out-Null + if ($Enable) { + if ((Get-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance").Value -eq ""){ + Set-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance" -Value "1" | Out-Null + } + while ((Get-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance").Value -ne "2") { + Start-Sleep -Seconds 10 + } + } elseif ($Disable) { + if (-not (Get-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance").Value -eq "") { + Set-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance" -Value "" | Out-Null + } + Set-VMhost $VMHost -State Connected | Out-Null } - while ((Get-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance").Value -ne "2") { - shouldcontinue() - Start-Sleep -Seconds 10 - } - [System.gc]::collect() + [System.gc]::collect() } } - -function Stop-HVMaintenance { - <# - .Synopsis - Takes a host out of instant clone maintanence mode - - .DESCRIPTION - Takes a host out of instant clone maintanence mode - - - .PARAMETER Host - ESXi Host name to clear the InstantClone.Maintenance attribute - - .EXAMPLE - Stop-HvMaintenance -Host - - .NOTES - Author : Jack McMichael - Author email : @jackwmc4 / jackwmc4@gmail.com - Version : 1.0 - - ===Tested Against Environment==== - Horizon View Server Version : 7.6 - PowerCLI Version : PowerCLI 11 - PowerShell Version : 5.1 - #> - [CmdletBinding( - SupportsShouldProcess = $true, - ConfirmImpact = 'High')] - - param( - [Parameter(Mandatory=$true, Position=0)] - [string]$Server, - - [Parameter(Mandatory = $false)] - $HvServer = $null - ) - - begin { - $services = Get-ViewAPIService -hvServer $hvServer - if ($null -eq $services) { - Write-Error "Could not retrieve ViewApi services from connection object" - break - } - } - - process { - if (-not (Get-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance").Value -eq "") { - Set-Annotation -Entity (Get-VMHost -Name $Server) -CustomAttribute "InstantClone.Maintenance" -Value "" | Out-Null - } - Set-VMhost $Host -State Connected | Out-Null - [System.gc]::collect() - } - - -} -Export-ModuleMember Add-HVDesktop,Add-HVRDSServer,Connect-HVEvent,Disconnect-HVEvent,Get-HVPoolSpec,Get-HVInternalName, Get-HVEvent,Get-HVFarm,Get-HVFarmSummary,Get-HVPool,Get-HVPoolSummary,Get-HVMachine,Get-HVMachineSummary,Get-HVQueryResult,Get-HVQueryFilter,New-HVFarm,New-HVPool,Remove-HVFarm,Remove-HVPool,Set-HVFarm,Set-HVPool,Start-HVFarm,Start-HVPool,New-HVEntitlement,Get-HVEntitlement,Remove-HVEntitlement, Set-HVMachine, New-HVGlobalEntitlement, Remove-HVGlobalEntitlement, Get-HVGlobalEntitlement, Set-HVApplicationIcon, Remove-HVApplicationIcon, Get-HVGlobalSettings, Set-HVGlobalSettings, Set-HVGlobalEntitlement, Get-HVResourceStructure, Get-HVLocalSession, Get-HVGlobalSession, Reset-HVMachine, Remove-HVMachine, Get-HVHealth, New-HVPodfederation, Remove-HVPodFederation, Get-HVPodFederation, Register-HVPod, Unregister-HVPod, Set-HVPodFederation,Get-HVSite,New-HVSite,Set-HVSite,Remove-HVSite,New-HVHomeSite,Get-HVHomeSite,Set-HVEventDatabase,Get-HVEventDatabase,Clear-HVEventDatabase,Get-HVlicense,Set-HVlicense, Start-HVMaintenance, Stop-HVMaintenance \ No newline at end of file +Export-ModuleMember Add-HVDesktop,Add-HVRDSServer,Connect-HVEvent,Disconnect-HVEvent,Get-HVPoolSpec,Get-HVInternalName, Get-HVEvent,Get-HVFarm,Get-HVFarmSummary,Get-HVPool,Get-HVPoolSummary,Get-HVMachine,Get-HVMachineSummary,Get-HVQueryResult,Get-HVQueryFilter,New-HVFarm,New-HVPool,Remove-HVFarm,Remove-HVPool,Set-HVFarm,Set-HVPool,Start-HVFarm,Start-HVPool,New-HVEntitlement,Get-HVEntitlement,Remove-HVEntitlement, Set-HVMachine, New-HVGlobalEntitlement, Remove-HVGlobalEntitlement, Get-HVGlobalEntitlement, Set-HVApplicationIcon, Remove-HVApplicationIcon, Get-HVGlobalSettings, Set-HVGlobalSettings, Set-HVGlobalEntitlement, Get-HVResourceStructure, Get-HVLocalSession, Get-HVGlobalSession, Reset-HVMachine, Remove-HVMachine, Get-HVHealth, New-HVPodfederation, Remove-HVPodFederation, Get-HVPodFederation, Register-HVPod, Unregister-HVPod, Set-HVPodFederation,Get-HVSite,New-HVSite,Set-HVSite,Remove-HVSite,New-HVHomeSite,Get-HVHomeSite,Set-HVEventDatabase,Get-HVEventDatabase,Clear-HVEventDatabase,Get-HVlicense,Set-HVlicense, Set-HVInstantCloneMaintenance \ No newline at end of file From 53b8377c5395c2b699881a09084679561bccd7a2 Mon Sep 17 00:00:00 2001 From: Jack McMichael Date: Sat, 1 Dec 2018 20:59:06 -0700 Subject: [PATCH 3/8] Update VMware.HV.Helper.psm1 --- Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index 3f0fe30..32322e7 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -11479,14 +11479,14 @@ function Get-HVlicense { } function Set-HVInstantCloneMaintenance { - <# - .Synopsis + <# + .Synopsis Enable or disable instant clone maintanence mode - - .DESCRIPTION + + .DESCRIPTION Toggles a host in instant clone maintanence mode. Specify the VMHost name and enable or disable to toggle. - .PARAMETER VMHost + .PARAMETER VMHost ESXi Host name to modify the InstantClone.Maintenance attribute .PARAMETER Enable From 4ef4cce5efcc2dce3260058b98e81a71f70f5484 Mon Sep 17 00:00:00 2001 From: Jack McMichael Date: Sat, 1 Dec 2018 21:01:25 -0700 Subject: [PATCH 4/8] Update VMware.HV.Helper.psm1 --- .../VMware.Hv.Helper/VMware.HV.Helper.psm1 | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index 32322e7..4379f31 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -11495,19 +11495,19 @@ function Set-HVInstantCloneMaintenance { .PARAMETER Disable Disable Instant Clone maintenance mode - .EXAMPLE + .EXAMPLE Set-HvInstantCloneMaintenance -VMHost -Enable $true Set-HvInstantCloneMaintenance -VMHost -Disable $true - - .NOTES - Author : Jack McMichael - Author email : @jackwmc4 / jackwmc4@gmail.com - Version : 1.0 + + .NOTES + Author : Jack McMichael + Author email : @jackwmc4 / jackwmc4@gmail.com + Version : 1.0 - ===Tested Against Environment==== - Horizon View Server Version : 7.6 - PowerCLI Version : PowerCLI 11 - PowerShell Version : 5.1 + ===Tested Against Environment==== + Horizon View Server Version : 7.6 + PowerCLI Version : PowerCLI 11 + PowerShell Version : 5.1 #> [CmdletBinding( From e5920d40f5069537042f1be5e538f0e8fcb30d2f Mon Sep 17 00:00:00 2001 From: Jack McMichael Date: Sat, 1 Dec 2018 21:15:51 -0700 Subject: [PATCH 5/8] Update VMware.HV.Helper.psm1 Updating exports to be more organized --- .../VMware.Hv.Helper/VMware.HV.Helper.psm1 | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index 4379f31..e42b8e2 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -11556,4 +11556,22 @@ function Set-HVInstantCloneMaintenance { [System.gc]::collect() } } -Export-ModuleMember Add-HVDesktop,Add-HVRDSServer,Connect-HVEvent,Disconnect-HVEvent,Get-HVPoolSpec,Get-HVInternalName, Get-HVEvent,Get-HVFarm,Get-HVFarmSummary,Get-HVPool,Get-HVPoolSummary,Get-HVMachine,Get-HVMachineSummary,Get-HVQueryResult,Get-HVQueryFilter,New-HVFarm,New-HVPool,Remove-HVFarm,Remove-HVPool,Set-HVFarm,Set-HVPool,Start-HVFarm,Start-HVPool,New-HVEntitlement,Get-HVEntitlement,Remove-HVEntitlement, Set-HVMachine, New-HVGlobalEntitlement, Remove-HVGlobalEntitlement, Get-HVGlobalEntitlement, Set-HVApplicationIcon, Remove-HVApplicationIcon, Get-HVGlobalSettings, Set-HVGlobalSettings, Set-HVGlobalEntitlement, Get-HVResourceStructure, Get-HVLocalSession, Get-HVGlobalSession, Reset-HVMachine, Remove-HVMachine, Get-HVHealth, New-HVPodfederation, Remove-HVPodFederation, Get-HVPodFederation, Register-HVPod, Unregister-HVPod, Set-HVPodFederation,Get-HVSite,New-HVSite,Set-HVSite,Remove-HVSite,New-HVHomeSite,Get-HVHomeSite,Set-HVEventDatabase,Get-HVEventDatabase,Clear-HVEventDatabase,Get-HVlicense,Set-HVlicense, Set-HVInstantCloneMaintenance \ No newline at end of file +# Object related +Export-ModuleMember -Function Get-HVMachine, Get-HVMachineSummary, Get-HVQueryResult, Get-HVQueryFilter, Get-HVInternalName +# RDS Farm related +Export-ModuleMember -Function Get-HVFarmSummary, Start-HVFarm, Start-HVPool, New-HVFarm, Remove-HVFarm, Get-HVFarm, Set-HVFarm, Add-HVRDSServer +# Desktop Pool related +Export-ModuleMember -Function Get-HVPoolSummary, New-HVPool, Remove-HVPool, Get-HVPool, Set-HVPool, Get-HVPoolSpec, Add-HVDesktop +# Entitlement related +Export-ModuleMember -Function New-HVEntitlement,Get-HVEntitlement,Remove-HVEntitlement +Export-ModuleMember -Function Set-HVMachine, Reset-HVMachine, Remove-HVMachine +# Cloud Pod Architecture related +Export-ModuleMember -Function New-HVGlobalEntitlement, Remove-HVGlobalEntitlement, Get-HVGlobalEntitlement, Set-HVGlobalEntitlement, New-HVPodFederation, Remove-HVPodFederation, Get-HVPodFederation, Set-HVPodFederation +Export-ModuleMember -Function Get-HVSite, New-HVSite, New-HVHomeSite, Remove-HVSite, Get-HVHomeSite, Set-HVSite, Register-HVPod, Unregister-HVPod +# Published App related +Export-ModuleMember -Function Get-HVGlobalSettings, Set-HVApplicationIcon, Remove-HVApplicationIcon, Set-HVGlobalSettings +Export-ModuleMember -Function Get-HVResourceStructure, Get-HVLocalSession, Get-HVGlobalSession +# Event Database related +Export-ModuleMember -Function Get-HVEventDatabase, Set-HVEventDatabase, Clear-HVEventDatabase, Get-HVEvent, Connect-HVEvent, Disconnect-HVEvent +# Misc/other related +Export-ModuleMember -Function Get-HVlicense, Set-HVlicense, Get-HVHealth, Set-HVInstantCloneMaintenance \ No newline at end of file From c7a19c795e2af4bcb578b1710423c14bca62aab0 Mon Sep 17 00:00:00 2001 From: Jack McMichael Date: Sun, 2 Dec 2018 17:01:26 -0700 Subject: [PATCH 6/8] Update VMware.HV.Helper.psm1 Changed booleans to switches after looking at other uses in the code. --- Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index e42b8e2..30336f5 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -11520,11 +11520,11 @@ function Set-HVInstantCloneMaintenance { $VMHost, [Parameter(Mandatory = $false)] - [boolean] + [switch] $Enable, [Parameter(Mandatory = $false)] - [boolean] + [switch] $Disable, [Parameter(Mandatory = $false)] From cea57f11d5f72becdb63f4f29c60b04fae720808 Mon Sep 17 00:00:00 2001 From: Jack McMichael Date: Tue, 4 Dec 2018 14:05:08 -0700 Subject: [PATCH 7/8] Update VMware.HV.Helper.psm1 Added per feedback --- Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index 30336f5..0a4efe9 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -11545,11 +11545,13 @@ function Set-HVInstantCloneMaintenance { Set-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance" -Value "1" | Out-Null } while ((Get-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance").Value -ne "2") { + Write-Host "Instant Clone Maintenance Mode: Enabling for $VMHost...(This could take some time)" Start-Sleep -Seconds 10 } } elseif ($Disable) { if (-not (Get-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance").Value -eq "") { Set-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance" -Value "" | Out-Null + Write-Host "Instant Clone Maintenance Mode: Disabling for $VMHost" } Set-VMhost $VMHost -State Connected | Out-Null } From bd983dcd7fc5a7436de6c6243601d38d62f5ecb4 Mon Sep 17 00:00:00 2001 From: Jack McMichael Date: Wed, 5 Dec 2018 13:00:12 -0700 Subject: [PATCH 8/8] Update VMware.HV.Helper.psm1 Moving messaging so it doesn't repeat over and over. --- Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index 0a4efe9..eee2b67 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -11543,9 +11543,9 @@ function Set-HVInstantCloneMaintenance { if ($Enable) { if ((Get-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance").Value -eq ""){ Set-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance" -Value "1" | Out-Null + Write-Host "Instant Clone Maintenance Mode: Enabling for $VMHost...(This could take some time)" } while ((Get-Annotation -Entity (Get-VMHost -Name $VMHost) -CustomAttribute "InstantClone.Maintenance").Value -ne "2") { - Write-Host "Instant Clone Maintenance Mode: Enabling for $VMHost...(This could take some time)" Start-Sleep -Seconds 10 } } elseif ($Disable) {