Slackbot
02/24/2023, 3:05 PMNick Panaccio
02/24/2023, 3:10 PM$ErrorActionPreference = 'SilentlyContinue'
Clear-Host
$Log = ".\CTX-GetDGUsers.csv"
$Results = New-Object System.Collections.ArrayList
$Results.Add("Broker,DG,Username,Name,Email") | Out-Null
$Brokers = "CTXBROKER1","CTXBROKER1"
ForEach ($Broker in $Brokers) {
$DGs = (Get-BrokerDesktopGroup -AdminAddress $Broker | Where {$_.Name -like "*GroupName1*" -and $_.Name -notlike "*UAT*"}).Name
ForEach ($DG in $DGs) {
Write-Host "Querying " -NoNewLine; Write-Host "$DG" -ForegroundColor Green -NoNewLine; Write-Host " on " -NoNewLine; Write-Host "$Broker" -ForegroundColor Green
$Users = (Get-BrokerAccessPolicyRule -AdminAddress $Broker -DesktopGroupName $DG | Select -ExpandProperty IncludedUsers).Name | Select -Unique
ForEach ($User in $Users) {
$ADDomain,$ADUsername = $User.Split('\')
$ADUser = Get-ADUser $ADUsername -Property * -Server $ADDomain
$DisplayName = $ADUser.DisplayName
$Email = $ADUser.Mail
$Results.Add("$Broker,$DG,$User,""$DisplayName"",$Email") | Out-Null
$ADUser = $Null
}
$Users = $Null
}
$DGs = $Null
}
$Broker = $Null
$Results | Out-File -Append $Log