C# ActiveDirectory用户远程控制选项卡详细信息?
我正试图弄清楚如何从用户属性的“远程控制”选项卡中获取一些active directory详细信息 我可以通过使用类似以下代码找到其他详细信息:C# ActiveDirectory用户远程控制选项卡详细信息?,c#,active-directory,directoryentry,directorysearcher,C#,Active Directory,Directoryentry,Directorysearcher,我正试图弄清楚如何从用户属性的“远程控制”选项卡中获取一些active directory详细信息 我可以通过使用类似以下代码找到其他详细信息: //modify this line to include your domain name string path = string.Format("LDAP://{0}", domain); //init a directory entry Dire
//modify this line to include your domain name
string path = string.Format("LDAP://{0}", domain);
//init a directory entry
DirectoryEntry dEntry = new DirectoryEntry(path);
//init a directory searcher
DirectorySearcher directorySearcher = new DirectorySearcher(dEntry);
directorySearcher.PropertiesToLoad.Add("samAccountName");
directorySearcher.PropertiesToLoad.Add("displayName");
directorySearcher.PropertiesToLoad.Add("cn");
directorySearcher.PropertiesToLoad.Add("distinguishedName");
directorySearcher.PropertiesToLoad.Add("objectCategory");
directorySearcher.PropertiesToLoad.Add("objectSID");
directorySearcher.PropertiesToLoad.Add("objectGUID");
directorySearcher.PropertiesToLoad.Add("manager");
directorySearcher.Filter = "(&(objectClass=user))";
//perform search on active directory
searchResults = directorySearcher.FindAll();
//loop through results of search
Parallel.ForEach<SearchResult>(searchResults.Cast<SearchResult>().ToList(), searchResult =>
{
// Any processing
});
//修改此行以包含您的域名
string path=string.Format(“LDAP://{0}”,域);
//初始化目录项
DirectoryEntry dEntry=新的DirectoryEntry(路径);
//初始化目录搜索器
DirectorySearcher DirectorySearcher=新的DirectorySearcher(dEntry);
directorySearcher.PropertiesToLoad.Add(“samAccountName”);
directorySearcher.PropertiesToLoad.Add(“displayName”);
directorySearcher.PropertiesToLoad.Add(“cn”);
directorySearcher.PropertiesToLoad.Add(“DiscrimitedName”);
directorySearcher.PropertiesToLoad.Add(“objectCategory”);
directorySearcher.PropertiesToLoad.Add(“objectSID”);
directorySearcher.PropertiesToLoad.Add(“objectGUID”);
directorySearcher.PropertiesToLoad.Add(“manager”);
directorySearcher.Filter=“(&(objectClass=user))”;
//在active directory上执行搜索
searchResults=directorySearcher.FindAll();
//循环搜索结果
Parallel.ForEach(searchResults.Cast().ToList(),searchResult=>
{
//任何处理
});
但是我还没有弄清楚远程信息存储在哪里。通常我使用ADSI编辑并在修改属性时查找属性的更改,但我没有注意到任何更改。有人能给我指一下正确的方向吗
我应该提到,我的域功能级别和林功能级别都是2003。在Windows Server 2008(和R2)中,终端服务终端服务器运行时界面从名为userParameters
的用户Active Directory属性中获取用户参数。如中所述,包含终端服务器参数作为blob(查看结构)
编辑:这与W2K3 R2上的完全相同 以下是当您选中或取消选中某项时查找属性差异的方法。我使用LDIFDE.EXE工具
ldifde -f c:\temp\ph1.ldf -d "ou=Monou,dc=societe,dc=fr" -r "sn=hocquet"
我取消选中启用远程控制
ldifde -f c:\temp\ph2.ldf -d "ou=Monou,dc=societe,dc=fr" -r "sn=hocquet"
对ph1.ldf和ph2.ldf进行了比较,得出以下结论
InputObject SideIndicator
----------- -------------
whenChanged: 20130703130209.0Z =>
uSNChanged: 168396 =>
userParameters:: =>
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUAQaCAFDd... =>
dQcmVzZW5045S15pSx5oiw44GiGAgBQ3R4Q2ZnRmxhZ3Mx44Cw44Gm44Cy44C5EggBQ3R4U2h... =>
44Cw44Cw44Cw44CwKgIBQ3R4TWluRW5jcnlwdGlvbkxldmVs44Sw =>
whenChanged: 20120124083342.0Z <=
uSNChanged: 163184 <=
InputObject侧指示器
----------- -------------
更改时:20130703130209.0Z=>
uSNChanged:168396=>
用户参数::=>
ICAGICAGICAGICAGICAGICAGICAGICAGICAGICAGICAGICAGICAGICAGICAGUAQACADD…=>
DQCMVZZW5045S15PSX5OIW44GB Q3R4Q2ZNRMxHZ3MX44CW44GM44CY44C5EGGBQ3R4U2H…=>
44CW44CW44CW44CWKGIBQ3R4TLURW5JCNLWDGLVBKXLDMVS44SW=>
更改时:20120124083342.0Z谢谢。不幸的是,我使用的是2003,它看起来不包含userParameter属性。对不起,我的错。我有两个相似的用户,我正在ADUAC中修改一个,并在ADSIEdit中查看属性。因为我没有修改一个用户的属性,所以该值不存在!