Gestionando usuarios de terminales a través de System.DirectoryServices

Tengo un entorno en el que necesito cambiar frecuentemente los parámetros a un programa que se inicia cuando un usuario inicia sesión en el servidor de Terminal Server. A partir de este momento, abrimos el complemento de administración de computadoras, editamos la pestaña de entorno para el usuario y cambiamos los parámetros a mano en "Iniciar el siguiente programa al iniciar sesión:". Me gustaría automatizar el proceso.

He estado buscando en System.DirectoryServices y System.DirectoryServices.AccountManagement y leyendo todo lo que pueda sobre esto. Hasta ahora, mi mejor conjetura es que la información que necesito editar está almacenada en las Propiedades de "Parámetros" (el peor nombre posible para una propiedad, arruina Google). La razón para esa suposición es cuando enumero todas las propiedades que obtengo

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

CtxInitialProgram y CtxWorkDirectory parecen relevantes para lo que estoy trabajando.

Ahora estoy atascado porque no puedo descubrir cómo, o encontrar y recursos para ayudarme, leyendo y escribiendo los valores correctamente.

Cualquier ayuda sería muy apreciada.

EDITAR - Encontré esta respuesta en otra parte en internet. Preguntando en otra parte en internet encontré la respuesta:

Desafortunadamente, estos datos están codificados en un formato propietario. La única forma compatible de administrarlo mediante programación es mediante la interfaz ADSI IADsTSUserEx que viene con los servicios de terminal. Básicamente, acaba de convertir la propiedad NativeObject a esta interfaz COM (después de crear la referencia COM requerida) y luego accede a las propiedades expuestas por la interfaz.

Ahora mi pregunta es cómo configuro esa referencia COM, nunca he hecho algo así antes.

Respuestas a la pregunta(1)

Su respuesta a la pregunta