Назад | Перейти на главную страницу

Как добавить в поле описания ADUC с помощью Powershell / Exchange Management Shell?

Это моя первая попытка использовать Powershell, так что терпите меня, если я упустил из виду что-то простое. Я потратил несколько дней на копание в Интернете и еще не нашел хорошего ответа о том, как добавить данные в поле «Описание» на вкладке «Общие» в ADUC. Кажется, я могу добавить все остальное просто отлично. Я сослался на редактор атрибутов, и он показывает, что он называется «описанием», но, очевидно, это не так (по крайней мере, так кажется). Я также заметил, что «Заметки» там называются «Информация», так что я не могу использовать редактор атрибутов в качестве окончательного источника.

В любом случае, я нашел несколько хороших ссылок в Интернете, которые помогут мне с этим сценарием, в основном просто хочу иметь возможность добавить нового пользователя в AD через Exchange Management Shell, поэтому некоторые из них могут показаться знакомыми тем, кто часто посещает форумы Powershell.

#Define Environment Variables
$exchangeserver="EXCH07" 
$userou="OU=Users,DC=Company,DC=Com"
$companyname="XYZ"
$mailboxdatabase="Mailbox Database"

#Prompt for Username and Password
$firstname = read-host -prompt "Enter First Name"
$lastname = read-host -prompt "Enter Last Name"
$username = read-host -prompt "Enter User Name"
$department = read-host -prompt "Enter Department"
$title = read-host -prompt "Enter Job Title"
$manager = read-host -prompt "Enter Manager Username"
$phone = read-host -prompt "Enter Telephone Number"
$Name=$Lastname+", "+$Firstname
$accountpassword = read-host -assecurestring -prompt "Enter Password"
$upn = $username+ "@Company.com"
$description = read-host -prompt "Enter Description"
$office = read-host -prompt "Enter Office Location"
$notes = read-host -prompt "Enter the Organizational Chart Number"

#Create user and enable mailbox
New-Mailbox  -name $name -userprincipalname $upn -Alias $username -OrganizationalUnit $userou -SamAccountName $username -FirstName $FirstName -Initials '' -LastName $LastName -Password $accountpassword -ResetPasswordOnNextLogon $false -Database $mailboxdatabase

#Pause for 20 seconds for AD 
write-host -foregroundcolor Green "Pausing for 20 seconds for AD Changes"
Start-Sleep -s 20 

#Set user properties
Get-Mailbox $username | Set-User -Company $companyname -Department $department -title $title -Manager $manager -phone $phone -office $office -notes $notes -description $description

exit

Когда я удаляю строку -description, она работает нормально, если я оставляю ее там, возникает ошибка «Set-User: не может быть найден параметр, который соответствует имени параметра 'description'». Я видел ссылки на использование вместо этого ADSI, но было бы неплохо, если бы это работало, поскольку все остальные поля, которые я заполнил, работают нормально. У кого-нибудь есть предложения относительно того, как это может называться, или веская причина, по которой это просто не сработает? Я также задаю вопрос относительно предоставления прав на папку через PS, но помещаю это в отдельный вопрос.

Вы получаете сообщение об ошибке, потому что вы не можете установить поле описания с помощью Set-User. Это обменный CMDLET, который не позволяет изменять этот атрибут. Чтобы изменить атрибут описания, вам нужно будет использовать Set-ADUser. Это доступно в модуле Active Directory. Вы можете импортировать модуль Active Directory, используя Import-module activedirectory. Что-то вроде этого должно помочь:

Import-Module ActiveDirectory
Set-ADUser -Company $companyname -Department $department -title $title -Manager $manager -officephone $phone -office $office -description $description

Вам все равно нужно будет установить атрибут «заметки», используя Set-User.