1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| /// <summary>
/// Translates a GPO GUID into its Name.
/// </summary>
/// <param name="path">The path to the GPO object into the Active Directory.</param>
/// <returns>A string.</returns>
private static string GetGpoNameFromGuid(string path)
{
var directoryEntry = new DirectoryEntry(string.Concat(LDAP_PREFIX, path), null, null, AuthenticationTypes.Secure);
using (var searcher = new DirectorySearcher(directoryEntry))
{
// Search mode
searcher.SearchScope = SearchScope.Subtree;
// Timeout
searcher.ClientTimeout = new TimeSpan(0, 0, 5);
try
{
// Search for the specified path
var result = searcher.FindOne();
if (result != null)
{
// Get the name
if (result.Properties["displayName"][0] != null)
{
searcher.Dispose();
return result.Properties["displayName"][0].ToString();
}
}
}
catch (Exception ex)
{
throw ex;
}
}
return string.Format("The specified GPO ({0}) was not found!", path);
} |
Partager