Auteur de questions
ActiveDirectory - Erreur script ajout utilisateur

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 }
- Déplacé Boris Ivanov _ mardi 30 décembre 2014 08:35 PowerShell
Toutes les réponses
-
-
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 ?
-
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.
-
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
-