diff --git a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 index c62fb11..f9d53f1 100644 --- a/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 +++ b/Modules/VMware.Hv.Helper/VMware.HV.Helper.psm1 @@ -7028,6 +7028,7 @@ function Start-HVPool { $poolList = @{} $poolType = @{} $poolSource = @{} + $poolProvisioningSpecs = @{} if ($pool) { foreach ($item in $pool) { if ($item.GetType().name -eq 'DesktopInfo') { @@ -7056,6 +7057,19 @@ function Start-HVPool { Write-Error "No desktopsummarydata found with pool name: [$item]" break } + try { + $poolSettingsObj = Get-HVPool -poolName $item -suppressInfo $true -hvServer $hvServer + } catch { + Write-Error "Make sure Get-HVPool advanced function is loaded, $_" + break + } + if ($poolSettingsObj) { + $poolProvisioningSettings = $poolSettingsObj.AutomatedDesktopData.VirtualCenterProvisioningSettings + Write-Verbose "retrieved Pool Settings: $($poolProvisioningSettings | Out-String)" + } else { + Write-Error "No pool information found with pool name: [$item]" + break + } } else { Write-Error "In pipeline did not get object of expected type DesktopSummaryView/DesktopInfo" break @@ -7063,6 +7077,7 @@ function Start-HVPool { $poolList.Add($id,$name) $poolType.Add($id,$type) $poolSource.Add($id,$source) + $poolProvisioningSpecs.Add($id,$poolProvisioningSettings) } } } @@ -7124,6 +7139,11 @@ function Start-HVPool { $spec.Settings = New-Object VMware.Hv.DesktopPushImageSettings $spec.Settings.LogoffSetting = $logoffSetting $spec.Settings.StopOnFirstError = $stopOnFirstError + $spec.Settings.AddVirtualTPM = ($poolProvisioningSpecs.$item).AddVirtualTPM + If (($poolProvisioningSpecs.$item).AddVirtualTPM) { + Write-Verbose -Message "Restoring previous vTPM state" + } + Write-Debug -Message "fetched pool provisioning specs: $(($poolProvisioningSpecs.$item) | Out-String)" if ($startTime) { $spec.Settings.startTime = $startTime } if (!$confirmFlag -OR $pscmdlet.ShouldProcess($poolList.$item)) { $desktop_helper.Desktop_SchedulePushImage($services,$item,$spec)