Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过System.DirectoryServices管理终端用户_C#_Active Directory_Directoryservices_Terminal Services - Fatal编程技术网

C# 通过System.DirectoryServices管理终端用户

C# 通过System.DirectoryServices管理终端用户,c#,active-directory,directoryservices,terminal-services,C#,Active Directory,Directoryservices,Terminal Services,在我的环境中,我需要经常更改用户登录到终端服务器时启动的程序的参数。现在,我们打开计算机管理管理单元,为用户编辑环境选项卡,并在“登录时启动以下程序:”下手动更改参数。我想自动化这个过程 我一直在查看System.DirectoryServices和System.DirectoryServices.AccountManagement,并尽我所能阅读有关它的所有信息。到目前为止,我最好的猜测是,我需要编辑的信息存储在“Parameters”属性中(最糟糕的属性名称是谷歌搜索)。这种猜测的原因是当我

在我的环境中,我需要经常更改用户登录到终端服务器时启动的程序的参数。现在,我们打开计算机管理管理单元,为用户编辑环境选项卡,并在“登录时启动以下程序:”下手动更改参数。我想自动化这个过程

我一直在查看System.DirectoryServices和System.DirectoryServices.AccountManagement,并尽我所能阅读有关它的所有信息。到目前为止,我最好的猜测是,我需要编辑的信息存储在“Parameters”属性中(最糟糕的属性名称是谷歌搜索)。这种猜测的原因是当我列出我得到的所有属性时

(...)
Name: HomeDirDrive
Value:
Name: Parameters
Value:                                                 P☺CtxCfgPresent????☺CtxCf
gFlags1????☺CtxShadow????*☻☺CtxMinEncryptionLevel? @☺CtxWorkDirectory???????????
?????????????????????"C☺CtxInitialProgram???????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????
???????????????
Name: PrimaryGroupID
Value: 513
(...)
CtxInitialProgram和CtxWorkDirectory似乎与我的工作相关

现在我陷入了困境,因为我不知道如何正确地读写这些值,也不知道如何找到帮助我的信息和资源

任何帮助都将不胜感激

编辑-- 我在互联网的其他地方找到了这个答案 通过在互联网上的其他地方提问,我找到了答案:

不幸的是,这些数据是以专有格式编码的。以编程方式管理它的唯一受支持的方法是使用终端服务附带的IADsTSUserEx ADSI接口。基本上,您只需将NativeObject属性强制转换到此COM接口(在创建所需的COM引用之后),然后访问接口公开的属性


现在我的问题是如何设置COM引用,我以前从未做过类似的事情。

在互联网上的其他地方提问时,我找到了答案:


不幸的是,这些数据是以专有格式编码的。以编程方式管理它的唯一受支持的方法是使用终端服务附带的IADsTSUserEx ADSI接口。基本上,您只需将NativeObject属性强制转换到此COM接口(在创建所需的COM引用之后),然后访问该接口公开的属性。

此外,我没有使用启动脚本,要获得更改批准会很麻烦。