如何使用PowerShell / Exchange命令行pipe理程序将添加到ADUC中的描述字段?

这是我第一次尝试Powershell,所以如果我忽略了一些简单的东西,那就忍耐着我吧。 我已经花了几天时间在网上search,还没有拿出一个很好的答案,以便如何将数据添加到ADUC的常规选项卡下的说明字段。 我似乎能够得到一切都添加得很好。 我已经引用了属性编辑器,它显示它被称为“描述”,但显然不是这种情况(或如此)。 我还注意到“Notes”在那里被称为“Info”,所以我想我不能使用Attribute Editor作为权威来源。

无论如何,我已经在网上find一些很好的参考资料来帮助我使用这个脚本,基本上只是想通过Exchangepipe理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行,它工作正常,如果我把它留在那里,它给了我一个错误“设置用户:一个参数不能find匹配参数名称描述”。 我已经看到了使用ADSI的引用,但是如果这样做会很好,因为我填充的其他字段都可以正常工作。 任何人有什么build议可能会被称为,或者一个有效的原因,它为什么不能工作? 我也发布一个关于通过PS授予文件夹权限的问题,但把它放在一个单独的问题。

您正在收到错误,因为您无法使用Set-User设置描述字段。 这是一个交换CMDLET,不允许修改该属性。 要修改描述属性,您将需要使用Set-ADUser 。 这在Active Directory模块中可用。 您可以使用Import-module activedirectory导入Active Directory模块。 像这样的东西应该有所帮助:

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

您仍然需要使用Set-User设置“notes”属性。