Création User AD -> Forcer le nom de domaine

Plus d'informations
il y a 5 ans 1 mois #19483 par cope
Bonjour,

Ci-dessous mon script permettant de créer des utilisateur dans l'AD depuis un .CSV, avec les champs formaté en fonction de ma société.
Tous fonctionne, sauf le nom de domaine.
Dans les propriétés de l'utilisateur, dons l'onglet \"Compte\" puis \"Nom d'ouverture de session de l'utilisateur\" le domaine n'est pas spécifié dans la liste déroulante.

J'en ai besoin car cela me donne une erreur dans un autre script qui créer la boite au lettre, Exchange ne sait pas sous quel domaine faire la BAL.

[code:1]#Chargement du module ActiveDirectory
Import-Module ActiveDirectory

#Import du fichier csv
Copy-Item -Path '\\SERVER\AddUsers.csv' -Destination 'SERVER\Temp_CreateBal'
$Users=import-csv '\\SERVER\AddUsers.csv'

#Récupération et mise en forme des données dans les variables, pour chaque utilisateur
Foreach ($User IN $Users)
{
$UserLastName=$User.Nom
$UserFirstName=$User.Prenom
$DetailedName=$User.Nom+\" \"+$User.Prenom+\" SOCIETE\"
$SAM=$User.Compte
$Password=\"azerty01*\"
$ExpirationDate=$User.DateExpiration
$ScriptPath=\"StartLogon.vbs\"
$HomeDirectory=\"\\SERVER\\"+$User.Compte
$Service=$User.Service
$Fonction=$User.Fonction
$Description=$User.Fonction
$Responsable=$User.Manager
$Societe=\"SOCIETE\"
$OU=\"OU=TMP,OU=Utilisateurs,OU=xx,DC=xx,DC=xx\"

#Création de l'utilisateur dans l'AD avec le contenu des variables mise en forme
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 -Description $Description

#Création du répertoire personnel de l'utilisateur et ajout des droits de l'utilisateur sur le répertoire
New-Item -ItemType directory -Path (\"\\SERVER\\"+$User.compte)
Add-ace (\"\\SERVER\\"+$User.compte) -account $User.compte -AccessRights Modify -PassThr
}
[/code:1]

J'ai trouvé une moitié de solution.
Dans la variable $SAM j'ajoute le nom de domaine :
$SAM=($User.compte+'@domaine.nc')

Le domaine est alors précisé, mais ça me provoque une erreur dans l'ajout des drtois sur le dossier utilisateur.
Erreur qui survient surement car le champ suivant est renseigné avec \"user@domaine.nc\" alors que ce champ en tant normal n'accepte pas les \"@\":
Dans les propriétés de l'utilisateur, dons l'onglet \"Compte\" puis \"Nom d'ouverture de session de l'utilisateur (antérieur à Windows 2000)\"

[code:1]Impossible de lier le paramètre « Account ». Impossible de convertir la valeur « Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. » en type « Security2.IdentityReference2 ». Erreur : « The is neither a SID nor a valid account name (domain\username) »
+ CategoryInfo : InvalidArgument: (:«») [Add-NTFSAccess], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,NTFSSecurity.AddAccess[/code:1]

Question bonus B) :
Comment faire si il faut que le compte de mon utilisateur n'expire jamais ? Dans le .csv j'ai mis le champ de la date d'expiration, mais je sais pas comment faire pour mettre dans mon .csv un champ \"compte n'expire jamais\".

Merci d'avance ;)<br><br>Message édité par: cope, à: 10/04/15 05:45

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.638 secondes
Propulsé par Kunena