using System;
using System.Security.Principal;
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
using System.DirectoryServices.AccountManagement;
using ActiveDs;
namespace ADOwner
{
class Program
{
static void Main(string[] args)
{
string ADDomain = "yourdomain.com";
string ADUser = "youraduser";
string ADPass = "youradpass";
string ADsAMAccountName = "YOURDOMAIN\\USERNAMEHERE";
using (var pc = new PrincipalContext(ContextType.Domain, ADDomain, ADUser, ADPass))
{
// get UserPrincipal Object
UserPrincipal inetPerson = UserPrincipal.FindByIdentity(pc, IdentityType.SamAccountName, ADsAMAccountName);
// Get Directory Entry Object
DirectoryEntry de = inetPerson.GetUnderlyingObject() as DirectoryEntry;
// Get Active Directory Security Object
ActiveDirectorySecurity ads = de.ObjectSecurity;
// Get sid Object
SecurityIdentifier sid = new SecurityIdentifier(ads.GetOwner((typeof(SecurityIdentifier))).Value);
// Translate sid to account
NTAccount account = (NTAccount)sid.Translate(typeof(NTAccount));
// Get owner string
Console.WriteLine("Owner: {0}",account.ToString());
Console.ReadKey();
}
}
}
}