Question recherche compte désactivé.

Plus d'informations
il y a 17 ans 4 mois #3108 par rodriguez
Réponse de rodriguez sur le sujet Re:recherche compte désactivé.
Ha d'accord, merci je vais fouiner pour trouver ca.

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

Plus d'informations
il y a 17 ans 4 mois #3109 par rodriguez
Réponse de rodriguez sur le sujet Re:recherche compte désactivé.
Le but etant maintenant de trouver un objet en:
System.DirectoryServices.DirectoryEntry :
pour avoir la commande InvokeGet.

voici donc mon script, avec une double boucle, la premiere boucle qui permet d'etre en:
System.DirectoryServices.ResultPropertyCollection
afin de faire des recherches sur les propriétés de l'utilisateur.

Et la deuxieme boucle se basant sur le nom de l'utilisateur d'etre en:
System.DirectoryServices.DirectoryEntry
pour sortir la commande invokeget.
d'ailleur quand je lance la commande :
\" $userfinal.psbase|gm
$userfinal|gm
\"
dans cette deuxieme boucle je trouve bien InvokeGet.

Voici donc le script:

$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 = \"(&(objectCategory=User)(userAccountControl:1.2.840.113556.1.4.803:=2))\"


$boucle = $objrechercher.findall()



foreach ($user in $boucle)
{

# User est bien en System.DirectoryServices.SearchResult


$name = $user.properties.name
$lecteur = $user.properties.homedrive
$chemin = $user.properties.homedirectory
$description = $user.properties.description

foreach ($utilisateur in $name)
{
$userfinal = [ADSI] (\"LDAP://cn=$utilisateur,OU=LAV,OU=rEU,OU=client,DC=in1,DC=ad,DC=innovene,DC=com\")

#userfinal est bien en System.DirectoryServices.DirectoryEntry
$compte = $userfinal.psbase.invokeget('AccountDisabled')

$userfinal.psbase|gm
$userfinal|gm



Write-Host $name
write-host $lecteur
Write-Host $chemin
Write-Host $compte
}


}


Mais voila la commande InvokeGet me retourne toujours l'erreur:

Exception calling \"InvokeGet\" with \"1\" argument(s): \"Une syntaxe DN non valide a été spécifiée.\"
De plus avec PowerGui quand je tape $userfinal. il ne me propose pas psbase dans toute les méthodes proposées.

Donc en définitive je suis toujours au même niveau.
sniffff

edit:

si je tape la ligne:
$compte = $userfinal.invokeget('AccountDisabled')

invokeget est bien reconnu, car il m'est noté:
Object DirectoryEntry.InvokeGet(String PropertyName) quand je laisse le curseur de la souris sur invokeGet.

Donc je viendrais a conclure que \"Accountdisabled\" n'est pas une propriété reconnue???

Dans le livre (page 410) il est stipulé que \&quot;compte désactivé\&quot; se trouve dans la fenêtre : UserAccountControl dois-je chercher dans cette valeur ??.<br><br>Message édité par: noxydius, à: 29/10/08 09:32

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

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

Mais voila la commande InvokeGet me retourne toujours l'erreur:

Certes mais elle est explicite non ?
Tu devrais afficher la chaîne ADSI que tu crées:
[code:1]\&quot;LDAP://cn=$utilisateur,OU=LAV,OU=rEU,OU=client,DC=in1,DC=ad,DC=innovene,DC=com\&quot;[/code:1]
noxydius écrit:

Dans le livre (page 410)

Lequel, celui d'Arnaud et Robin ?

Tutoriels PowerShell

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

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

Pour le livre oui c'est celui de Arnaud et Robin.

Pour la commande InvokeGet, j'ai pour le moment laissé tomber, et je suis passé par useraccountcontrol.
Qui semble moins souple mais qui fonctionne.

\&quot;
$code = $user.Properties.userAccountControl

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

$name &gt;&gt; c:\names.txt


}

\&quot;
je vais m'attaquer maintenanrt à la suppression du compte, en m'appuyant sur l'exemple de la page 416 du même bouquin.

L'inconnuu est de savoir si powershell peut détruire un partage et supprimer un répertoire, celui du Homedirectory ??

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

Plus d'informations
il y a 17 ans 4 mois #3116 par rodriguez
Réponse de rodriguez sur le sujet Re:recherche compte désactivé.
Mais pourquoi tant de haine, toujours des erreurs...

$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 ='(&amp;(objectClass=person)(objectCategory=person))'



$boucle = $objrechercher.findall()



foreach ($user in $boucle)
{



$name = $user.properties.name
$code = $user.Properties.useraccountcontrol
$compte = $user.Properties.userprincipalname

#recherche code pour savoir si desactivé
if ($code -eq 514)
{
Write-Host je vais supprimer le compte $name
$ldapquery.Delete('user',\&quot;CN=$name\&quot;)



}



}


Et j'ai l'erreur:

Exception calling \&quot;Delete\&quot; with \&quot;2\&quot; argument(s): \&quot;Une syntaxe DN non valide a été spécifiée. (Exception de HRESULT : 0x80072032)\&quot;

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

Plus d'informations
il y a 17 ans 4 mois #3125 par rodriguez
Réponse de rodriguez sur le sujet Re:recherche compte désactivé.
Rebonjour a ce qui suive mes galères :)

J'ai remarqué que chez mon client le propriété.Name d'un utilisateur et son CN=\&quot; \&quot;. Ne sont pas forcément identique suite a des modifications faites lors de la migration Win NT4 (SAM ) et Windows 2000/2003 (active directory).

Donc pour être sur de trouver le bon LDAP de l'utilisateur.

je voulais savoir pour la suppression d'un utilisateur, si on pouvait se baser directement sur le chemin complet de l'utilisateur plutot que seulement sur son Name.

exemple:

# on recupere le ldap de l'utilisateur:
$path = $user.Path

# et on le supprime du style:
$ldapquery.Delete('Path',\&quot;ldap=$path\&quot;)


Mais comme vous vous en doutez cette syntaxe ne fonctionne pas :(


Edit |

Voici l'erreur:
Cannot find an overload for \&quot;DeleteTree\&quot; and the argument count: \&quot;2\&quot;.<br><br>Message édité par: noxydius, à: 30/10/08 14:43

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

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