Merge pull request #587 from Geo-Ron/issue-586

HV.Helper: Issue 586 - reEnable vTPM if previously defined on desktop pool
This commit is contained in:
kamennikolov
2022-08-17 14:45:21 +03:00
committed by GitHub

View File

@@ -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)