Ekatherina
Ekatherina

Reputation: 1

how to update custom attribute in active directory?

Hi guys my name is Bastian and I am a student. I come to ask for help on a script to update users in active directory with CSV file. I created the columns in the active directory schema, all appear in the user profile when I look for them, but when I perform the update the message says that the parameter does not exist. The updates through PowerShell directly works and is reflected, but through the CSV file does not find the columns, I need your help to correct my error, I would appreciate your guidance.

Import-Module ActiveDirectory
[String]$Ruta = Read-Host "path (Por Ejemplo 
C:\archivocsv.csv)"
$ou="OU=DominioExtendido" + "," + (Get-ADDomain).DistinguishedName
If(-Not(Get-ADOrganizationalUnit -Filter {Name -eq "DominioExtendido"})){New-ADOrganizationalUnit 
"DominioExtendido" -Path (Get-ADDomain).DistinguishedName}
$dominio=(Get-ADDomain).DNSRoot
Import-Csv -Path $Ruta | foreach-object {
$UPN = $_.Cuenta + "@" + "$dominio"
New-ADUser -SamAccountName $_.Cuenta -UserPrincipalName $UPN -Name $_.Nombre -DisplayName 
$_.Nombre -SurName $_.Apellidos -GivenName $_.Nombres -Description $_.Descripcion -Office 
$_.Oficina -OfficePhone $_.Telefono -EmailAddress $_.Email -Title $_.Titulo -Department 
$_.Departamento -Company $_.Compania -City $_.Ciudad -State $_.Region -AccountPassword 
(ConvertTo- SecureString $_.Clave -AsPlainText -force) -Path $ou -Enabled $true - 
ChangePasswordAtLogon $true -Verbose -companyCode $_.CodigoEmpresa -companyID $._RutEmpresa - 
socialReason $._razonSocial -acronymCountryCode $._CodigoPais -contractType $._TipoContrato - 
businessUnity $._BU -officeLicence $._Licencia365}
""
finish!!


PS C:> ErrorTerminación(New-ADUser): "No se encuentra ningún parámetro que coincida con el nombre del 
       parámetro 'companyCode'." New-ADUser : No se encuentra ningún parámetro que coincida con el 
       nombre del parámetro 'companyCode'. En C:\Creacion_Masiva_Usuarios.ps1: 15 Carácter: 473+ ... 
       $true -Verbose - companyCode $_.Codigo_Empresa -companyID $._Rut_Empresa -socialR ...
       CategoryInfo : InvalidArgument: (:) [New-ADUser], ParameterBindingException
       FullyQualifiedErrorId : 
       NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.NewADUser

User attributes

Profile user

Upvotes: 0

Views: 833

Answers (1)

Mathias R. Jessen
Mathias R. Jessen

Reputation: 174690

Use New-ADUser -OtherAttributes for attributes that don't have a corresponding parameter!

The -OtherAttributes parameter takes a hashtable as an argument, and you simply populate it with key-value entries where the key is the attribute display name and the value is the intended attribute value.

For an attribute with the display name companyCode, you'd supply a hashtable like this:

New-ADUser ... -OtherAttributes @{ 'companyCode' = $_.CodigoEmpresa }

Upvotes: 1

Related Questions