Question
Move compte AD et suppression des groupes
- Galadan
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 75
- Remerciements reçus 0
il y a 5 ans 1 semaine #28686
par Galadan
Réponse de Galadan sur le sujet Re:Move compte AD et suppression des groupes
message d'erreur:
[code:1]Remove-ADGroupMember : Impossible de convertir « System.Object[] » en type « Microsoft.ActiveDirectory.Management.ADGroup », requis par le paramètre « Identity ». La méthode spécifiée n'est pas prise en charge.
Au caractère Ligne:33 : 36
+ Remove-ADGroupMember -Identity $groups -Member $DistinguishedName ...
+ ~~~~~~~
+ CategoryInfo : InvalidArgument : (:«») [Remove-ADGroupMember], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands.RemoveADGroupMember
[/code:1]
Je pense que c'est ma variable groups qui pose pb non?
En fait je veux vérifier dans tous les groupes commençant par \"GRP_LIC\" et \"GDL_\" que l'utilisateur ne s'y trouve pas et si tel est le cas le supprimer du ou des groupes.<br><br>Message édité par: Galadan, à: 8/04/19 10:27
[code:1]Remove-ADGroupMember : Impossible de convertir « System.Object[] » en type « Microsoft.ActiveDirectory.Management.ADGroup », requis par le paramètre « Identity ». La méthode spécifiée n'est pas prise en charge.
Au caractère Ligne:33 : 36
+ Remove-ADGroupMember -Identity $groups -Member $DistinguishedName ...
+ ~~~~~~~
+ CategoryInfo : InvalidArgument : (:«») [Remove-ADGroupMember], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands.RemoveADGroupMember
[/code:1]
Je pense que c'est ma variable groups qui pose pb non?
En fait je veux vérifier dans tous les groupes commençant par \"GRP_LIC\" et \"GDL_\" que l'utilisateur ne s'y trouve pas et si tel est le cas le supprimer du ou des groupes.<br><br>Message édité par: Galadan, à: 8/04/19 10:27
Connexion ou Créer un compte pour participer à la conversation.
- Sinjk
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 99
- Remerciements reçus 0
il y a 5 ans 1 semaine #28687
par Sinjk
Réponse de Sinjk sur le sujet Re:Move compte AD et suppression des groupes
C'est normal tu met plusieurs groupes et en plus les wildcards de marcheront pas.
Soit tu fais un Remove-ADGroupMember par groupe
Soit si tu veux vraiment utiliser le wildcard tu vas devoir faire le tri dans le $user.memberof
[code:1]
foreach($user in $UserToDel){
$DistinguishedName = $user.DistinguishedName
$Name = $user.Name
$Groups= $user.memberof | where{$_ -like \"$GRP_LIC_*\" -or $_ -like \"*GDL_*\"}
Move-ADObject -identity $DistinguishedName -targetpath $OUdest
foreach($groups in $Groups){Remove-ADGroupMember -Identity $groups -Member $DistinguishedName -Confirm:$false
}
$iM++ # incrémente le compteur
}
[/code:1]
Soit tu fais un Remove-ADGroupMember par groupe
Soit si tu veux vraiment utiliser le wildcard tu vas devoir faire le tri dans le $user.memberof
[code:1]
foreach($user in $UserToDel){
$DistinguishedName = $user.DistinguishedName
$Name = $user.Name
$Groups= $user.memberof | where{$_ -like \"$GRP_LIC_*\" -or $_ -like \"*GDL_*\"}
Move-ADObject -identity $DistinguishedName -targetpath $OUdest
foreach($groups in $Groups){Remove-ADGroupMember -Identity $groups -Member $DistinguishedName -Confirm:$false
}
$iM++ # incrémente le compteur
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Galadan
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 75
- Remerciements reçus 0
il y a 5 ans 1 semaine #28688
par Galadan
Réponse de Galadan sur le sujet Re:Move compte AD et suppression des groupes
Alors voici le code avec ton aide:
[code:1] Import-module ActiveDirectory
$UserToDel = Get-ADUser -filter {(Enabled -eq 'False')} -searchbase $OUSearch -Properties * | Where-Object { ($_.distinguishedname -notlike '*Désactivé*') }
foreach($user in $UserToDel){
$DistinguishedName = $user.DistinguishedName
$Name = $user.Name
$ADGroups= $user.memberof | Where-Object {$_ -like \"GRP_LIC_*\" -or $_ -like \"GDL_*\"}
Set-ADUser -identity $DistinguishedName -Description \"Disabled by $Admin $Day\"
foreach($groups in $ADGroups){
Remove-ADGroupMember -Identity $groups -Member $DistinguishedName -Confirm:$false
}
Move-ADObject -identity $DistinguishedName -targetpath $OUdest
$iM++ # incrémente le compteur
}[/code:1]
Cela fonctionne mais seulement pour un groupe, si le compte fait parti de de\"ux ou plus il le supprime que du premier qu'il trouve apriori.
Message édité par: Galadan, à: 8/04/19 11:33<br><br>Message édité par: Galadan, à: 8/04/19 11:34
[code:1] Import-module ActiveDirectory
$UserToDel = Get-ADUser -filter {(Enabled -eq 'False')} -searchbase $OUSearch -Properties * | Where-Object { ($_.distinguishedname -notlike '*Désactivé*') }
foreach($user in $UserToDel){
$DistinguishedName = $user.DistinguishedName
$Name = $user.Name
$ADGroups= $user.memberof | Where-Object {$_ -like \"GRP_LIC_*\" -or $_ -like \"GDL_*\"}
Set-ADUser -identity $DistinguishedName -Description \"Disabled by $Admin $Day\"
foreach($groups in $ADGroups){
Remove-ADGroupMember -Identity $groups -Member $DistinguishedName -Confirm:$false
}
Move-ADObject -identity $DistinguishedName -targetpath $OUdest
$iM++ # incrémente le compteur
}[/code:1]
Cela fonctionne mais seulement pour un groupe, si le compte fait parti de de\"ux ou plus il le supprime que du premier qu'il trouve apriori.
Message édité par: Galadan, à: 8/04/19 11:33<br><br>Message édité par: Galadan, à: 8/04/19 11:34
Connexion ou Créer un compte pour participer à la conversation.
- Sinjk
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 99
- Remerciements reçus 0
il y a 5 ans 1 semaine #28690
par Sinjk
Réponse de Sinjk sur le sujet Re:Move compte AD et suppression des groupes
Je viens de tester en ayant crée les groupes GRP_LIC_TEST et GDL_TEST et ça marche.
Essaye avec cette ligne ci
[code:1] $ADGroups= $user.memberof | Where-Object {$_ -like \"*GRP_LIC_*\" -or $_ -like \"*GDL_*\"}[/code:1]
Le wildcard avant le nom de groupe est la seule différence que j'ai ajouté à ton exemple.
Essaye avec cette ligne ci
[code:1] $ADGroups= $user.memberof | Where-Object {$_ -like \"*GRP_LIC_*\" -or $_ -like \"*GDL_*\"}[/code:1]
Le wildcard avant le nom de groupe est la seule différence que j'ai ajouté à ton exemple.
Connexion ou Créer un compte pour participer à la conversation.
- Galadan
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 75
- Remerciements reçus 0
il y a 5 ans 1 semaine #28691
par Galadan
Réponse de Galadan sur le sujet Re:Move compte AD et suppression des groupes
En effet cela fonctionne! Merci !
Dernier chose, comment je peux intégrer sur le rapport généré le nom du compte avec le nom des groupes auxquels il a était supprimé?
Dernier chose, comment je peux intégrer sur le rapport généré le nom du compte avec le nom des groupes auxquels il a était supprimé?
Connexion ou Créer un compte pour participer à la conversation.
- Sinjk
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 99
- Remerciements reçus 0
il y a 5 ans 1 semaine #28692
par Sinjk
Réponse de Sinjk sur le sujet Re:Move compte AD et suppression des groupes
Bien sûr,
Bon c'est pas la plus belle des manières ^^ mais ça devrait faire l'affaire:
[code:1]foreach($user in $UserToDel){
$DistinguishedName = $user.DistinguishedName
$Name = $user.Name
$ADGroups= $user.memberof | Where-Object {$_ -like \"GRP_LIC_*\" -or $_ -like \"GDL_*\"}
add-content -path \"tonpathverstonfichierlog\" -value \"$Name deleting groups\"
Set-ADUser -identity $DistinguishedName -Description \"Disabled by $Admin $Day\"
foreach($groups in $ADGroups){
Remove-ADGroupMember -Identity $groups -Member $DistinguishedName -Confirm:$false
add-content -path \"tonpathverstonfichierlog\" -value \"$groups has been deleted\"
}[/code:1]
Bon c'est pas la plus belle des manières ^^ mais ça devrait faire l'affaire:
[code:1]foreach($user in $UserToDel){
$DistinguishedName = $user.DistinguishedName
$Name = $user.Name
$ADGroups= $user.memberof | Where-Object {$_ -like \"GRP_LIC_*\" -or $_ -like \"GDL_*\"}
add-content -path \"tonpathverstonfichierlog\" -value \"$Name deleting groups\"
Set-ADUser -identity $DistinguishedName -Description \"Disabled by $Admin $Day\"
foreach($groups in $ADGroups){
Remove-ADGroupMember -Identity $groups -Member $DistinguishedName -Confirm:$false
add-content -path \"tonpathverstonfichierlog\" -value \"$groups has been deleted\"
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.086 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Move compte AD et suppression des groupes