Question
Déplacer des utilisateur d'une OU a une autre
- alunno
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 15 ans 4 mois #8393
par alunno
Déplacer des utilisateur d'une OU a une autre a été créé par alunno
Bonjour,
Je dois effectuer tous les mois une désactivation de compte dans l'AD et ensuite les placer dans une OU spécifique (corbeille)
Je reçois donc un fichier contenant le \"Display Name\" de chaque utilisateur a désactiver
Je voudrai savoir si il est possible via le PowerShell d'automatiser cela en le faisant à partir d'un fichier CSV.
Ce que je voudrai donc faire, c'est déplacer tout les utilisateur contenu dans le fichier CSV vers la corbeille de l'AD et ensuite désactiver tous les comptes se trouvant dans cette OU
Merci d'avance
Je dois effectuer tous les mois une désactivation de compte dans l'AD et ensuite les placer dans une OU spécifique (corbeille)
Je reçois donc un fichier contenant le \"Display Name\" de chaque utilisateur a désactiver
Je voudrai savoir si il est possible via le PowerShell d'automatiser cela en le faisant à partir d'un fichier CSV.
Ce que je voudrai donc faire, c'est déplacer tout les utilisateur contenu dans le fichier CSV vers la corbeille de l'AD et ensuite désactiver tous les comptes se trouvant dans cette OU
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 15 ans 4 mois #8395
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Déplacer des utilisateur d'une OU a une autre
Oui, c'est tout à fait possible.
Voici les grandes lignes, à développer et à personnaliser :
[code:1]
# Connexion à l'OU \"Corbeille\"
$corbeille = [ADSI]\"LDAP://OU=Corbeille,DC=chezmoi,DC=local\"
# Connexion à l'OU \"Users\"
$users = [ADSI]\"LDAP://OU=Users,DC=chezmoi,DC=local\"
# Création d'un objet Searcher pour rechercher chaque utilisateur
$searcher = [ADSISEARCHER]$users
# Parcours de la liste des utilisateurs
import-csv utilisateurs.csv | foreach
{
# réglage du filtre de recherche sur le DisplayName de l'utilisateur
$searcher.filter = \"(displayName=$($_.DisplayName))\"
# recherche de l'utilisateur
$user = $searcher.findone()
# déplacement de l'utilisateur dans l'OU Corbeille
$user.psbase.moveto($corbeille)
# désactiver l'utilisateur
$user.psbase.invokeset(\"AccountDisabled\", \"True\"«»)
$user.setinfo()
}
[/code:1]
Je n'ai pas tout testé très sérieusement, mais ça devrait marcher avec assez peu d'adaptation.
Voici les grandes lignes, à développer et à personnaliser :
[code:1]
# Connexion à l'OU \"Corbeille\"
$corbeille = [ADSI]\"LDAP://OU=Corbeille,DC=chezmoi,DC=local\"
# Connexion à l'OU \"Users\"
$users = [ADSI]\"LDAP://OU=Users,DC=chezmoi,DC=local\"
# Création d'un objet Searcher pour rechercher chaque utilisateur
$searcher = [ADSISEARCHER]$users
# Parcours de la liste des utilisateurs
import-csv utilisateurs.csv | foreach
{
# réglage du filtre de recherche sur le DisplayName de l'utilisateur
$searcher.filter = \"(displayName=$($_.DisplayName))\"
# recherche de l'utilisateur
$user = $searcher.findone()
# déplacement de l'utilisateur dans l'OU Corbeille
$user.psbase.moveto($corbeille)
# désactiver l'utilisateur
$user.psbase.invokeset(\"AccountDisabled\", \"True\"«»)
$user.setinfo()
}
[/code:1]
Je n'ai pas tout testé très sérieusement, mais ça devrait marcher avec assez peu d'adaptation.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.031 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Déplacer des utilisateur d'une OU a une autre