Question Modifier attribut OfficePhone

Plus d'informations
il y a 10 ans 7 mois #20605 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

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

Plus d'informations
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 \&quot;\&quot;} | foreach .....[/code:1]<br><br>Message édité par: 6ratgus, à: 7/08/15 12:41

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

Plus d'informations
il y a 10 ans 7 mois #20607 par Alexis
Réponse de Alexis sur le sujet Re:Modifier attribut OfficePhone
Alexis83870 écrit:

[code:1]#fichier.csv
#


#\&quot;SamAccountName\&quot;,\&quot;telephonenumber\&quot;

Import-Csv -path \&quot;C:\Users\adminit\Desktop\phone.csv\&quot; -Delimiter \&quot;,\&quot; |
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.

Plus d'informations
il y a 10 ans 7 mois #20608 par Philippe
Réponse de Philippe sur le sujet Re:Modifier attribut OfficePhone

Je peux exécuter les yeux fermé, ou presque ?

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 sur

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 ! B)


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é ! :blink:

[code:1]
#fichier.csv
#
#\&quot;SamAccountName\&quot;,\&quot;telephonenumber\&quot;

Import-Csv -path \&quot;C:\Users\adminit\Desktop\phone.csv\&quot; -Delimiter \&quot;,\&quot; | where {$_ -ne $null -and $_ -ne \&quot;\&quot;} |
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 !!! :whistle: :evil:<br><br>Message édité par: 6ratgus, à: 7/08/15 15:52

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

Plus d'informations
il y a 10 ans 7 mois #20609 par Alexis
Réponse de Alexis sur le sujet Re:Modifier attribut OfficePhone
6ratgus écrit:

Je peux exécuter les yeux fermé, ou presque ?

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 sur

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 ! B)


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é ! :blink:

[code:1]
#fichier.csv
#
#\&quot;SamAccountName\&quot;,\&quot;telephonenumber\&quot;

Import-Csv -path \&quot;C:\Users\adminit\Desktop\phone.csv\&quot; -Delimiter \&quot;,\&quot; | where {$_ -ne $null -and $_ -ne \&quot;\&quot;} |
foreach {
$compte = ($_.SamAccountName); $phone = ($_.telephonenumber);
Set-ADUser -identity $compte -Replace @{telephonenumber=$phone}
};
}[/code:1]&lt;br&gt;&lt;br&gt;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.

Plus d'informations
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 !!!

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

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