2010-01-04 31 views
1

我有一個需要經常將參數更改爲用戶登錄終端服務器時啓動的程序的環境。截至目前,我們打開計算機管理管理單元並編輯用戶的環境選項卡,並在「在登錄時啓動以下程序」下手動更改參數。我想讓這個過程自動化。通過System.DirectoryServices管理終端用戶

我一直在尋找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參考,我從來沒有做過這樣的事情。

+0

此外,我不使用啓動腳本,並且批准更改將是一件麻煩事。 – 2010-01-04 17:10:40

回答

2

在互聯網上的其他地方問我找到了答案:

不幸的是這些數據以專有格式進行編碼。以編程方式管理它的唯一受支持方式是使用終端服務附帶的IADsTSUserEx ADSI接口。您基本上只需將NativeObject屬性轉換爲此COM接口(在創建所需的COM引用之後),然後訪問該接口公開的屬性。