ユーザーがターミナルサーバーにログインしたときに起動されるプログラムのパラメーターを頻繁に変更する必要がある環境があります。現在のところ、コンピューター管理スナップインを開き、ユーザーの[環境]タブを編集し、[ログオン時に次のプログラムを開始する]でパラメーターを手動で変更します。プロセスを自動化したいと思います。
私は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参照をどのように設定するかです。これまでにそのようなことをしたことはありません。