Question
Automatisation desactivation user à date prévue AD
- chaubert
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 7 ans 10 mois #25373
par chaubert
Automatisation desactivation user à date prévue AD a été créé par chaubert
Bonjour tout le monde et merci par avance pour vos lumières !
Je m'appelle Romain et je suis sur un BTS en alternance en support informatique avec l'objectif d'aller jusqu'à l'école d'ingé.
J'ai la volonté d'automatiser les taches d'exploitation sur mon entreprise et ai commencé à travailler sur powershell car je pense que c'est un outil vraiment puissant (pas besoin de vous convaincre n'est-ce pas ?
).
Mes connaissances sont plutôt basiques mais je me documente activement à ce sujet.
Mon premier objectif est de créer un script qui aurait le comportement suivant (je l'ai écrit en Francais pour structurer mon script par la suite):
Active-directory
- Importe le module active directory
-Importe le CSV avec les informations prénom, nom, date de sortie
-Pour chaque compte active directory, désactive les comptes à la $date de sortie
-Pour chaque compte active directory, supprime les groupes d’appartenance excepté stratégie-mdp et utilisateurs du domaine
-Pour chaque compte active directory, déplace le compte dans l’OU comptes désactivés
Exchange
-Importe la session exchange
-Masque les boites mails à la $date de sortie de chaque compte
Je n'ai pas encore trouvé le moyen de me connecter à la session exchange distante (il s'agit s'un serveur en interco) sans avoir à rentrer le mot de passe de manière manuelle... l'objectif étant un script qui bosse de manière automatique (le CSV est fourni par le client sur ses entrées/sorties)
La première ébauche ressemble à cela.
Je pense que c'est faux pour la partie suppression des groupes mais je n'arrive pas à le mettre en place.
N’hésitez pas à me conseiller ou me donner votre avis sur ce premier script.
Bonne journée
Write-host \"Import du module Active directory\"
Import-Module Active-directory
Write-Host \"Import des informations sur les comptes à désactiver\"
$csv = Import-Csv C:\Users\Romain\Desktop\HERMES.csv
$prenom = Import-Csv C:\Users\Romain\Desktop\HERMES.csv | Select-Object prenom
$nom = Import-Csv C:\Users\Romain\Desktop\HERMES.csv | Select-Object nom
$date = Import-Csv C:\Users\Romain\Desktop\HERMES.csv | Select-Object date
$user = $prenom.$nom
Write-host \"desactivation des utilisateurs à la date prévue\"
foreach ($user in $csv) {
disable-ADAccount $user -DateTime $date -format dd/MM/yyyy
}
Write-host \"Suppression des groupes de droits à la date prévue\"
foreach ($user in $csv) {
Remove-ADGroupMember $user -DateTime $date -format dd/MM/yyyy
}
Write-host \"Deplacement dans l'OU comptes desactivés\"
foreach ($user in $csv) {
Move-ADObject $user -targetpath 'comptes desactivés' -DateTime $date -format dd/MM/yyyy
}
write-host \"import de la session exchange\"
Set-Mailbox <Identity> -MailboxPlan GalDisabledMailboxPlan
Je m'appelle Romain et je suis sur un BTS en alternance en support informatique avec l'objectif d'aller jusqu'à l'école d'ingé.
J'ai la volonté d'automatiser les taches d'exploitation sur mon entreprise et ai commencé à travailler sur powershell car je pense que c'est un outil vraiment puissant (pas besoin de vous convaincre n'est-ce pas ?
Mes connaissances sont plutôt basiques mais je me documente activement à ce sujet.
Mon premier objectif est de créer un script qui aurait le comportement suivant (je l'ai écrit en Francais pour structurer mon script par la suite):
Active-directory
- Importe le module active directory
-Importe le CSV avec les informations prénom, nom, date de sortie
-Pour chaque compte active directory, désactive les comptes à la $date de sortie
-Pour chaque compte active directory, supprime les groupes d’appartenance excepté stratégie-mdp et utilisateurs du domaine
-Pour chaque compte active directory, déplace le compte dans l’OU comptes désactivés
Exchange
-Importe la session exchange
-Masque les boites mails à la $date de sortie de chaque compte
Je n'ai pas encore trouvé le moyen de me connecter à la session exchange distante (il s'agit s'un serveur en interco) sans avoir à rentrer le mot de passe de manière manuelle... l'objectif étant un script qui bosse de manière automatique (le CSV est fourni par le client sur ses entrées/sorties)
La première ébauche ressemble à cela.
Je pense que c'est faux pour la partie suppression des groupes mais je n'arrive pas à le mettre en place.
N’hésitez pas à me conseiller ou me donner votre avis sur ce premier script.
Bonne journée
Write-host \"Import du module Active directory\"
Import-Module Active-directory
Write-Host \"Import des informations sur les comptes à désactiver\"
$csv = Import-Csv C:\Users\Romain\Desktop\HERMES.csv
$prenom = Import-Csv C:\Users\Romain\Desktop\HERMES.csv | Select-Object prenom
$nom = Import-Csv C:\Users\Romain\Desktop\HERMES.csv | Select-Object nom
$date = Import-Csv C:\Users\Romain\Desktop\HERMES.csv | Select-Object date
$user = $prenom.$nom
Write-host \"desactivation des utilisateurs à la date prévue\"
foreach ($user in $csv) {
disable-ADAccount $user -DateTime $date -format dd/MM/yyyy
}
Write-host \"Suppression des groupes de droits à la date prévue\"
foreach ($user in $csv) {
Remove-ADGroupMember $user -DateTime $date -format dd/MM/yyyy
}
Write-host \"Deplacement dans l'OU comptes desactivés\"
foreach ($user in $csv) {
Move-ADObject $user -targetpath 'comptes desactivés' -DateTime $date -format dd/MM/yyyy
}
write-host \"import de la session exchange\"
Set-Mailbox <Identity> -MailboxPlan GalDisabledMailboxPlan
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.030 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Automatisation desactivation user à date prévue AD