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:
@@ -7028,6 +7028,7 @@ function Start-HVPool {
|
|||||||
$poolList = @{}
|
$poolList = @{}
|
||||||
$poolType = @{}
|
$poolType = @{}
|
||||||
$poolSource = @{}
|
$poolSource = @{}
|
||||||
|
$poolProvisioningSpecs = @{}
|
||||||
if ($pool) {
|
if ($pool) {
|
||||||
foreach ($item in $pool) {
|
foreach ($item in $pool) {
|
||||||
if ($item.GetType().name -eq 'DesktopInfo') {
|
if ($item.GetType().name -eq 'DesktopInfo') {
|
||||||
@@ -7056,6 +7057,19 @@ function Start-HVPool {
|
|||||||
Write-Error "No desktopsummarydata found with pool name: [$item]"
|
Write-Error "No desktopsummarydata found with pool name: [$item]"
|
||||||
break
|
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 {
|
} else {
|
||||||
Write-Error "In pipeline did not get object of expected type DesktopSummaryView/DesktopInfo"
|
Write-Error "In pipeline did not get object of expected type DesktopSummaryView/DesktopInfo"
|
||||||
break
|
break
|
||||||
@@ -7063,6 +7077,7 @@ function Start-HVPool {
|
|||||||
$poolList.Add($id,$name)
|
$poolList.Add($id,$name)
|
||||||
$poolType.Add($id,$type)
|
$poolType.Add($id,$type)
|
||||||
$poolSource.Add($id,$source)
|
$poolSource.Add($id,$source)
|
||||||
|
$poolProvisioningSpecs.Add($id,$poolProvisioningSettings)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7124,6 +7139,11 @@ function Start-HVPool {
|
|||||||
$spec.Settings = New-Object VMware.Hv.DesktopPushImageSettings
|
$spec.Settings = New-Object VMware.Hv.DesktopPushImageSettings
|
||||||
$spec.Settings.LogoffSetting = $logoffSetting
|
$spec.Settings.LogoffSetting = $logoffSetting
|
||||||
$spec.Settings.StopOnFirstError = $stopOnFirstError
|
$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 ($startTime) { $spec.Settings.startTime = $startTime }
|
||||||
if (!$confirmFlag -OR $pscmdlet.ShouldProcess($poolList.$item)) {
|
if (!$confirmFlag -OR $pscmdlet.ShouldProcess($poolList.$item)) {
|
||||||
$desktop_helper.Desktop_SchedulePushImage($services,$item,$spec)
|
$desktop_helper.Desktop_SchedulePushImage($services,$item,$spec)
|
||||||
|
|||||||
Reference in New Issue
Block a user