QA@IT

PowerShellにて、“リモートデスクトップサービスのユーザープロファイル”をセットするには

9015 PV

Windows Server 2008 R2のドメインにおいて、PowerShellを使用してユーザー管理を行っています。

その中で、各ユーザーの”リモートデスクトップサービスのユーザープロファイル”にスクリプトから値を設定しようとして以下のようなスクリプトを作成しましたが、値をセットすることができませんでした。

'''
Import-Module ActiveDirectory

$user = Get-ADUser -Identity "testuser1" -Properties *
$profilePath = $user.ProfilePath

Set-ADUser -Instance $user -Add @{'msTSProfilePath'=$profilePath}

'''

実行すると、”指定された名前のパラメーターを使用してパラメーター セットを解決できません”となります。

確かに、手動で別途”リモートデスクトップサービスのユーザープロファイル”に値を設定したユーザーのプロパティの”属性エディター”にて確認しても、"msTSProfilePath"には値が入っておらず、どこに値が格納されているのか判然としません。

この属性にPowerShellから値をセットする方法をご存じであれば教えていただきたく思います。

よろしくお願いいたします。

回答

以下でできるそうです。

$user = [ADSI] "LDAP://CN=Username,OU=OUname,DC=DomainName,DC=com"
$user.psbase.Invokeset("terminalservicesprofilepath","\\server\share\user")
$user.setinfo()

http://social.technet.microsoft.com/Forums/windowsserver/en-US/2bd5fe5d-6e75-4548-b3ee-e488f51ab1f7/changing-the-remote-desktop-profile-path-with-powershell

余談ですが取得する際
TerminalServicesHomeDirectoryは2003では期待通り動作するが2008ではエラーとなる、
msTSProfilePathは2003ではエラーになるが、2008では空が返るようです。

実際に試してないのでわかりませんがサーバーのバージョンによっても違うかもしれないので注意してください。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。