Question recherche compte désactivé.

Plus d'informations
il y a 17 ans 4 mois #3148 par rodriguez
Réponse de rodriguez sur le sujet Re:recherche compte désactivé.
Laurent Dardenne écrit:

Ok pour le chemin.
Concernant DeleteTree, voir ceci , cette méthode n'attend aucun paramètre. Et je ne pense pas que l'appel se fasse sur le bon objet puisque le nom de l'utilisateur provient d'une collection, de plus la méthode Delete n'existe pas dans la classe DirectoryEntry.


Merci beaucoup !!
Effectivement le Deletetree n'a besoin de rien...
Cela fonctionne !

Une bonne chose de faite:
Maintenant je cherche a trouver l'attribut qui peut me donner le:
Profile Path de l'onglet Terminal services Profile
le but étant de supprimer tous les partages et répertoire associé a l'utilisateur.

Du style:

[code:1]
$ldapquery = [ADSI] 'LDAP://OU=Users,OU=LAV,OU=rEU,OU=client,DC=in1,DC=ad,DC=innovene,DC=com'

$objrechercher = New-object system.directoryservices.directorysearcher($ldapQuery)
$objrechercher.filter ='(&(objectClass=person)(objectCategory=person))'



$boucle = $objrechercher.findall()



foreach ($user in $boucle)
{


$chemin = $user.properties.homedirectory
$code = $user.Properties.useraccountcontrol
$cn = $user.Properties.cn

$profilepath = $user.Properties.TerminalServicesProfilePath

#recherche code pour savoir si desactivé
if ($code -eq 514)
{

$chemin >> c:\chemin.txt
$profilepath >> c:\profilepath.txt
$ldapquery.Deletetree()
}

}
[/code:1]

Mais \"user.Properties.TerminalServicesProfilePath\" est vide alors que les champs dans l'AD sont bien renseignés.
Malheureusement quand je fais une recherche de toutes les attributs de Properties de $user je n'en trouve pas un qui pourrait être le bon.
Encore une mystère.

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

Plus d'informations
il y a 17 ans 4 mois #3150 par Laurent Dardenne
noxydius écrit:

Effectivement le Deletetree n'a besoin de rien...

C'était également le bon objet ?
noxydius écrit:

Mais \"user.Properties.TerminalServicesProfilePath\" est vide alors que les champs dans l'AD sont bien renseignés.

essaie ceci, trouvé sur le net :
[code:1]$objUser.psbase.InvokeGet(\"terminalservicesprofilepath\"«»)[/code:1]
noxydius écrit:

Encore une mystère.

Non je ne pense pas, de ce que je comprend c'est un choix de conception, ADSI ne rapatrie pas toutes les informations d'un compte.

Regarde aussi l'avant dernier post de cette discussion .

Tutoriels PowerShell

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

Plus d'informations
il y a 17 ans 4 mois #3153 par rodriguez
Réponse de rodriguez sur le sujet Re:recherche compte désactivé.
Laurent Dardenne écrit:

C'était également le bon objet ?


Oui c'etait le bon objet ca a parfaitement fonctionner.

Laurent Dardenne écrit:

$objUser.psbase.InvokeGet(\"terminalservicesprofilepath\")

Le probleme c'est que dans l'état actuel du script.
si je lance cette commande:
$profilepath = $User.psbase.InvokeGet(\"terminalservicesprofilepath\")
est en fait un System.DirectoryServices.SearchResult.
et non pas un :
System.DirectoryServices.DirectoryEntry qui contient bien InvokeGet

Il faut que je cherche comment trouver cet objet.

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

Plus d'informations
il y a 16 ans 2 mois #5931 par TimCruz
Réponse de TimCruz sur le sujet Re:recherche compte désactivé.
Je sais que je viens poster avec 1 an de retard, mais personnellement ca m'aurait aidé il y a quelques temps d'avoir cet élément de réponse...


Pour ne pas avoir à me battre avec la fonction InvokeGet, lors de ta recherche ADSI, ajoute dans ton filtre que tu ne désire avoir que les groupe desactivé. Pour cela tu rajoute la propriété suivante à ton filtre : (!userAccountControl:1.2.840.113556.1.4.803:=2)

Voici le code que moi j'utilise :

[code:1]$domaineAD = [ADSI] 'LDAP://DC=cerap,DC=fr'
$rechercheAD = New-Object System.DirectoryServices.DirectorySearcher($domaineAD)
$rechercheAD.Filter = '(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))'
$UserAD=$rechercheAD.FindAll()

[/code:1]

\\"Il n\'y a pas de problème, il n\'y a que des solutions\\"

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

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