Hi guys,
I am trying to make a script which gets entitlements of all the desktop pools.
I could take entitlements of a single desktop pool by below script.
$desEntitlements = Get-HVEntitlement -ResourceName 'desktop-pool-01'
Write-Host 'Desktop entitlements:';
foreach ($info in $desEntitlements) {
write-host $info.base.loginname;
}
Output:
Desktop entitlements:
user01
user02
But dont know how to fetch it for all the desktop pools of the connected view server.
Expected csv output:
Desktop Pool Name | Entitlement |
desktop-pool-01 | user01, user02 |
desktop-pool-02 | user01, user03 |
.
.
.
Any help?
Strange.
And when you do it this way?
$pool = $_
$entitlements = Get-HVEntitlement -ResourceName $pool.Base.Name |
ForEach-Object -Process {
$_.Base.LoginName
}
'' |Select @{N='Desktop Pool Name';E={$pool.Base.Name}},
@{N='Entitlement';E={$entitlements -join ','}}
}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Something like this?
$pool = $_
Get-HVEntitlement -ResourceName $pool |
Select @{N='Desktop Pool Name';E={$pool.Base.Name}},
@{N='Entitlement';E={$_.Base.LoginName -join '|'}}
}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Hi LucD,
Thanks for the reply.
Tried the above script and got this output (:
So Get-HVPool does not return anything?
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Get-hvpool returns the usual stuff lucd.
And if you replace that line with
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Awesome Lucd....Its working now.
Now the output is like,each entitlement takes a separate row for the same desktop pool.
Example:
Desktop Pool Name | Entitlement |
desktop-pool-01 | user01 |
desktop-pool-01 | user02 |
desktop-pool-01 | user03 |
desktop-pool-02 | user02 |
How to make the entitlements of single desktop pool in a single row. Like,
Desktop Pool Name | Entitlement |
desktop-pool-01 | user01, user02, user03 |
desktop-pool-02 | user02,user04 |
Try something like this then
Select N='Desktop Pool Name';E={$_.Base.Name}},
@{N='Entitlement';E={(Get-HVEntitlement -ResourceName $_.Base.Name).Base.LoginName -join ','}}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
No Lucd...It is returning the error again.
"No pool found with given resourcename"
Strange.
And when you do it this way?
$pool = $_
$entitlements = Get-HVEntitlement -ResourceName $pool.Base.Name |
ForEach-Object -Process {
$_.Base.LoginName
}
'' |Select @{N='Desktop Pool Name';E={$pool.Base.Name}},
@{N='Entitlement';E={$entitlements -join ','}}
}
Blog: lucd.info Twitter: @LucD22 Co-author PowerCLI Reference
Bingo....
Its working lucd....Keep rocking.