Sep 13 2022 02:38 AM
Hi all,
under my tenant I have several domains with their accounts.
I would like to write a script (or a single command even), to get all the aliases.
Something like this would be fine:
alias, UPN
...
obviously, if a UPN has multiple aliases, the list should show multiple lines....
thanks!
mf
Sep 13 2022 06:38 AM
Solution
This should give you a list of Alias and UPN, use connect-msolService first
$total = @()
foreach ($user in Get-MsolUser -All) {
foreach ($alias in $user.ProxyAddresses) {
$founduser = [pscustomobject]@{
Alias = $alias.Split(':')[1]
UPN = $user.UserPrincipalName
}
$total += $founduser
}
}
$total | Sort-Object Alias
Sep 13 2022 06:48 AM
Sep 13 2022 06:53 AM
@mfranhind115 No problem, I think this should work:
$total = @()
foreach ($user in Get-MsolUser -All) {
foreach ($alias in $user.ProxyAddresses) {
if (-not ($alias.Split(':')[1] -eq $user.UserPrincipalName)) {
$founduser = [pscustomobject]@{
Alias = $alias.Split(':')[1]
UPN = $user.UserPrincipalName
}
$total += $founduser
}
}
}
$total | Sort-Object Alias
Sep 13 2022 06:38 AM
Solution
This should give you a list of Alias and UPN, use connect-msolService first
$total = @()
foreach ($user in Get-MsolUser -All) {
foreach ($alias in $user.ProxyAddresses) {
$founduser = [pscustomobject]@{
Alias = $alias.Split(':')[1]
UPN = $user.UserPrincipalName
}
$total += $founduser
}
}
$total | Sort-Object Alias