Meilleur auteur de réponses
Effacer l'attribut "Ipphone" pour plusieurs users

Question
-
Bonjour,
Je cherché a supprimer les attributs du champs IPphone,
En commande simple je n'ai pas de problème.Get-ADuser -Identity samaccouname -Properties ipPhone | Set-ADUser -Clear ipPhone
Je passe par un Import en CSV pour réaliser cette commande pour plusieurs utilisateurs
Voici mon script qui me pose problème.
Import-Csv C:\tmp\ipphone.csv | ForEach { Get-ADUser -Identity $_.SamAccountName | Set-ADUser -Clear $_.IPphone }
Voici l"erreur
Get-ADUser : Cannot validate argument on parameter 'Identity'. The argument is null or an element of the argument collection contains a null value.
At line:3 char:26
+ Get-ADUser -Identity $_.SamAccountName |
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Get-ADUser], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.GetADUser
Je pense que l'erreur reponds bien pour chaque users
SamAccountName ;IPphone
A savoir que mon tableau est sur 2 colones
test;127.0.0.0
Merci de votre aide.
Réponses
-
Pas de quoi, bonne journée !
N'hésites pas à mettre ma réponse en réponse bonne, si quelqu'un tombe sur ton topic ça aidera
A+
- Marqué comme réponse lerenard92 lundi 30 juillet 2018 12:18
Toutes les réponses
-
Bonjour,
Si vous êtes sûr de votre fichier CSV, le problème doit venir du délimiteur.
Essayez ça :
Import-Csv C:\tmp\ipphone.csv -Delimiter ";" | ForEach-Object { Get-ADUser -Identity $_.SamAccountName -Properties ipPhone | Set-ADUser -Clear $_.IPphone }
-
Bonjour,Si vous êtes sûr de votre fichier CSV, le problème doit venir du délimiteur.
Essayez ça :
Import-Csv C:\tmp\ipphone.csv -Delimiter ";" | ForEach-Object { Get-ADUser -Identity $_.SamAccountName -Properties ipPhone | Set-ADUser -Clear $_.IPphone }
Le script réponds a une autre erreur
Set-ADUser : The specified directory service attribute or value does not exist
Parameter name: 127.0.0.0
At line:4 char:5
+ Set-ADUser -Clear $_.IPphone
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (CN=samaccouname,...E,DC=xx,DC=xx:ADUser) [Set-ADUser], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.SetADUser
- Modifié lerenard92 lundi 30 juillet 2018 10:16
-
Effectivement, du coup dans le fichier CSV la deuxième colonne est inutile si tu la remplie avec 127.0.0.1 (je me demandais justement pourquoi elle était là cette colonne)
Import-Csv C:\tmp\ipphone.csv -Delimiter ";" | ForEach-Object { Get-ADUser -Identity $_.SamAccountName -Properties ipPhone | Set-ADUser -Clear IPphone }
Si par contre tu veux effectivement changer l'IP en 127.0.0.1
Import-Csv C:\tmp\ipphone.csv -Delimiter ";" | ForEach-Object { Get-ADUser -Identity $_.SamAccountName -Properties ipPhone | Set-ADUser -add @{ipphone="$_.ipphone"} }
Dis-moi si c'est mieux
- Proposé comme réponse Romain Wager lundi 30 juillet 2018 10:34
-
-
Pas de quoi, bonne journée !
N'hésites pas à mettre ma réponse en réponse bonne, si quelqu'un tombe sur ton topic ça aidera
A+
- Marqué comme réponse lerenard92 lundi 30 juillet 2018 12:18