1

ユーザーがターミナルサーバーにログインしたときに起動されるプログラムのパラメーターを頻繁に変更する必要がある環境があります。現在のところ、コンピューター管理スナップインを開き、ユーザーの[環境]タブを編集し、[ログオン時に次のプログラムを開始する]でパラメーターを手動で変更します。プロセスを自動化したいと思います。

私は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は、私が作業しているものに関連しているようです。

値を正しく読み書きする方法を理解できない、または私を助けるためのリソースを見つけることができないため、今は行き詰まっています。

どんな助けでも大歓迎です。

編集-私はインターネット上の他の場所でこの答えを見つけましたインターネット上の他の場所に尋ねると私は答えを見つけました:

残念ながら、このデータは独自の形式でエンコードされています。プログラムで管理する唯一のサポートされている方法は、ターミナルサービスに付属しているIADsTSUserExADSIインターフェイスを使用することです。基本的には、NativeObjectプロパティをこのCOMインターフェイスにキャストし(必要なCOM参照を作成した後)、インターフェイスによって公開されているプロパティにアクセスします。

今私の質問は、そのCOM参照をどのように設定するかです。これまでにそのようなことをしたことはありません。

4

1 に答える 1

2

インターネット上の他の場所で尋ねると、私は答えを見つけました:

残念ながら、このデータは独自の形式でエンコードされています。プログラムで管理する唯一のサポートされている方法は、ターミナルサービスに付属しているIADsTSUserExADSIインターフェイスを使用することです。基本的には、NativeObjectプロパティをこのCOMインターフェイスにキャストし(必要なCOM参照を作成した後)、インターフェイスによって公開されているプロパティにアクセスします。

于 2010-01-04T21:03:58.240 に答える