Question Problème d'importation des données à partir d'un CSV vers AD

Plus d'informations
il y a 1 semaine 4 jours #32796 par Stéphane
Bonjour mes amis,

J’ai un problème pour importer des numéros de téléphone d'un fichier CSV sur base des adresses mails vers Active directory à l'aide d'un script PowerShell.
La table contient :

mail;telephoneNumber
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
voici le code que j'exécute mais il m'affiche un message d'erreur , ou je ne vois pas pourquoi il y a ce message :
**********************************************************************
Import-module ActiveDirectory 
Import-CSV E:\scripts\liste.csv | 
     ForEach-Object {
         Write-Host "telephoneNumber $($_.telephoneNumber)"
         Get-ADUser -Filter "mail -like '$($_.mail)'" | 
     Set-ADUser -telephoneNumber $_.telephoneNumber}
    
*********************************************
Voici le message d'erreur :
telephoneNumber
Set-ADUser : Impossible de trouver un paramètre correspondant au nom « telephoneNumber ».
Au caractère E:\scripts\employeeid.ps1:6 : 14
+      Set-ADUser -telephoneNumber $_.telephoneNumber}
+                 ~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument : (:) [Set-ADUser], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.SetADUser
*************************************************************************************************************************
NB : je suis débutant dans la matière 

​​​​​​​Merci bien d'avance pour votre aide

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 4 jours #32797 par Laurent Dardenne
Salut,
selon le message d'erreur :
InvalidArgument ET ParameterBindingException
PLUS NamedParameterNotFound

Le nom de paramètre que tu références n'existe pas.
Voir la doc du cmdlet
learn.microsoft.com/en-us/powershell/mod...windowsserver2022-ps

Tutoriels PowerShell
Les utilisateur(s) suivant ont remercié: Stéphane

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 3 jours #32800 par Julien Groizard
Hello j'ai fait ma petite recherche et je crois que le paramètre se nomme MobilePhone et non telephonenumber

A tester en changeant ces termes du coup ^^

Bonne journée/soirée ^^

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 2 jours #32803 par Stéphane
un grand merci pour l'aide.
entre temps j'ai testé un autre script mais en respectant la liste des noms de référence est ça fonctionne bien (j'ai changé le telephoneNumber par EmployeeID), juste quand je mis par exemple comme paramètre mail ou EmailAddress , malheureusement ne se passe pas.

voici le code que j'utilise :

Import-CSV -Path "E:\scripts\liste.csv" -Delimiter ";" |
ForEach {
Write-Host $_

Set-ADuser -Identity $_.EmailAddress -Replace @{EmployeeID=$_.EmployeeID}
}
*************************************
et l'erreur :


Set-ADuser : Impossible de trouver un objet avec l’identité « Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. » sous : « DC=cpas,DC=schaerbeek,DC=dom ».
Au caractère E:\scripts\employeeid.ps1:5 : 3
+ Set-ADuser -Identity $_.EmailAddress -Replace @{EmployeeID=$_.Emplo ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (toto@domaine.com:ADUser) [Set-ADUser], ADIdentityNotFoundException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.SetADUser

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 2 jours - il y a 1 semaine 2 jours #32804 par Laurent Dardenne
Il faut lire la doc :

Specifies an Active Directory user object by providing one of the following property values. The identifier in parentheses is the LDAP display name for the attribute. The acceptable values for this parameter are:

A distinguished name
A GUID (objectGUID)
A security identifier (objectSid)
A SAM account name (sAMAccountName)

Une adresse Email n'est pas considéré comme un identifiant de compte...

Tutoriels PowerShell
Dernière édition: il y a 1 semaine 2 jours par Laurent Dardenne. Raison: balise
Les utilisateur(s) suivant ont remercié: Stéphane

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 semaine 2 jours #32806 par Stéphane
un grand merci.
Effectivement après le changement ça fonctionne parfaitement.
Mercii bien 
*********************************************
Import-Module ActiveDirectory 
Import-Csv -Path 'E:\scripts\liste.csv' -Delimiter ";" | ForEach-Object {
    $user = Get-ADUser -Filter "EmailAddress -eq '$($_.EmailAddress)'" 
    if ($user) { 
        Write-Host "Setting OfficePhone $($_.OfficePhone) for $($user.Name)"
        $user | Set-ADUser -OfficePhone $_.OfficePhone    
    }
    else {
        Write-Warning "Could not find user with EmailAddress $($_.EmailAddress)"
    }
}

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.078 secondes
Propulsé par Kunena