Re: Get Domain Name
- From: "Joe Kaplan" <joseph.e.kaplan@xxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 11 Jan 2007 20:28:57 -0600
The domain name for what? If you want the current user's domain name (which
is what you are getting with this code), why not parse out what is returned
from System.Security.Principal.WindowsIdentity.GetCurrent().Name?
Joe K.
--
Joe Kaplan-MS MVP Directory Services Programming
Co-author of "The .NET Developer's Guide to Directory Services Programming"
http://www.directoryprogramming.net
--
"Dan" <danycloutier@xxxxxxxxx> wrote in message
news:1168546323.938859.257680@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi
I need to get the Domain Name in NT format. I can do it with the
following code, but it takes 5 seconds to execute, which is to much for
me. Anyone know how to do it faster ?
Thanks
Dany
DirectoryEntry rootDSE = new
DirectoryEntry("LDAP://RootDSE");
string dnc =
(string)rootDSE.Properties["defaultNamingContext"].Value;
DWORD rc; //code de retour
HANDLE handle = IntPtr.Zero;
rc = NativeMethods.DsBind(
null,
null,
out handle
);
if (rc != 0)
{
throw new Exception("...");
}
string[] nomDomaine;
try
{
nomDomaine = NameUtility.DsCrackNamesWrapper(
new string[] { dnc },
handle,
DS_NAME_FORMAT.DS_FQDN_1779_NAME,
DS_NAME_FORMAT.DS_NT4_ACCOUNT_NAME
);
}
catch (Exception ex)
{
throw new Exception("...." + ex.Message);
}
finally
{
NativeMethods.DsUnBind(ref handle);
}
return nomDomaine[0];
.
- References:
- Get Domain Name
- From: Dan
- Get Domain Name
- Prev by Date: Re: Authentication exception calling ActiveDirectory.Domain.GetCom
- Next by Date: Re: Authentication exception calling ActiveDirectory.Domain.GetCom
- Previous by thread: Get Domain Name
- Index(es):
Relevant Pages
|