Update to Remove-HVEntitlement()

See Issue #163
This commit is contained in:
mtelvers
2018-02-03 13:55:28 +00:00
parent a4a976e835
commit 9c2b190faa

View File

@@ -8218,13 +8218,12 @@ function Remove-HVEntitlement {
$confirmFlag = Get-HVConfirmFlag -keys $PsBoundParameters.Keys $confirmFlag = Get-HVConfirmFlag -keys $PsBoundParameters.Keys
$AndFilter = @() $AndFilter = @()
$results = $null $results = $null
$userInfo = Get-UserInfo -UserName $User if ($User) {
$UserOrGroupName = $userInfo.Name $userInfo = Get-UserInfo -UserName $User
$Domain = $userInfo.Domain $AndFilter += Get-HVQueryFilter 'base.loginName' -Eq $userInfo.Name
$nameFilter = Get-HVQueryFilter 'base.name' -Eq $UserOrGroupName $AndFilter += Get-HVQueryFilter 'base.domain' -Eq $userInfo.Domain
$doaminFilter = Get-HVQueryFilter 'base.domain' -Eq $Domain }
$IsGroup = ($Type -eq 'Group') $AndFilter += Get-HVQueryFilter 'base.group' -Eq ($Type -eq 'Group')
$groupFilter = Get-HVQueryFilter 'base.group' -Eq $IsGroup
[VMware.Hv.UserEntitlementId[]] $userEntitlements = $null [VMware.Hv.UserEntitlementId[]] $userEntitlements = $null
if ($ResourceName) { if ($ResourceName) {
$info = $services.PodFederation.PodFederation_get() $info = $services.PodFederation.PodFederation_get()
@@ -8240,10 +8239,15 @@ function Remove-HVEntitlement {
$results = Get-HVQueryResult -EntityType EntitledUserOrGroupLocalSummaryView -Filter $filters -HvServer $HvServer $results = Get-HVQueryResult -EntityType EntitledUserOrGroupLocalSummaryView -Filter $filters -HvServer $HvServer
if ($results) { if ($results) {
foreach ($result in $Results) { foreach ($result in $Results) {
$userEntitlements = $result.localData.desktopUserEntitlements $deleteResources = @()
Write-Host $userEntitlements.Length " desktopUserEntitlement(s) will be removed for UserOrGroup " $user for ($i = 0; $i -lt $result.localdata.desktops.length; $i++) {
if ($ResourceObjs.Id.id -eq $result.localdata.Desktops[$i].id) {
$deleteResources += $result.localdata.DesktopUserEntitlements[$i]
}
}
Write-Host $deleteResources.Length " desktopUserEntitlement(s) will be removed for UserOrGroup " $user
if (!$confirmFlag -OR $pscmdlet.ShouldProcess($User)) { if (!$confirmFlag -OR $pscmdlet.ShouldProcess($User)) {
$services.UserEntitlement.UserEntitlement_DeleteUserEntitlements($userEntitlements) $services.UserEntitlement.UserEntitlement_DeleteUserEntitlements($deleteResources)
} }
} }
} }
@@ -8345,10 +8349,15 @@ function Remove-HVEntitlement {
$results = Get-HVQueryResult -EntityType EntitledUserOrGroupGlobalSummaryView -Filter $AndFilter -HvServer $HvServer $results = Get-HVQueryResult -EntityType EntitledUserOrGroupGlobalSummaryView -Filter $AndFilter -HvServer $HvServer
if ($results) { if ($results) {
foreach ($result in $Results) { foreach ($result in $Results) {
$userEntitlements = $result.globalData.globalUserEntitlements $deleteResources = @()
Write-Host $userEntitlements.Length " GlobalEntitlement(s) will be removed for UserOrGroup " $user for ($i = 0; $i -lt $result.globalData.globalEntitlements.length; $i++) {
if ($ResourceObjs.Id.id -eq $result.globalData.globalEntitlements[$i].id) {
$deleteResources += $result.globalData.globalUserEntitlements[$i]
}
}
Write-Host $deleteResources.Length " GlobalEntitlement(s) will be removed for UserOrGroup " $user
if (!$confirmFlag -OR $pscmdlet.ShouldProcess($User)) { if (!$confirmFlag -OR $pscmdlet.ShouldProcess($User)) {
$services.UserEntitlement.UserEntitlement_DeleteUserEntitlements($userEntitlements) $services.UserEntitlement.UserEntitlement_DeleteUserEntitlements($deleteResources)
} }
} }