Question
Automatisation des tâches dans l'AD
- BOURGOT
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 2 ans 3 mois - il y a 2 ans 3 mois #33725
par BOURGOT
Automatisation des tâches dans l'AD a été créé par BOURGOT
J'ai crée un script de création d’utilisateurs en masse avec un fichier CSV ,il devra inclure les spécifications suivantes: Prénom, Nom, adresse mail, description, identifiant unique (login) ,Mot de passe répondant aux exigences de complexité avec changement à la prochaine connexion de l’utilisateur , Placement dans l’unité d’organisation et ajout au groupe global de sécurité selon le service d’affectation , Création et partage du dossier personnel avec autorisations d’accès à l’utilisateur seul et mappage automatique sur P.
Ci joint mon script :
Les utilisateurs ont bien étés crées et mis dans leur UO respectives , cependant le mappage sur la lettre P n'a pas l'air d'avoir fonctionné et le partage du dossier personnel a été crée pour chaque users or je souhaite qu'il soit regroupé dans un seul dossier : le dossier Partage personnel utilisateurs (je n'arrive pas a vous mettre mon screen )
Que dois je donc modifier pour résoudre ces deux petites anomalies ?
D'avance merci.
Ci joint mon script :
Import-Module ActiveDirectory
# Importer les données
$CSVFile = “C:\Scripts\AD_Users\CSVperso.csv”
$CSVData = Import-CSV -Path $CSVFile -Delimiter “;” -Encoding UTF8
# Parcourez chaque ligne du fichier CSV
foreach ($Utilisateur in $CSVData) {
$UtilisateurPrenom = $Utilisateur.Prenom
$UtilisateurNom = $Utilisateur.Nom
$UtilisateurLogin = $Utilisateur.Login
$UtilisateurEmail = $Utilisateur.Mail
$UtilisateurMotDePasse = $Utilisateur.Password
$UtilisateurFonction = $Utilisateur.Fonction
$UtilisateurOU = $Utilisateur.Service
$UtilisateurGroupe = $Utilisateur.Groupe
$UtilisateurNomComplet = $UtilisateurPrenom + ” ” + $UtilisateurNom
$PATH = "\\SRV-AD\E`$\Partages personnels utilisateurs"
$PATHSMB = "E:\Partages personnels utilisateurs"
# Vérifier la présence de l’utilisateur dans l’AD
if (Get-ADUser -Filter {SamAccountName -eq $UtilisateurLogin}) {
Write-Warning “L’identifiant $UtilisateurLogin existe déjà dans l’AD”
}
else {
# Créez le compte utilisateur
$NewUserParams = @{
Name = $UtilisateurNomComplet
DisplayName = $UtilisateurNomComplet
UserPrincipalName = $UtilisateurEmail
Title = $UtilisateurFonction
Department = $UtilisateurOU
EmailAddress = $UtilisateurEmail
GivenName = $UtilisateurPrenom
Surname = $UtilisateurNom
SamAccountName = $UtilisateurLogin
Path = “OU=$UtilisateurOU,OU=AXEPLANE,DC=AXEPLANE,DC=LOC”
AccountPassword = (ConvertTo-SecureString $UtilisateurMotDePasse -AsPlainText -Force)
ChangePasswordAtLogon = $true
Enabled = $true
HomeDirectory = "$PATH$UtilisateurLogin"
HomeDrive = "P:"
}
New-ADUser @NewUserParams
Write-Output “Création de l’utilisateur : $UtilisateurLogin”
}
# Assurez-vous que la colonne “Groupe” existe dans votre CSV
if ($Utilisateur.Groupe) {
# Ajouter l’utilisateur au groupe de sécurité global spécifié dans le CSV
Add-ADGroupMember -Identity $UtilisateurGroupe -Members $UtilisateurLogin
Write-Output “Ajout de l’utilisateur au groupe : $($UtilisateurGroupe)”
}
try {
if (-Not (Test-Path -Path "$PATH$UtilisateurLogin")) {
# Creation du dossier partage
New-Item "$PATH$UtilisateurLogin" -type Directory
Write-Output "Le dossier $PATH$UtilisateurLogin a ete cree correctement."
}
else {
Write-Output "Le dossier $PATH$UtilisateurLogin existait deja." # Si le dossier existe déjà, on ne le créé pas à nouveau.
}
# Si le partage existait déjà, il sera supprimé puis recréé pour être sur qu'il corresponde à ce qui est voulu.0
if (Get-SMBShare -Name $UtilisateurLogin -ErrorAction Ignore){
Write-Output "Le dossier $PATH$UtilisateurLogin est deja partage a un utilisateur $UtilisateurLogin. Suppression du partage precedent et creation d'un nouveau."
Remove-SmbShare -Name $UtilisateurLogin -Confirm:$false
}
New-SMBShare -Name $UtilisateurLogin -Path "$PATHSMB$UtilisateurLogin" -FullAccess "$UtilisateurLogin"
Write-Output "La creation du dossier partage de l'utilisateur $UtilisateurLogin a reussi."
}
catch {
Write-Host $_.Exception.Message -ForegroundColor Red
Write-Host "La creation du dossier partage de l'utilisateur $UtilisateurLogin a echoue."
}
}Les utilisateurs ont bien étés crées et mis dans leur UO respectives , cependant le mappage sur la lettre P n'a pas l'air d'avoir fonctionné et le partage du dossier personnel a été crée pour chaque users or je souhaite qu'il soit regroupé dans un seul dossier : le dossier Partage personnel utilisateurs (je n'arrive pas a vous mettre mon screen )
Que dois je donc modifier pour résoudre ces deux petites anomalies ?
D'avance merci.
Dernière édition: il y a 2 ans 3 mois par BOURGOT.
Connexion ou Créer un compte pour participer à la conversation.
- BOURGOT
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 9
- Remerciements reçus 0
il y a 2 ans 3 mois #33779
par BOURGOT
Réponse de BOURGOT sur le sujet Automatisation des tâches dans l'AD
J'ai effectué quelques modifications, le partage des dossiers sont bien crées seulement je souhaiterai les avoir en mode caché que l'utilisateur a une vision de seulement de son dossier perso et non tous les dossiers, le mappage sur la lettre P ne veut pas s'effectué auriez vous une idée ?
Je vous partage mon script modifié :
D'avance merci.
Je vous partage mon script modifié :
Import-Module ActiveDirectory
# Importer les données
$CSVFile = “C:\Scripts\AD_Users\CSVperso.csv”
$CSVData = Import-CSV -Path $CSVFile -Delimiter “;” -Encoding UTF8
# Parcourez chaque ligne du fichier CSV
foreach ($Utilisateur in $CSVData) {
$UtilisateurPrenom = $Utilisateur.Prenom
$UtilisateurNom = $Utilisateur.Nom
$UtilisateurLogin = $Utilisateur.Login
$UtilisateurEmail = $Utilisateur.Mail
$UtilisateurMotDePasse = $Utilisateur.Password
$UtilisateurFonction = $Utilisateur.Fonction
$UtilisateurOU = $Utilisateur.Service
$UtilisateurGroupe = $Utilisateur.Groupe
$UtilisateurNomComplet = $UtilisateurPrenom + ” ” + $UtilisateurNom
$PATH = "\\SRV-AD\E$\Partages personnels utilisateurs"
$PATHSMB = "E:\Partages personnels utilisateurs"
# Vérifier la présence de l’utilisateur dans l’AD
if (Get-ADUser -Filter {SamAccountName -eq $UtilisateurLogin}) {
Write-Warning “L’identifiant $UtilisateurLogin existe déjà dans l’AD”
}
else {
# Créez le compte utilisateur
$NewUserParams = @{
Name = $UtilisateurNomComplet
DisplayName = $UtilisateurNomComplet
UserPrincipalName = $UtilisateurEmail
Title = $UtilisateurFonction
Department = $UtilisateurOU
EmailAddress = $UtilisateurEmail
GivenName = $UtilisateurPrenom
Surname = $UtilisateurNom
SamAccountName = $UtilisateurLogin
Path = “OU=$UtilisateurOU,OU=AXEPLANE,DC=AXEPLANE,DC=LOC”
AccountPassword = (ConvertTo-SecureString $UtilisateurMotDePasse -AsPlainText -Force)
ChangePasswordAtLogon = $true
Enabled = $true
HomeDirectory = "$PATH\$UtilisateurLogin"
HomeDrive = "P:"
}
New-ADUser @NewUserParams
Write-Output “Création de l’utilisateur : $UtilisateurLogin”
}
# Assurez-vous que la colonne “Groupe” existe dans votre CSV
if ($Utilisateur.Groupe) {
# Ajouter l’utilisateur au groupe de sécurité global spécifié dans le CSV
Add-ADGroupMember -Identity $UtilisateurGroupe -Members $UtilisateurLogin
Write-Output “Ajout de l’utilisateur au groupe : $($UtilisateurGroupe)”
}
try {
if (-Not (Test-Path -Path "$PATH\$UtilisateurLogin")) {
# Creation du dossier partage
New-Item -Path "\\SRV-AD\E$\Partages personnels utilisateurs\$UtilisateurLogin" -Name $UtilisateurLogin -type Directory
Write-Output "Le dossier $PATH$UtilisateurLogin a ete cree correctement."
}
else {
Write-Output "Le dossier $PATH$UtilisateurLogin existait deja." # Si le dossier existe déjà, on ne le créé pas à nouveau.
}
# Si le partage existait déjà, il sera supprimé puis recréé pour être sur qu'il corresponde à ce qui est voulu.0
if (Get-SMBShare -Name $UtilisateurLogin -ErrorAction Ignore){
Write-Output "Le dossier $PATH$UtilisateurLogin est deja partage a un utilisateur $UtilisateurLogin. Suppression du partage precedent et creation d'un nouveau."
Remove-SmbShare -Name $UtilisateurLogin -Confirm:$false
}
New-SMBShare -Name $UtilisateurLogin -Path "$PATHSMB\$UtilisateurLogin" -FullAccess "$UtilisateurLogin"
Write-Output "La creation du dossier partage de l'utilisateur $UtilisateurLogin a reussi."
}
catch {
Write-Host $_.Exception.Message -ForegroundColor Red
Write-Host "La creation du dossier partage de l'utilisateur $UtilisateurLogin a echoue."
}
}D'avance merci.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.056 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Automatisation des tâches dans l'AD