我有一个环境,在这个环境中,我需要频繁地更改当用户登录到终端服务器时启动的程序的参数。从现在起,我们打开计算机管理管理单元,编辑用户的环境选项卡,并在“登录时启动以下程序:”下手动更改参数。我想让这个过程自动化。
我一直在研究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似乎与我正在使用的东西相关。
现在我被卡住了,因为我不知道如何,或者找不到资源来帮助我,正确地读写这些值。
任何帮助都将不胜感激。
编辑-我在互联网上的其他地方找到了这个答案,在互联网上的其他地方我找到了答案:
不幸的是,这些数据是以专有格式编码的。唯一受支持的编程管理方式是使用终端服务附带的IADsTSUserEx ADSI接口。基本上,您只需将NativeObject属性强制转换为此COM接口(在创建所需的COM引用之后),然后访问该接口公开的属性。
现在我的问题是如何设置COM引用,我以前从未做过这样的事情。
发布于 2010-01-05 05:03:58
在互联网上的其他地方询问,我找到了答案:
不幸的是,这些数据是以专有格式编码的。唯一受支持的编程管理方式是使用终端服务附带的IADsTSUserEx ADSI接口。基本上,您只需将NativeObject属性强制转换为此COM接口(在创建所需的COM引用之后),然后访问该接口公开的属性。
https://stackoverflow.com/questions/2000544
复制相似问题