Como adicionar um ao campo de descrição no ADUC usando o Powershell / Exchange Management Shell?

1

Esta é a minha primeira tentativa em Powershell, então tenha paciência comigo se negligenciei algo simples. Passei vários dias pesquisando on-line e ainda não encontrei uma boa resposta sobre como adicionar dados ao campo Descrição na guia Geral do ADUC. Eu pareço ser capaz de obter tudo mais bem adicionado. Eu referenciei o Attribute Editor e ele é chamado de "descrição", mas obviamente não é o caso (ou assim parece). Eu também notei que "Notes" era chamado de "Info", então acho que não posso usar o Attribute Editor como uma fonte definitiva.

Enfim, encontrei algumas boas referências on-line para me ajudar com este script, basicamente apenas querendo adicionar um novo usuário no AD através do Shell de Gerenciamento do Exchange, portanto, algumas delas podem parecer familiares àqueles que freqüentam Fóruns do 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

Quando eu removo a linha de descrição, ele funciona bem, se eu deixar lá, isso me dará um erro "Set-User: Um parâmetro não pode ser encontrado que corresponda ao nome do parâmetro 'description Eu vi referências ao uso de ADSI em vez, mas seria bom se isso funcionasse como todos os outros campos que eu preenchei funciona muito bem. Alguém tem alguma sugestão sobre o que pode ser chamado, ou uma razão válida porque simplesmente não funciona? Eu também estou postando uma pergunta sobre dar direitos a uma pasta via PS, mas colocando isso em uma questão separada.

    
por Don 15.11.2011 / 22:48

1 resposta

2

Você está recebendo o erro porque não pode definir o campo de descrição usando Set-User . Esta é uma troca CMDLET que não permite a modificação desse atributo. Para modificar o atributo de descrição, você precisará usar Set-ADUser . Isso está disponível no módulo do Active Directory. Você pode importar o módulo do Active Directory usando Import-module activedirectory . Algo como isso deve ajudar:

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

Você ainda precisará definir o atributo "notas" usando Set-User .

    
por 15.11.2011 / 23:28