Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Scripts PS changement mdp en masse AD


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Scripts PS changement mdp en masse AD
    Bonjour

    j'aimerai avoir une petite aide concernant un scripts en PowerShell me permettant de changer en masse les mdp de mes user existant par un que j'ai via mon fichier CSV.

    Code PowerShell :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Import-Module ActiveDirectory
    $Server = "monsrv"
    $fichier = "C:\Users\Administrateur\Desktop\User.csv"
    $users = Import-Csv -Path $fichier -Delimiter ";" -Encoding UTF8
    foreach($user in $users){
    $UserSAM = $user.SamAccountName
    $UserPwd = $user.Password
    Set-ADAccountPassword -Server $Server -Identity $UserSAM -Reset -NewPassword (ConvertTo-SecureString -AsPlainText $UserPwd -Force)
    Set-ADUser -Identity $UserSAM –PasswordNeverExpires $false
    set-ADuser -Identity $UserSAM -CannotChangePassword $false
    Set-ADUser -Identity $UserSAM –ChangePasswordAtLogon $true
    }


    Mais j'ai une erreur de type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     Set-ADAccountPassword : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:8 : 49
    + Set-ADAccountPassword -Server $Server -Identity $UserSAM -Reset -NewP ...
    +                                                 ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADAccountPassword], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADAccountPassword
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:9 : 22
    + Set-ADUser -Identity $UserSAM –PasswordNeverExpires $false
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:10 : 22
    + set-ADuser -Identity $UserSAM -CannotChangePassword $false
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:11 : 22
    + Set-ADUser -Identity $UserSAM –ChangePasswordAtLogon $true
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADAccountPassword : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:8 : 49
    + Set-ADAccountPassword -Server $Server -Identity $UserSAM -Reset -NewP ...
    +                                                 ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADAccountPassword], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADAccountPassword
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:9 : 22
    + Set-ADUser -Identity $UserSAM –PasswordNeverExpires $false
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:10 : 22
    + set-ADuser -Identity $UserSAM -CannotChangePassword $false
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:11 : 22
    + Set-ADUser -Identity $UserSAM –ChangePasswordAtLogon $true
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADAccountPassword : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:8 : 49
    + Set-ADAccountPassword -Server $Server -Identity $UserSAM -Reset -NewP ...
    +                                                 ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADAccountPassword], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADAccountPassword
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:9 : 22
    + Set-ADUser -Identity $UserSAM –PasswordNeverExpires $false
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:10 : 22
    + set-ADuser -Identity $UserSAM -CannotChangePassword $false
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:11 : 22
    + Set-ADUser -Identity $UserSAM –ChangePasswordAtLogon $true
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADAccountPassword : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:8 : 49
    + Set-ADAccountPassword -Server $Server -Identity $UserSAM -Reset -NewP ...
    +                                                 ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADAccountPassword], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADAccountPassword
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:9 : 22
    + Set-ADUser -Identity $UserSAM –PasswordNeverExpires $false
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:10 : 22
    + set-ADuser -Identity $UserSAM -CannotChangePassword $false
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser
     
    Set-ADUser : Impossible de valider l'argument sur le paramètre «*Identity*». L’argument est Null. Spécifiez une valeur valide pour l’argument, puis réessayez.
    Au caractère Ligne:11 : 22
    + Set-ADUser -Identity $UserSAM –ChangePasswordAtLogon $true
    +                      ~~~~~~~~
        + CategoryInfo          : InvalidData : (:) [Set-ADUser], ParameterBindingValidationException
        + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.SetADUser


    Vous avez pas une idée ? merci

  2. #2
    Expert confirmé
    Il te dit que $UserSAM est vide ou null.
    Affiche sa valeur dans ton script pour en avoir le cœur net

  3. #3
    Futur Membre du Club
    Il te dit que $UserSAM est vide ou null.
    Affiche sa valeur dans ton script pour en avoir le cœur net
    J'aimerai bien mais j'ignore comment faire ^^, a vrai dire je cherche un peu partout pour faire mon scripts vu que je suis vraiment extérieur en conception de scripts =(

  4. #4
    Expert confirmé
    J'aimerai bien mais j'ignore comment faire
    Tu ne fait pas d'effort, c'est plus que la base
    Code powershell :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    $a = "toto"
    Write-Host "A vaut $a"
    A vaut toto


    je suis vraiment extérieur en conception de scripts
    Je ne connais pas cette expression

  5. #5
    Futur Membre du Club
    @ericlm128 la base pour toi sauf que j'ai jamais ou très très peu (ça ce compte sur les doigts de la main) ou j'ai du faire du PS donc j'ai eu aucun cours rien, j'ai peut être plus de lacune ce que je nie pas mais je fais quand même des efforts en tentant de comprendre, en cherchant sur le net et en fournissant au moins un scripts de départ.

    Ce qui peut paraître simple et basique pour toi ne l'est pas forcément pour un autre, il y a surement des domaines ou tu sécherai complètement alors que ça sera basique pour un autre

  6. #6
    Expert confirmé
    Je ne comprend juste pas comment tu peux proposer un tel script et ne pas savoir afficher une variable.

    Avec mon exemple tu as du comprendre comment faire afin de vérifier.

###raw>template_hook.ano_emploi###