1

J'ai un environnement dans lequel je dois fréquemment modifier les paramètres d'un programme lancé lorsqu'un utilisateur se connecte au serveur Terminal Server. Pour le moment, nous ouvrons le composant logiciel enfichable Gestion de l'ordinateur et éditons l'onglet Environnement pour l'utilisateur et modifions les paramètres à la main sous "Démarrer le programme suivant à l'ouverture de session:". Je voudrais automatiser le processus.Gestion des utilisateurs du terminal via System.DirectoryServices

J'ai regardé System.DirectoryServices et System.DirectoryServices.AccountManagement et lu tout ce que je peux à ce sujet. Jusqu'à présent, ma meilleure estimation est que les informations que j'ai besoin d'éditer sont stockées dans les propriétés "Paramètres" (pire nom possible pour une propriété, ruines googling). La raison de cette supposition est quand je liste toutes les propriétés que je reçois

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

CtxInitialProgram et CtxWorkDirectory semblent pertinents à ce que je travaille avec.

Maintenant, je suis bloqué car je n'arrive pas à comprendre comment trouver ou trouver des ressources pour m'aider à lire et écrire les valeurs correctement.

Toute aide serait grandement appréciée.

EDIT - J'ai trouvé cette réponse ailleurs sur Internet demandé ailleurs sur Internet, je trouve la réponse:

Malheureusement, ces données sont codées dans un format propriétaire. La seule façon de le gérer par programmation est d'utiliser l'interface ADAD IADsTSUserEx fournie avec les services de terminal. Fondamentalement, vous venez de convertir la propriété NativeObject vers cette interface COM (après avoir créé la référence COM requise), puis accédez aux propriétés exposées par l'interface. Maintenant, ma question est de savoir comment configurer cette référence COM, je n'ai jamais fait quelque chose comme ça avant.

+0

De plus, je n'utilise pas de scripts de démarrage et il serait difficile de faire approuver la modification. –

Répondre

2

Demander ailleurs sur Internet, je trouve la réponse:

Malheureusement, ces données sont codées dans un format propriétaire. La seule façon de le gérer par programmation est d'utiliser l'interface ADAD IADsTSUserEx fournie avec les services de terminal. Fondamentalement, vous venez de convertir la propriété NativeObject vers cette interface COM (après avoir créé la référence COM requise), puis accédez aux propriétés exposées par l'interface.

Questions connexes