none
ActiveDirectory - Erreur script ajout utilisateur RRS feed

  • Question

  • Bonjour,

    Je viens de faire un script qui permet de créer des utilisateurs dans l'AD via un fichier .csv

    Le script fonctionne correctement, tous mes utilisateurs sont créer. Mais je me suis rendu compte d'un problème au niveau du dossier de base que j'affecte à l'utilisateur.

    Avec les utilisateurs créer à la main, ce dossier (qui n'existe pas) ce crée automatiquement. Mais pour les utilisateurs créer avec mon script cela ne se fait pas, pourtant le chemin et la lettre sont correctement renseigné dans les propriétés de l'utilisateur.

    J'ai remarqué que si je vais modifier le chemin à la main (même si je remet le même) et que je valide, à ce moment le dossier ce crée.

    Avez-vous une idée d’où cela peux provenir ? Merci d'avance

    Ci-dessous mon script si besoin.

    #Chargement du module ActiveDirectory
    Import-Module ActiveDirectory
    #Import du fichier csv
    $Users=import-csv user.csv
    #Récupération et formatage des données dans les variables, pour chaque utilisateur 
    Foreach ($User IN $Users)
    {
    $UserLastName=$User.Nom
    $UserFirstName=$User.Prenom
    $DetailedName=$User.Nom+" "+$User.Prenom+" MyCompany"
    $SAM=$User.Compte
    $Password="password"
    $ExpirationDate=$User.DateExpiration
    $ScriptPath="StartLogon.vbs"
    $HomeDirectory="\\serveur\user\"+$User.Compte
    $Service=$User.Service
    $Fonction=$User.Fonction
    $Responsable=$User.Manager
    $Societe="MyCompany"
    $OU="OU=TMP,OU=Utilisateurs,OU=company,DC=company,DC=com"
    New-ADUser -Name $Detailedname -SamAccountName $SAM -UserPrincipalName $SAM -DisplayName $Detailedname -GivenName $userfirstname -Surname $userlastname -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -ChangePasswordAtLogon 1 -AccountExpirationDate $ExpirationDate -Path $OU -ScriptPath $ScriptPath -HomeDrive H -HomeDirectory $HomeDirectory -Manager $Responsable -Company $Societe -Department $Service -EmployeeID $Fonction -Title $Fonction -Enabled $true
    } 

    mardi 30 décembre 2014 04:36

Toutes les réponses

  • Bonjour,

    Vous pouvez rajouter avant:

    $HomeDirectory = "\\serveur\user\" + $User.Compte

    Cette commande :

    New-Item -ItemType directory -Path \\serveur\user\ + $User.compte

    Cordialement

    lundi 5 janvier 2015 14:39
  • Bonjour Michaël,

    J'ai essayé de rajouter ta ligne mais cela ne fonctionne pas. Voici le message d'erreur qui s'affiche :

    Je pense que cela est du à ma boucle "Foreach". Car si je lance ta commande seule, en dehors du script cela fonctionne.

    Peux-tu m'aider ?

    jeudi 29 janvier 2015 00:10
  • Salut,

    il faut utiliser les parenthèses :

    $user=1|select nom,compte
    $user.nom='Test'
    $user.Compte='AcntTest'
    
    function GetParam {Param ($P1,$P2,$P3) "P1=$P1";"P2=$P2";"P3=$P3"}
    
    GetParam "C:\temp\" + $User.compte
    # P1=C:\temp\
    # P2=+
    # P3=AcntTest
    
    GetParam "C:\temp\"+$User.compte
    # P1=C:\temp\
    # P2=+@{nom=Test; compte=AcntTest}.compte
    # P3=
    
    GetParam ("C:\temp\"+$User.compte)
    # P1=C:\temp\AcntTest
    # P2=
    # P3=


    Beatus, qui prodest, quibus potest.

    jeudi 29 janvier 2015 13:06
    Modérateur
  • Merci ça fonctionne. 

    Par contre je rencontre un autre problème, avec la lettre du lecteur lorsque que le dossier est monté dans la session. 

    Le dossier est monté avec la lettre "Z:" au lieu d'être monté avec la lettre "H:" comme je l'ai spécifié dans mon script. (New-ADUser  ...  -HomeDrive H).

    Quand je regarde les propriétés de l'utilisateur dans l'AD, la lettre est correctement positionné sur "H:" mais dans la session c'est le "Z:" qui monte.

    Avez-vous une idée, pour solutionner cela ? Merci d'avance

    jeudi 29 janvier 2015 22:38

  • Avez-vous une idée, pour solutionner cela ? Merci d'avance

    Tracer les GPO ?

    Beatus, qui prodest, quibus potest.

    vendredi 30 janvier 2015 05:07
    Modérateur