从代码中的AD用户获取终端服务配置文件路径

时间:2013-01-29 16:03:04

标签: c# active-directory

我正在尝试使用以下代码段读取所选AD用户的终端服务配置文件路径。

...
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
... 
try 
{
   Debug.WriteLine("Looking for: " + DisplayName);
   DirectoryEntry entry = new DirectoryEntry(strLDAP, strUserName, strPassword);
   DirectorySearcher Searcher = new DirectorySearcher(entry);
   Searcher.Filter = "(displayName="+ DisplayName +")";
   SearchResult result = Searcher.FindOne();     
   DirectoryEntry found = result.GetDirectoryEntry();

   // tell if we found the right user
   Debug.WriteLine(found.Properties["mail"][0].ToString());

   // tell what the current terminal services profile path is
   Debug.WriteLine(found.InvokeGet("TerminalServicesProfilePath").ToString()); 
}
catch (DirectoryServicesComException e)
{
  Debug.WriteLine(e.Message.ToString());
}

遗憾的是,当我执行InvokeGet时,我收到以下错误:

  System.DirectoryServices.dll中发生了

... System.Runtime.InteropServices.COMException'   System.Runtime.InteropServices.COMException(0x80020006):未知名称。 (来自HRESULT的异常:0x80020006(DISP_E_UNKNOWNNAME))

我碰到了.. 我知道参数TerminalServicesProfilePath在AD中的"userParameter"哈希值。 调用它应该可以获得可读性。

我做错了什么?

附注:AD位于2003级别域。

0 个答案:

没有答案