Public/Discovery/Get-DomainMatchingServicePrincipal.ps1
function Get-DomainMatchingServicePrincipal { [CmdletBinding()] param ( ) end { $DomainList = '^(?:{0})$' -f ((Get-MsolDomain).name.foreach{ [regex]::Escape($_) } -join '|') $SPNList = Get-MsolServicePrincipal -All $SPNList.Where{ $_.ServicePrincipalNames -match $DomainList } | Select-Object @( @{ Name = 'DisplayName' Expression = { $_.DisplayName } } @{ Name = "AccountEnabled" Expression = { $_.AccountEnabled } } @{ Name = "ServicePrincipalName" Expression = { ($_.ServicePrincipalNames).Where{ $_ -match $DomainList } } } ) } } |