none
Effacer l'attribut "Ipphone" pour plusieurs users RRS feed

  • 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

    A savoir que mon tableau est sur 2 colones

    SamAccountName ;IPphone
    test;127.0.0.0

    Merci de votre aide.


    lundi 30 juillet 2018 09:58

Réponses

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
    
    }


    lundi 30 juillet 2018 10:01

  • 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
    
    }


    Je te remercie de ta réponse rapide,
     
    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

    lundi 30 juillet 2018 10:15
  • 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
    lundi 30 juillet 2018 10:27
  • Je te remercie cela fonctionne, 

    Merci de ton intervention
    lundi 30 juillet 2018 10:33
  • 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
    lundi 30 juillet 2018 10:35