Question
Modifier attribut OfficePhone
- Alexis
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 10 ans 7 mois #20605
par Alexis
Modifier attribut OfficePhone a été créé par Alexis
Bonjour à tous,
Je sais que le sujet à était abordé des dizaines de fois.
Malgré tout je me permet à mon tour de poser la question.
Je n'ai pas d'environnement de test. Je travail en prod directement...
J'ai besoin de modifier plus de 200 comptes AD.
L'attribut à modifier est \"OfficePhone\".
Actuellement, un numéro est de la forme 04.94.00.00.00
Au vue de l'évolution de ma société, j'ai besoin d'ajouter l'indicatif pays \"+33\".
Le numéro sera de la forme \"+334.00.00.00.00\".
J'ai extrait de l'AD les infos nécessaires via la commande:
[code:1]Get-ADUser -Filter * -Properties OfficePhone, samaccountname | Select-Object samaccountname,OfficePhone | Export-Csv phone2.csv[/code:1]
Après extraction, j'ai traité mon CSV avec notepadd++ pour modifier le \"04\" en \"+334\". Ce qui nous donne:
\"samaccountname_utilisateur\",\"+334.00.00.00.00\"
Structure de monfichier CSV:
[code:1]
#TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser
\"SamAccountName\",\"OfficePhone\"
\"alexis\",\"+334.00.00.00.00\"
[/code:1]
Je veux maintenant utiliser ce code pour modifier cet attribut pour tout l'AD:
[code:1]#fichier.csv
#
#\"SamAccountName\",\"OfficePhone\"
Import-Csv -path \"C:\Users\adminit\Desktop\phone.csv\" -Delimiter \",\" |
foreach {
$compte = ($_.SamAccountName); $phone = ($_.OfficePhone);
Set-ADUser -identity $compte -OfficePhone $phone -Replace @{OfficePhone=$phone}
};
}[/code:1]
Pour vous, tout semble en ordre ou pas ?
Merci d'avance de votre retour.<br><br>Message édité par: Alexis83870, à: 7/08/15 10:47
Je sais que le sujet à était abordé des dizaines de fois.
Malgré tout je me permet à mon tour de poser la question.
Je n'ai pas d'environnement de test. Je travail en prod directement...
J'ai besoin de modifier plus de 200 comptes AD.
L'attribut à modifier est \"OfficePhone\".
Actuellement, un numéro est de la forme 04.94.00.00.00
Au vue de l'évolution de ma société, j'ai besoin d'ajouter l'indicatif pays \"+33\".
Le numéro sera de la forme \"+334.00.00.00.00\".
J'ai extrait de l'AD les infos nécessaires via la commande:
[code:1]Get-ADUser -Filter * -Properties OfficePhone, samaccountname | Select-Object samaccountname,OfficePhone | Export-Csv phone2.csv[/code:1]
Après extraction, j'ai traité mon CSV avec notepadd++ pour modifier le \"04\" en \"+334\". Ce qui nous donne:
\"samaccountname_utilisateur\",\"+334.00.00.00.00\"
Structure de monfichier CSV:
[code:1]
#TYPE Selected.Microsoft.ActiveDirectory.Management.ADUser
\"SamAccountName\",\"OfficePhone\"
\"alexis\",\"+334.00.00.00.00\"
[/code:1]
Je veux maintenant utiliser ce code pour modifier cet attribut pour tout l'AD:
[code:1]#fichier.csv
#
#\"SamAccountName\",\"OfficePhone\"
Import-Csv -path \"C:\Users\adminit\Desktop\phone.csv\" -Delimiter \",\" |
foreach {
$compte = ($_.SamAccountName); $phone = ($_.OfficePhone);
Set-ADUser -identity $compte -OfficePhone $phone -Replace @{OfficePhone=$phone}
};
}[/code:1]
Pour vous, tout semble en ordre ou pas ?
Merci d'avance de votre retour.<br><br>Message édité par: Alexis83870, à: 7/08/15 10:47
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 7 mois #20606
par Philippe
Réponse de Philippe sur le sujet Re:Modifier attribut OfficePhone
Bonjour Alexis83870
je ne sais pas quel version de l'AD tu a, mais pour la version 2008R2, l'attribut officephone n'existe pas. il faut utilise telephoneNumber. Voir cette article
de plus pour l'instruction Set-ADUser doit choisir entre l'option -officephone ou -Replace @{telephoneNumber=$phone}
sinon ton script est correct !
peut être un après l'import pour les lignes vide de ton fichier csv pour évité de cherché pourquoi il y a des messaged d'erreurd :
[code:1]import-csv .... | where {$_ -ne $null -and $_ -ne \"\"} | foreach .....[/code:1]<br><br>Message édité par: 6ratgus, à: 7/08/15 12:41
je ne sais pas quel version de l'AD tu a, mais pour la version 2008R2, l'attribut officephone n'existe pas. il faut utilise telephoneNumber. Voir cette article
de plus pour l'instruction Set-ADUser doit choisir entre l'option -officephone ou -Replace @{telephoneNumber=$phone}
sinon ton script est correct !
peut être un après l'import pour les lignes vide de ton fichier csv pour évité de cherché pourquoi il y a des messaged d'erreurd :
[code:1]import-csv .... | where {$_ -ne $null -and $_ -ne \"\"} | foreach .....[/code:1]<br><br>Message édité par: 6ratgus, à: 7/08/15 12:41
Connexion ou Créer un compte pour participer à la conversation.
- Alexis
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 10 ans 7 mois #20607
par Alexis
Réponse de Alexis sur le sujet Re:Modifier attribut OfficePhone
Alexis83870 écrit:
Bonjour 6ratgus,
Merci de ton retour. Effectivement j'ai un AD sous 2012R2.
Merci de ta correction !
Le code ci-dessus est donc le bon désormais ?
Je peux exécuter les yeux fermé, ou presque
?
Concernant les lignes vides dans le CSV, j'ai fais le ménage.
Néanmoins je garde sous la main ton bout de code pour une prochaine fois !!
Merci d'avance de ton retour
[code:1]#fichier.csv
#
#\"SamAccountName\",\"telephonenumber\"
Import-Csv -path \"C:\Users\adminit\Desktop\phone.csv\" -Delimiter \",\" |
foreach {
$compte = ($_.SamAccountName); $phone = ($_.telephonenumber);
Set-ADUser -identity $compte -Replace @{telephonenumber=$phone}
};
}[/code:1]
Bonjour 6ratgus,
Merci de ton retour. Effectivement j'ai un AD sous 2012R2.
Merci de ta correction !
Le code ci-dessus est donc le bon désormais ?
Je peux exécuter les yeux fermé, ou presque
Concernant les lignes vides dans le CSV, j'ai fais le ménage.
Néanmoins je garde sous la main ton bout de code pour une prochaine fois !!
Merci d'avance de ton retour
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 7 mois #20608
par Philippe
tu peut même exécuté le script plusieurs fois au cas ou tu ai un problème,
car au final tu met dans l'AD toujours la même bonne info du fichier CSV !
je te conseil de gardai le filtre cas même après un ménage, un objet importé depuis un CSV peu avoir des membres null et donc généré des messages d'erreurs si pas géré !
[code:1]
#fichier.csv
#
#\"SamAccountName\",\"telephonenumber\"
Import-Csv -path \"C:\Users\adminit\Desktop\phone.csv\" -Delimiter \",\" | where {$_ -ne $null -and $_ -ne \"\"} |
foreach {
$compte = ($_.SamAccountName); $phone = ($_.telephonenumber);
Set-ADUser -identity $compte -Replace @{telephonenumber=$phone}
};
}[/code:1]
un conseil : garde le fichier CSV généré par le Get-ADUser AVANT le ménage (ou régénère le)
pour le cas de erreur de manip durant le ménage !!!
<br><br>Message édité par: 6ratgus, à: 7/08/15 15:52
Réponse de Philippe sur le sujet Re:Modifier attribut OfficePhone
pour moi oui mais tu peut déjà faire le test avec un petit groupe d'utilisateurs dans ton fichier CSV (5 ou 10) pour être surJe peux exécuter les yeux fermé, ou presque ?
tu peut même exécuté le script plusieurs fois au cas ou tu ai un problème,
car au final tu met dans l'AD toujours la même bonne info du fichier CSV !
je te conseil de gardai le filtre cas même après un ménage, un objet importé depuis un CSV peu avoir des membres null et donc généré des messages d'erreurs si pas géré !
[code:1]
#fichier.csv
#
#\"SamAccountName\",\"telephonenumber\"
Import-Csv -path \"C:\Users\adminit\Desktop\phone.csv\" -Delimiter \",\" | where {$_ -ne $null -and $_ -ne \"\"} |
foreach {
$compte = ($_.SamAccountName); $phone = ($_.telephonenumber);
Set-ADUser -identity $compte -Replace @{telephonenumber=$phone}
};
}[/code:1]
un conseil : garde le fichier CSV généré par le Get-ADUser AVANT le ménage (ou régénère le)
pour le cas de erreur de manip durant le ménage !!!
Connexion ou Créer un compte pour participer à la conversation.
- Alexis
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 0
il y a 10 ans 7 mois #20609
par Alexis
Réponse de Alexis sur le sujet Re:Modifier attribut OfficePhone
6ratgus écrit:
Merci à toi.
J'inclus ton bout de code. Mais j'ai vérifié le CSV, aucune ligne vide ou info manquante.
Néanmoins, le prix est le même alors pourquoi ne pas améliorer le code initial
Je vais tester de suite avec 2 - 2 utilisateurs.
Je viens éditer après
pour moi oui mais tu peut déjà faire le test avec un petit groupe d'utilisateurs dans ton fichier CSV (5 ou 10) pour être surJe peux exécuter les yeux fermé, ou presque ?
tu peut même exécuté le script plusieurs fois au cas ou tu ai un problème,
car au final tu met dans l'AD toujours la même bonne info du fichier CSV !
je te conseil de gardai le filtre cas même après un ménage, un objet importé depuis un CSV peu avoir des membres null et donc généré des messages d'erreurs si pas géré !
[code:1]
#fichier.csv
#
#\"SamAccountName\",\"telephonenumber\"
Import-Csv -path \"C:\Users\adminit\Desktop\phone.csv\" -Delimiter \",\" | where {$_ -ne $null -and $_ -ne \"\"} |
foreach {
$compte = ($_.SamAccountName); $phone = ($_.telephonenumber);
Set-ADUser -identity $compte -Replace @{telephonenumber=$phone}
};
}[/code:1]<br><br>Message édité par: 6ratgus, à: 7/08/15 15:48
Merci à toi.
J'inclus ton bout de code. Mais j'ai vérifié le CSV, aucune ligne vide ou info manquante.
Néanmoins, le prix est le même alors pourquoi ne pas améliorer le code initial
Je vais tester de suite avec 2 - 2 utilisateurs.
Je viens éditer après
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 10 ans 7 mois #20610
par Philippe
Réponse de Philippe sur le sujet Re:Modifier attribut OfficePhone
un conseil : garde le fichier CSV généré par le Get-ADUser AVANT le ménage (ou régénère le)
pour le cas de erreur de manip durant le ménage !!!
pour le cas de erreur de manip durant le ménage !!!
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.045 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Modifier attribut OfficePhone