2024-10-01 07:39:39 发布
网友
我需要在.NET中的Active Directory用户上设置与远程桌面服务相关的属性(例如,通过系统目录服务),但我看不到这些属性是由API公开的?我知道有一个COM接口可以达到这个目的,iadstuserex。请告诉我如何在.NET中获得这些属性:)记住编程语言是Python。在
其中一些属性的问题是,您可以通过activedirectory用户和计算机在UI上看到它们,但不能通过ADSI编辑器设置(或查看它们)。在
通常,对于不能直接从DirectoryEntry对象获得的属性,可以使用其Properties集合,如Tim Robbinson所述 (例如directoryEntry.Properties["PropertyName"].Value)。在
DirectoryEntry
Properties
directoryEntry.Properties["PropertyName"].Value
但是,对于某些属性,您不能使用此方法,必须使用directoryEntry.InvokeSet("PropertyName", new object[]{ "SomeValue" });
directoryEntry.InvokeSet("PropertyName", new object[]{ "SomeValue" });
例如,对于TerminalServicesHomeDirectory、TerminalServicesHomeDrive和{}。在
TerminalServicesHomeDirectory
TerminalServicesHomeDrive
如上所述,使用ADSI编辑器您不会看到这三个属性,您只能通过相应选项卡上的“normal”UI查看属性值。在
我不知道如何将这些应用到Python上,但似乎您已经有了DirectoryEntry类的实例,所以您应该可以。在
.NETDirectoryServicesAPI不直接公开AD属性:相反,在DirectoryEntry类上有一个很大的Properties集合。如果可以在基础AD架构中找到属性的名称,则可以在此集合中找到它们。在
此列表应具有您感兴趣的属性:http://msdn.microsoft.com/en-us/library/ms675090.aspx
例如,msTSMaxIdleTime属性:http://msdn.microsoft.com/en-us/library/ms678175.aspx
msTSMaxIdleTime
其中一些属性的问题是,您可以通过activedirectory用户和计算机在UI上看到它们,但不能通过ADSI编辑器设置(或查看它们)。在
通常,对于不能直接从
DirectoryEntry
对象获得的属性,可以使用其Properties
集合,如Tim Robbinson所述 (例如directoryEntry.Properties["PropertyName"].Value
)。在但是,对于某些属性,您不能使用此方法,必须使用
directoryEntry.InvokeSet("PropertyName", new object[]{ "SomeValue" });
例如,对于}。在
TerminalServicesHomeDirectory
、TerminalServicesHomeDrive
和{如上所述,使用ADSI编辑器您不会看到这三个属性,您只能通过相应选项卡上的“normal”UI查看属性值。在
我不知道如何将这些应用到Python上,但似乎您已经有了
DirectoryEntry
类的实例,所以您应该可以。在.NETDirectoryServicesAPI不直接公开AD属性:相反,在
DirectoryEntry
类上有一个很大的Properties
集合。如果可以在基础AD架构中找到属性的名称,则可以在此集合中找到它们。在此列表应具有您感兴趣的属性:http://msdn.microsoft.com/en-us/library/ms675090.aspx
例如,
msTSMaxIdleTime
属性:http://msdn.microsoft.com/en-us/library/ms678175.aspx相关问题 更多 >
编程相关推荐