NamingConversion/Source/NamingConversion/Conversion.cs
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CPolydorou.ActiveDirectory.NamingConversion { public static class Conversion { #region Convert From CN /// <summary> /// Get the NT value using CN /// </summary> /// <param name="CN"></param> /// <returns></returns> public static String CNtoNT(String CN) { Int32 nameTypeCN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_CANONICAL; Int32 nameTypeNT4 = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_NT4; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeCN, CN); String nt = nameTranslate.Get(nameTypeNT4); return nt; } /// <summary> /// Get the UPN value using CN /// </summary> /// <param name="CN"></param> /// <returns></returns> public static String CNtoUPN(String CN) { Int32 nameTypeCN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_CANONICAL; Int32 nameTypeUPN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_USER_PRINCIPAL_NAME; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeCN, CN); String upn = nameTranslate.Get(nameTypeUPN); return upn; } /// <summary> /// Get the DN value using CN /// </summary> /// <param name="CN"></param> /// <returns></returns> public static String CNtoDN(String CN) { Int32 nameTypeCN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_CANONICAL; Int32 nameTypeDN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_1779; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeCN, CN); String dn = nameTranslate.Get(nameTypeDN); return dn; } #endregion #region Convert From DN /// <summary> /// Get the NT value using DN /// </summary> /// <param name="DN"></param> /// <returns></returns> public static String DNtoNT(String DN) { Int32 nameTypeDN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_1779; Int32 nameTypeNT4 = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_NT4; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeDN, DN); String nt = nameTranslate.Get(nameTypeNT4); return nt; } /// <summary> /// Get the CN value using DN /// </summary> /// <param name="DN"></param> /// <returns></returns> public static String DNtoCN(String DN) { Int32 nameTypeDN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_1779; Int32 nameTypeCN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_CANONICAL; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeDN, DN); String cn = nameTranslate.Get(nameTypeCN); return cn; } /// <summary> /// Get the UPN value using DN /// </summary> /// <param name="DN"></param> /// <returns></returns> public static String DNtoUPN(String DN) { Int32 nameTypeDN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_1779; Int32 nameTypeUPN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_USER_PRINCIPAL_NAME; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeDN, DN); String upn = nameTranslate.Get(nameTypeUPN); return upn; } #endregion #region Convert From NT /// <summary> /// Get the CN value using NT /// </summary> /// <param name="NT"></param> /// <returns></returns> public static String NTtoCN(String NT) { Int32 nameTypeNT4 = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_NT4; Int32 nameTypeCanonicalName = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_CANONICAL; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeNT4, NT); String canonicalName = nameTranslate.Get(nameTypeCanonicalName); return canonicalName; } /// <summary> /// Get the UPN value using NT /// </summary> /// <param name="NT"></param> /// <returns></returns> public static String NTtoUPN(String NT) { Int32 nameTypeNT4 = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_NT4; Int32 nameTypeUserPrincipalName = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_USER_PRINCIPAL_NAME; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeNT4, NT); String userPrincipalName = nameTranslate.Get(nameTypeUserPrincipalName); return userPrincipalName; } /// <summary> /// Get the DN value using NT /// </summary> /// <param name="NT"></param> /// <returns></returns> public static String NTtoDN(String NT) { Int32 nameTypeNT4 = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_NT4; Int32 nameTypeDN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_1779; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeNT4, NT); String distinguishedName = nameTranslate.Get(nameTypeDN); return distinguishedName; } #endregion #region Convert From UPN /// <summary> /// Get the CN value using UPN /// </summary> /// <param name="UPN"></param> /// <returns></returns> public static String UPNtoCN(String UPN) { Int32 nameTypeUPNName = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_USER_PRINCIPAL_NAME; Int32 nameTypeCanonicalName = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_CANONICAL; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeUPNName, UPN); String canonicalName = nameTranslate.Get(nameTypeCanonicalName); return canonicalName; } /// <summary> /// Get the DN value using UPN /// </summary> /// <param name="UPN"></param> /// <returns></returns> public static String UPNtoDN(String UPN) { Int32 nameTypeDistinguishedName = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_1779; Int32 nameTypeUserPrincipalName = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_USER_PRINCIPAL_NAME; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeUserPrincipalName, UPN); String distinguishedName = nameTranslate.Get(nameTypeDistinguishedName); return distinguishedName; } /// <summary> /// Get the NT value using UPN /// </summary> /// <param name="UPN"></param> /// <returns></returns> public static String UPNtoNT(String UPN) { Int32 nameTypeNT4 = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_NT4; Int32 nameTypeUPN = (int)ActiveDs.ADS_NAME_TYPE_ENUM.ADS_NAME_TYPE_USER_PRINCIPAL_NAME; ActiveDs.NameTranslate nameTranslate = new ActiveDs.NameTranslate(); nameTranslate.Set(nameTypeUPN, UPN); String nt = nameTranslate.Get(nameTypeNT4); return nt; } #endregion } } |