这是我第一次尝试使用 Powershell,所以如果我忽略了一些简单的事情,请多多包涵。我花了好几天的时间在网上搜索,但还没有找到一个好的答案,即如何在 ADUC 的“常规”选项卡下的“描述”字段中添加数据。我似乎能够很好地添加其他所有内容。我引用了属性编辑器,它显示它被称为“描述”,但显然事实并非如此(或看起来如此)。我还注意到“注释”在那里被称为“信息”,所以我想我不能使用属性编辑器作为权威来源。
无论如何,我在网上找到了一些很好的参考资料来帮助我使用该脚本,基本上只是希望能够通过 Exchange 管理 Shell 在 AD 中添加新用户,因此对于那些经常访问 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 授予文件夹权限的问题,但将其放在一个单独的问题中。
答案1
您收到错误是因为您无法使用 设置描述字段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
您仍然需要使用 设置“notes”属性Set-User
。