使用Quest powershell cmdlet更改Active Directory中用户的配置文件信息

时间:2011-12-14 23:31:19

标签: powershell active-directory powershell-v2.0

尝试遍历活动目录中的OU,然后在所述OU中的所有用户的配置文件下更改HomeDirectory和HomeDrive。我遇到的唯一问题是当我在HomeDirectory的路径中使用环境变量%USERNAME%时,它无法正确映射。它将映射到homes文件夹,但不会映射到%USERNAME%。如何将其映射到%USERNAME%文件夹?我使用了错误的变量吗?任何帮助是极大的赞赏。这是我的powershell代码:

    #Add Snapin for Get-QADuser
    Add-PSSnapin Quest.ActiveRoles.ADManagement

    #Set OU variable
    set-variable -name OU -value "domain.local/Test"

    #Get members of OU then set HomeDirectory and HomeDrive of each user in OU
    get-qaduser -searchroot $OU | set-QADUser -HomeDirectory '\\server\homes\%USERNAME%' -HomeDrive 'H:'

2 个答案:

答案 0 :(得分:2)

您需要使用每个传入用户帐户的SamAccountName

Get-QADUser -SearchRoot $OU | Foreach-Object{
    Set-QADUser -Identity $_ -HomeDirectory "\\server\homes\$($_.SamAccountName)" -HomeDrive 'H:'
}

答案 1 :(得分:0)

你必须这样做:

"\\server\homes\$env:USERNAME"

请注意,它也是双引号,而不是单引号。