private775 icon

PS: [ADSI] Get user SPNs

private775 | PRO | 05/03/18 05:59:04 AM UTC | 0 ⭐ | 774 👁️ | Never ⏰ | []
PowerShell |

1.26 KB

|

None

|

0 👍

/

0 👎

function get-AdUserSpns {
    Param(
        [string]$samAccountName = $env:USERNAME
    )
    $search = New-Object DirectoryServices.DirectorySearcher([ADSI]"")
    $search.filter = "(&(samAccountType=805306368)(samAccountName=$($samAccountName)))"
    $results = $search.Findall()
 
    #list results
    foreach($result in $results)
    {
           $userEntry = $result.GetDirectoryEntry()
           Write-host "Object Name    = " $userEntry.name -backgroundcolor "yellow" -foregroundcolor "black"
           Write-host "samAccountName = "  $userEntry.samAccountName
           Write-host "DN             = "  $userEntry.distinguishedName
           Write-host "Object Cat.    = "  $userEntry.objectCategory
           if($userEntry.servicePrincipalName.Count -gt 0){
               Write-host -BackgroundColor DarkGreen -ForegroundColor Yellow "Found servicePrincipalNames:"
               $i=1
               foreach($SPN in $userEntry.servicePrincipalName)
               {
                   Write-host "SPN($($i.ToString('D3')))       = $($SPN)"
                   $i+=1
               }
           } else {
                  Write-Host -BackgroundColor DarkRed -ForegroundColor Yellow "No SPNs for a user"
           }
           Write-host ""
    }
}

Comments