TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Manuel moser
NA
3
0
Active Directory Access to "TerminalServicesProfilePath"
Aug 7 2008 5:48 AM
Hello guys!
I am trying to access to User-Properties from my C#-Programm.
It is no problem to set "Sirname", "Mail", "scriptPath", "HomeDirectory" and so on.
But I have problems with the "TerminalServices"-Attributes like "TerminalServicesProfilePath".
First time I tried it like that:
DirectoryEntry entry =
new
DirectoryEntry(
"LDAP://OU=Users,DC=COMPANY,DC=COM"
);DirectoryEntries entries = entry.Children;
entry = entries.Add(
"CN="
+ textBox_name.Text,
"user"
);
entry.Properties["TerminalServicesProfilePath"].Value = textBox_TerminalServiceProfil.Text;
But I read that I can't access to this attribute in that way.
Then I heard about ActiveDs.dll and TSUSEREXLib.dll. I got these 2 dll-Files and set a reference to them.
Now my code looks like that:
DirectoryEntry entry1 =
new
DirectoryEntry(
"path to user"
);
ActiveDs.IADsUser iADsUser1 = (ActiveDs.IADsUser)entry1.NativeObject;
TSUSEREXLib.IADsTSUserEx m_TsUser = (TSUSEREXLib.IADsTSUserEx)iADsUser1;
m_TsUser.TerminalServicesProfilePath = path1;
entry1.CommitChanges();
But now my programm throws an exception:
System.InvalidCastException: Das COM-Objekt des Typs "System.__ComObject" kann nicht in den Schnittstellentyp "TSUSEREXLib.IADsTSUserEx" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{C4930E79-2989-4462-8A60-2FCF2F2955EF}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE)).
in english:
System.InvalidCastException: The COM-Object of the type "System.__ComObject" cannot be casted to the interface type "TSUSEREXLib.IADsTSUserEx".
This process could not be performed because the
QueryInterface-call to the COM-component for the inteface with the IID "{C4930E79-2989-4462-8A60-2FCF2F2955EF}" could not be performed because of the following error: interface not provided (Exception HRESULT: 0x80004002 (E_NOINTERFACE)).
I also tried it only with:
TSUSEREXLib.IADsTSUserEx m_TsUser = (TSUSEREXLib.IADsTSUserEx)entry1.NativeObject;
But the Programm got the same error again.
I am working with Windows 2k and the Visual Studio 2005.
I hope you can help me.
Greetings
Manuel
Reply
Answers (
2
)
what is the use of account expires field in user properites in AD?
C# How to Move a User from a Organization unit to another OU