Question [Résolu] Help Script création Azure AD user via un csv

Plus d'informations
il y a 1 an 7 mois - il y a 1 an 7 mois #32577 par Guillaume LAVERNHE
Bonjour Bonjour,

J'ai un script qui récupere des infos depuis un csv pour crée un user sur l'azure AD

Mon problème quand un champs est vide ceux qui peut arriver pour Mobile et TelephoneNumber j'ai l'erreur suivante :
Details: PropertyName  - mobile, PropertyErrorCode  - InvalidLength

Mon script du moins la partie qui bug ressemble a ça :

#If so then move a along, otherwise create the user.
    If ($ADuser)
    {
        Write-Verbose "$UserPrincipalName already exists. User will be added to group if specified."
    }
    Else
    {

        Try {    
            New-AzureADUser -DisplayName $Entry.DisplayName `
                -GivenName $Entry.GivenName `
                -Surname $Entry.Surname `
                -AccountEnabled $true `
                -MailNickName $MailNickName `
                -UserPrincipalName $UserPrincipalName `
                -PasswordProfile $PasswordProfile `
                -City $Entry.City `
                -State $Entry.State `
                -Country $Entry.Country `
                -Department $Entry.Department `
                -TelephoneNumber $Entry.TelephoneNumber `
                -Mobile $Entry.Mobile `
                -PhysicalDeliveryOfficeName $Entry.PhysicalDeliveryOfficeName `
                -UsageLocation $Entry.UsageLocation `
                -StreetAddress $Entry.StreetAddress `
                -PostalCode $Entry.PostalCode `
                -CompanyName $Entry.CompanyName `
                }
                Catch {
            Write-Error "$DisplayName : Error occurred while creating Azure AD Account. $_"
            Continue
        }

Je cherche comment faire pour que le script ignore les champs vide 

J'ai trouvé des infos sur AllowEmptyString mais ca na pas l'air de fonctionner 

Merci.
Dernière édition: il y a 1 an 7 mois par Laurent Dardenne. Raison: Résolu

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

Plus d'informations
il y a 1 an 7 mois - il y a 1 an 7 mois #32580 par Laurent Dardenne
Salut,
il te faut soit adapter le contenu de l'objet $Entry ( contient-il une valeur $null ou une chaine vide ?) , soit adapter la liste des paramètres selon le contenu des propriétés.
Dans ce dernier cas utilise une hashtable et le splatting.
Un exemple :
#Les noms des clés de la hashtable sont des noms de paramètre d'un cmdlet
$Parameters=@{
GivenName=$Entry.GivenName
#tous les champs qui ne demandent pas de vérification
#etc
}

#On ajoute les champs qui demandent une vérification de contenu
if ($Entry.TelephoneNumber -ne [string]::Empty)
{ $Parameters.Add('TelephoneNumber',$Entry.TelephoneNumber) }

#Utilise le splatting
New-AzureADUser @Parameters

Tutoriels PowerShell
Dernière édition: il y a 1 an 7 mois par Laurent Dardenne. Raison: coquille
Les utilisateur(s) suivant ont remercié: Guillaume LAVERNHE

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

Plus d'informations
il y a 1 an 7 mois #32582 par Guillaume LAVERNHE
Entre temps j'ai trouvé une solution mais un peu sale mdr 

en enlevant de Add-Azure les 
-TelephoneNumber $Entry.TelephoneNumber `
-Mobile $Entry.Mobile `

et en mettant a la suite
Set-AzureADUser -ObjectId $UserPrincipalName -TelephoneNumber $Entry.TelephoneNumber -Mobile $Entry.Mobile
Continue

ça fonctionne mais ces moche j'ai lerreur mais ca la passe quand meme


Je vais essayer ta solution Merci beaucoup

 

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

Plus d'informations
il y a 1 an 7 mois #32586 par Laurent Dardenne
>>ça fonctionne mais c'est moche, j'ai l'erreur mais la ça passe quand même.
Certes, perso j'évite le lundi de me créer mes problèmes du vendredi ;-)
Essaie ton code avec $ErrorActionPreference='Stop' ...

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 7 mois #32587 par Guillaume LAVERNHE
Hello ,

J'ai pu tester avec ton code et c'est parfait tout fonctionne au top , Merci beaucoup

Je ne trouve pas comment mettre cette demande en résolu par contre ^^

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

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