Использование командлетов Quest powershell для изменения информации профиля пользователей в Active Directory - PullRequest
1 голос
/ 15 декабря 2011

Попытка перебрать подразделение в активном каталоге, а затем изменить HomeDirectory и HomeDrive под профилем для всех пользователей в указанном подразделении.Единственная проблема, с которой я сталкиваюсь, - это когда я использую переменную среды% USERNAME% в пути к HomeDirectory, он отображается неправильно.Он будет сопоставлен с домашней папкой, но не с% 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 ]

2 голосов
/ 15 декабря 2011

Вам необходимо использовать SamAccountName для каждой входящей учетной записи пользователя

Get-QADUser -SearchRoot $OU | Foreach-Object{
    Set-QADUser -Identity $_ -HomeDirectory "\\server\homes\$($_.SamAccountName)" -HomeDrive 'H:'
}
0 голосов
/ 15 декабря 2011

Вы должны сделать это так:

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

Обратите внимание, что это также двойные кавычки, а не одинарные.

...