Question
[Résolu] Mise à jour AD avec CSV => Attribut null
- Favre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 11 ans 3 mois #18525
par Favre
Réponse de Favre sur le sujet Re:Mise à jour AD, attribut null
Ce post me semble vraiment pas mal, je ferais un test demain, merci.
Je vous tiens au courant
Je vous tiens au courant
Connexion ou Créer un compte pour participer à la conversation.
- Favre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 11 ans 3 mois #18527
par Favre
Réponse de Favre sur le sujet Re:Mise à jour AD, attribut null
Bon je tiens le bon bout, voici le script qui fonctionne parfaitement. Il s'adapte à toute les update et ignore les champs vide du .csv .
Merci à Laurent dardenne pour le lien, c'était le bon =)
[code:1]
Import-Module ActiveDirectory
$users = Import-Csv c:\test-im-ad2.csv
foreach ($user in $users) {
$hash= @{}
($user|gm|?{$_.MemberType -eq \"NoteProperty\"} | Select -ExpandProperty Name) | % {if ($user.\"$_\" -gt \"\"«») {$hash.\"$_\" = $user.\"$_\"}}
Set-aduser $user.samaccountName -replace $hash
}
[/code:1]
Merci à Laurent dardenne pour le lien, c'était le bon =)
[code:1]
Import-Module ActiveDirectory
$users = Import-Csv c:\test-im-ad2.csv
foreach ($user in $users) {
$hash= @{}
($user|gm|?{$_.MemberType -eq \"NoteProperty\"} | Select -ExpandProperty Name) | % {if ($user.\"$_\" -gt \"\"«») {$hash.\"$_\" = $user.\"$_\"}}
Set-aduser $user.samaccountName -replace $hash
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Favre
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 6
- Remerciements reçus 0
il y a 11 ans 3 mois #18528
par Favre
Réponse de Favre sur le sujet Re:Mise à jour AD, attribut null
Pour finir, voici le script complet avec la gestion des erreurs dans des fichiers de Log.
[code:1]
Import-Module ActiveDirectory
$users = Import-Csv c:\test-im-ad2.csv
$log = \"c:\Log_script_ad\user_ok.txt\"
$log2 = \"c:\Log_script_ad\user_nok.txt\"
$date = Get-Date -format 'yyyy/MM/dd HH:mm:«»ss'
foreach ($user in $users) {
Try {
$hash= @{}
($user|gm|?{$_.MemberType -eq \"NoteProperty\"} | Select -ExpandProperty Name) | % {if ($user.\"$_\" -gt \"\"«») {$hash.\"$_\" = $user.\"$_\"}}
$command = Set-aduser $user.samaccountName -replace $hash
$date + \" : User successfully created : \" + $user.samaccountName | Out-File $log -Append
}
Catch {
$date + \" : Update failed for \" + $user.samaccountName + \" : \" + $error[0].ToString() | Out-File $log2 -append
}
}
\"————————————————-\" + \"`n\" | Out-File $log -Append
\"————————————————-\" + \"`n\" | Out-File $log2 -Append[/code:1]
[code:1]
Import-Module ActiveDirectory
$users = Import-Csv c:\test-im-ad2.csv
$log = \"c:\Log_script_ad\user_ok.txt\"
$log2 = \"c:\Log_script_ad\user_nok.txt\"
$date = Get-Date -format 'yyyy/MM/dd HH:mm:«»ss'
foreach ($user in $users) {
Try {
$hash= @{}
($user|gm|?{$_.MemberType -eq \"NoteProperty\"} | Select -ExpandProperty Name) | % {if ($user.\"$_\" -gt \"\"«») {$hash.\"$_\" = $user.\"$_\"}}
$command = Set-aduser $user.samaccountName -replace $hash
$date + \" : User successfully created : \" + $user.samaccountName | Out-File $log -Append
}
Catch {
$date + \" : Update failed for \" + $user.samaccountName + \" : \" + $error[0].ToString() | Out-File $log2 -append
}
}
\"————————————————-\" + \"`n\" | Out-File $log -Append
\"————————————————-\" + \"`n\" | Out-File $log2 -Append[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.040 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Mise à jour AD avec CSV => Attribut null