I need to set properties related to Remote Desktop Services on Active Directory users in .NET (i.e., via System.DirectoryServices), but I can't see that these properties are exposed by the API? I know there is a COM interface for this purpose, IADsTSUserEx. Please show me how I can get at these properties in .NET :) Bear in mind that the programming language is Python.
The problem with some of these properties is that you can see them on the UI via Active Directory Users and Computers, but you cannot set them (or see them) via ADSI Editor. 
Usually, for properties that aren't directly available from a DirectoryEntry object, you can use its Properties collection as described by Tim Robbinson
(e.g. directoryEntry.Properties["PropertyName"].Value). 
For some properties, however, you cannot use this approach and have to use directoryEntry.InvokeSet("PropertyName", new object[]{ "SomeValue" });, 
e.g. for TerminalServicesHomeDirectory, TerminalServicesHomeDrive and TerminalServicesProfilePath. 
As said above, you won't see these three properties using ADSI Editor, you can only see the property values via the "normal" UI on the corresponding tab.
How you can apply all this to Python I don't know, but it seems you've got instances of the DirectoryEntry class, so you should be fine.
How do I change Remote Desktop Services properties of AD users in .NET?