0

我需要在 .NET 中设置与 Active Directory 用户的远程桌面服务相关的属性(即通过 System.DirectoryServices),但我看不到这些属性是由 API 公开的吗?我知道有一个用于此目的的 COM 接口,IADsTSUserEx。请告诉我如何在 .NET 中获得这些属性 :) 请记住,编程语言是 Python。

4

2 回答 2

0

其中一些属性的问题在于,您可以通过 Active Directory 用户和计算机在 UI 上看到它们,但不能通过 ADSI 编辑器设置(或查看)它们。

通常,对于不能直接从DirectoryEntry对象获得的属性,您可以使用PropertiesTim Robbinson 所描述的它的集合(例如directoryEntry.Properties["PropertyName"].Value)。

但是,对于某些属性,您不能使用这种方法,而必须使用directoryEntry.InvokeSet("PropertyName", new object[]{ "SomeValue" });,

例如对于TerminalServicesHomeDirectory和。TerminalServicesHomeDriveTerminalServicesProfilePath

如上所述,您不会使用 ADSI Editor 看到这三个属性,您只能通过相应选项卡上的“普通”UI 看到属性值。

我不知道如何将所有这些应用到 Python,但似乎你已经有了DirectoryEntry类的实例,所以你应该没问题。

于 2013-02-18T14:27:59.897 回答
0

.NET DirectoryServices API 不直接公开 AD 属性:相反,类中有一个大Properties集合DirectoryEntry。如果您可以在基础 AD 架构中找到属性的名称,那么您就可以在此集合中找到它们。

这个列表应该有你感兴趣的属性:http: //msdn.microsoft.com/en-us/library/ms675090.aspx

例如,msTSMaxIdleTime属性:http: //msdn.microsoft.com/en-us/library/ms678175.aspx

于 2010-03-07T10:52:13.153 回答