1

我正在尝试使用以下代码片段读取选定 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.Runtime.InteropServices.COMException'发生在 System.DirectoryServices.dll System.Runtime.InteropServices.COMException (0x80020006):未知名称。(来自 HRESULT 的异常:0x80020006 (DISP_E_UNKNOWNNAME))

我在这里碰到了..我知道参数TerminalServicesProfilePath"userParameter"哈希中的 AD 中。调用它应该得到一些可读的东西。

我究竟做错了什么?

旁注:AD 驻留在 2003 级域上。

4

0 回答 0