1

これらの投稿は2つありますが、これは少し古くなっていますが、私は今これを見ていて、これらのプロパティを知ることができません。プログラムでリモートデスクトップサービスのユーザープロファイルパスにアクセスするにはどうすればよいですか?

私が必要とするのは、Active Directoryにある「リモートデスクトップサービスのユーザープロファイルパス」にアクセスできることです。私はpowershellのADSIを含むいくつかのことをオンラインで試しましたが、 "TerminalServicesHomeDirectory" attritubeまたはプロパティは何でもそれを呼び出すだけで何も戻って来ません。私はまたそれを設定することができるはずです次のコードを試してみました。これはどちらもうまくいかなかった。

 PrincipalContext PC = new PrincipalContext(ContextType.Domain); 
     UserPrincipal UP = UserPrincipal.FindByIdentity(PC, "testact"); 
     DirectoryEntry DE = (DirectoryEntry)UP.GetUnderlyingObject(); 
     DE.InvokeSet("TerminalServicesHomeDirectory", new object[] { "testing" }); 
     DE.CommitChanges(); 

私はあなたがしかし、私はそれが参照として追加するために、失敗になってきた「tsuserex.dll」を使用することになったことをどこかで読ん知っています。私は自分のマシンで2つを見つけました.1つはsystem32に、もう1つは "c:¥Windows¥WinSxS¥amd64 ......."ですが、いずれもロードされていません。彼らはちょうど私はかなりので、今、私はすべての強力なを望んでいるので、私の救助に来ることができ、インターネットを精練してきたエラー

"a reference to $pathhere\tsuserex.dll could not be added. please make sure 
the file is accessible, and that it is a valid assembly or COM component." 

を生成します。私は途中で64bit Windows 10マシンを使用しています。

+0

心配しないで、明らかにこのコードが動作します。私はこれを100回試した後にSOに投稿し、コードを変更せずに無作為に作業を開始しました。あなたたちは投稿にそれを怖がって:)感謝。 – Dustin

+1

いくつかのPSの提案:[This](https://social.technet.microsoft.com/Forums/lync/en-US/2bd5fe5d-6e75-4548-b3ee-e488f51ab1f7/changing-the-remote-desktop-profile-path -with-powershell?forum = winserverpowershell)と[this](https://explorepowershell.com/2012/12/24/checking-setting-remote-desktop-services-profile-settings/) – TheIncorrigible1

+0

誰かのために立ち往生したこの値を取得するには、 DE.InvokeGet( "TerminalServicesProfilePath")を使用することもできます。 – Dustin

答えて

0

私の解決策は正しいと思っていました。

PrincipalContext PC = new PrincipalContext(ContextType.Domain); 
    UserPrincipal UP = UserPrincipal.FindByIdentity(PC, "testact"); 
    DirectoryEntry DE = (DirectoryEntry)UP.GetUnderlyingObject(); 
    //To Change the value 
    DE.InvokeSet("TerminalServicesHomeDirectory", new object[] { "testing" }); 
    DE.CommitChanges(); 
    //to get the value 
    string value = DE.InvokeGet("TerminalServicesHomeDirectory"); 

これは、これらの値を取得または変更するために必要なすべてのコードです。 TerminalServicesProfilePathプロパティでも行うことができます。

関連する問題