Get the Current User’s Active Directory GUID and SID in C#

You can get an Active Directory User’s GUID and SID in C# by using UserPrincipal class. The UserPrincipal class exists under the namespace System.DirectoryServices.AccountManagement and it is available only from .NET 3.5.

# 1 – Create a new Console Application project in Visual Studio.

# 2 – Add a a.NET reference System.DirectoryServices.AccountManagement

# 3 – Then use the below code to get currently logged in user’s Name, GUID, SID and UserPrincipalName.

using System;
using System.DirectoryServices.AccountManagement;
 
namespace ADUserInfo
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Name: " + UserPrincipal.Current.Name);
            Console.WriteLine("GUID: " + UserPrincipal.Current.Guid);
            Console.WriteLine(" SID: " + UserPrincipal.Current.Sid);
            Console.WriteLine("UPN: " + UserPrincipal.Current.UserPrincipalName);
        }
    }
}

Advertisement

2 thoughts on “Get the Current User’s Active Directory GUID and SID in C#”

  1. In Powershell you must before loading the AccountManagement module and then works.

    You can load the module with this Code:
    $OrgLocation = Get-Location
    Set-Location “C:\Windows\Microsoft.Net\assembly”
    Set-Location (Get-ChildItem -Path “System.DirectoryServices.AccountManagement.dll” -Recurse).Directory
    Add-Type -AssemblyName System.DirectoryServices.AccountManagement
    Set-Location $OrgLocation
    Remove-Variable OrgLocation

    And then you can see with this code that working fine:
    Write-Host “Name: “([System.DirectoryServices.AccountManagement.UserPrincipal]::Current.Name)
    Write-Host “GUID: “([System.DirectoryServices.AccountManagement.UserPrincipal]::Current.Guid)
    Write-Host ” SID: “([System.DirectoryServices.AccountManagement.UserPrincipal]::Current.Sid)
    Write-Host “UPN: “([System.DirectoryServices.AccountManagement.UserPrincipal]::Current.UserPrincipalName)

    Reply

Leave a Comment