【问题标题】:PS: Change Remote Desktop Services Home FolderPS:更改远程桌面服务主文件夹
【发布时间】:2018-01-15 22:53:23
【问题描述】:

我正在将我的用户移动到不同的文件服务器,并且我想从移动远程桌面服务主文件夹(所以不是 RDS 用户配置文件)开始。

我已将文件和文件夹复制到新服务器。现在我需要更改 AD 用户配置文件中的位置。

我正在使用 powershell 来执行此操作。

到目前为止,我得到了以下脚本

   Get-ADUser -Filter * -SearchBase 'OU=Test,OU=Users,DC=contoso,DC=com' |     ForEach {
   $User = [ADSI]"LDAP://$($_.DistinguishedName)"
   $User.psbase.invokeset("TerminalServicesHomeDirectory","\\SERVERNAME\ts-$_.SamAccountName") 
   $User.setinfo()
   }

脚本运行没有错误,但是当我在 AD 中检查它时显示:

\\SERVERNAME\ts-CN=Testuser,OU=Test,OU=Users,DC=contoso,DC=com.SamAccountName

这似乎是 distinctName(以 .SamAccountName 结尾)而不是真正的 SamAccountName

希望有人可以帮助我解决这个问题。

【问题讨论】:

    标签: powershell active-directory


    【解决方案1】:

    如果这不是您在此处复制代码时的拼写错误,则您忘记了“。” $_之后

    Get-ADUser -Filter * -SearchBase 'OU=Test,OU=Users,DC=contoso,DC=com' |
        ForEach-Object {
            $User = [ADSI]"LDAP://$($_.DistinguishedName)"
            $User.psbase.invokeset("TerminalServicesHomeDirectory","\\SERVERNAME\ts-$_.SamAccountName") 
            $User.setinfo()
        }
    

    【讨论】:

    • 我查了一下,看起来我确实在这个论坛上打错了字。我确实使用了它 $_.SamAccountName。所以还是不行。
    【解决方案2】:

    我能够解决它。脚本的工作方式如下:

    先设置一个变量

    $folderpath = "\\SERVERNAME"
    

    然后运行这个脚本

    Get-ADUser -Filter * -SearchBase 'OU=Test,OU=Users,DC=contoso,DC=com' | ForEach {
       $User = [ADSI]"LDAP://$($_.DistinguishedName)"
       $User.psbase.invokeset   ("TerminalServicesHomeDirectory","$folderpath\ts-$($_.SamAccountName)$") 
       $User.setinfo()
       }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多