如何使用PowerShell在New ADUser中设置MST初始程序?

如何使用PowerShell在New ADUser中设置MST初始程序?,powershell,active-directory,Powershell,Active Directory,我正在使用找到的PowerShell脚本添加新的广告用户。它从CSV文件中读取信息,一切正常,只是我需要它为新用户设置初始启动程序。命令如下: New-ADUser $sam -GivenName $_.GivenName -DisplayName $_.DisplayName ` -UserPrincipalName ($sam + "@" + $dnsroot) -AccountPassword $setpass -Enabled $enabled ` -PasswordNeverExpir

我正在使用找到的PowerShell脚本添加新的广告用户。它从CSV文件中读取信息,一切正常,只是我需要它为新用户设置初始启动程序。命令如下:

New-ADUser $sam -GivenName $_.GivenName -DisplayName $_.DisplayName `
-UserPrincipalName ($sam + "@" + $dnsroot) -AccountPassword $setpass -Enabled $enabled `
-PasswordNeverExpires $expires -OtherAttributes @{'msTSInitialProgram'="programToRun"; 'msTSWorkDirectory'="directoryToRunIn"}
查看创建的用户后,我发现它实际上忽略了
-OtherAttributes

我是否缺少导致其跳过设置初始程序的某个属性?

'mstInitialprogram'
属性指定用户登录到终端服务器时希望自动启动的应用程序的路径和文件名。要将初始应用程序设置为在用户登录时启动,实现者必须首先设置此属性,然后设置TerminalServicesWorkDirectory属性。如果实现者仅设置TerminalServicesInitialProgram属性,则应用程序将在默认用户目录中的用户会话中启动

这些属性在Windows Server 2008操作系统、Windows Server 2008 R2操作系统、Windows Server 2012操作系统和Windows Server 2012 R2操作系统上实现

在我的Windows Server 2012上,您的命令行工作正常,以管理员身份运行,工作正常,并分配了
'msTSInitialProgram'
'msTSWorkDirectory'
,您可以在下面看到

New-ADUser "T2" -GivenName "Tg" -DisplayName "T2" `
-UserPrincipalName ("T2@SILOGIX-ESS01.local") -Enabled $true -AccountPassword $(convertto-securestring "P@ssW0rD!" -asplaintext -force) `
-OtherAttributes @{'msTSInitialProgram'="programToRun"; 'msTSWorkDirectory'="directoryToRunIn"}

您的服务器版本是什么?它是server 2008 R2。我假设
mstInitialprogram
msTSWorkDirectory
属性将设置“环境”选项卡上的值,但我猜这个假设是错误的。问了一个与我要找的内容更相关的新问题-