Управление пользователями терминала через System.DirectoryServices - PullRequest
1 голос
/ 04 января 2010

У меня есть среда, в которой мне нужно часто менять параметры программы, которая запускается при входе пользователя на сервер терминалов. На данный момент мы открываем оснастку «Управление компьютером», редактируем вкладку «Среда» для пользователя и вручную меняем параметры в разделе «Запустить следующую программу при входе в систему:». Я хотел бы автоматизировать процесс.

Я смотрю на System.DirectoryServices и System.DirectoryServices.AccountManagement и читаю все, что могу об этом. Пока что я думаю, что информация, которую мне нужно отредактировать, хранится в свойствах «Параметры» (наихудшее имя для свойства, поиск в руинах). Причина такого предположения заключается в том, что когда я перечисляю все свойства, которые я получаю

(...)
Name: HomeDirDrive
Value:
Name: Parameters
Value:                                                 P☺CtxCfgPresent????☺CtxCf
gFlags1????☺CtxShadow????*☻☺CtxMinEncryptionLevel? @☺CtxWorkDirectory???????????
?????????????????????"C☺CtxInitialProgram???????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????
???????????????
Name: PrimaryGroupID
Value: 513
(...)

CtxInitialProgram и CtxWorkDirectory имеют отношение к тому, с чем я работаю.

Теперь я застрял, так как не могу понять, как или найти ресурсы, чтобы помочь мне, правильно читать и записывать значения.

Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ - Я нашел этот ответ в другом месте в Интернете Спросив в другом месте в Интернете, я нашел ответ:

К сожалению, эти данные кодируются в проприетарном формате. Единственный поддерживаемый способ программного управления - использование интерфейса ADSI IADsTSUserEx, который поставляется с терминальными службами. В основном вы просто приводите свойство NativeObject к этому COM-интерфейсу (после создания необходимой ссылки COM) и затем получаете доступ к свойствам, предоставляемым интерфейсом.

Теперь мой вопрос: как мне установить эту ссылку COM, я никогда раньше такого не делал.

1 Ответ

2 голосов
/ 05 января 2010

Спросив в другом месте в Интернете, я нашел ответ:

К сожалению, эти данные кодируются в проприетарном формате. Единственный поддерживаемый способ программного управления - использование интерфейса ADSI IADsTSUserEx, который поставляется с терминальными службами. По сути, вы просто приводите свойство NativeObject к этому COM-интерфейсу (после создания необходимой ссылки COM) и затем получаете доступ к свойствам, предоставляемым интерфейсом.

...