Question Pb de récup du SID du groupe 'Everyone'(Résolu)

Plus d'informations
il y a 16 ans 1 mois #1815 par Laurent Dardenne
Salut,
j'essaie de récupérer les informations du groupe local \"Tout le monde\" :
[code:1]
$useraccount = [ADSI] (\"WinNT://\" + \".\" + \"/\" + \"Tout le monde,group\"«»)
$SID = $useraccount.Get(\"ObjectSID\"«»)
[/code:1]
malheureusement l'appel de la méthode Get me renvoie une erreur :

Exception lors de la récupération du membre « Get » : « Le nom de groupe est introuvable.
»
Au niveau de ligne : 1 Caractère : 7
+ $SID = <<<< $useraccount.Get(\"ObjectSID\")

Cela fonctionne pour le groupe administrateurs ou un compte utilisateur existant.

Qq peut-il me dire si cela est du aux limitations suivante :http://support.microsoft.com/kb/278259/en-us

Je suis sous XP sp2 \"stand-alone\" en tant qu'admin.
Merci.<br><br>Message édité par: Robin, à: 24/04/08 21:42

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 1 mois #1816 par PASCAULT
Le groupe \&quot;tout le monde\&quot; est un groupe de securité integré (au même titre qu'utilisateurs authentifiés ou system).
Tout le monde inclut tous les utilisateurs ainsi que les invités et anonymes(selon OS).Ce groupe est géré par le système.
Le SID du groupe \&quot;tout le monde\&quot; est S-1-1-0.
Je ne sais pas s'il est possible de récupérer des infos mais avec la cmd $useraccount = [ADSI] (\&quot;WinNT://\&quot; + \&quot;.\&quot; + \&quot;/\&quot; + \&quot;Tout le monde,group\&quot;), aucune propriété n'est remontée.

Pour le kb 278259, cela indique qu'à partir de windows XP, le compte anonyme n'est plus inclus dans le groupe tout le monde. Cependant, cela n'a pas d'incidence sur le SID.

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

Plus d'informations
il y a 16 ans 1 mois #1823 par Laurent Dardenne
Salut,
merci pour ta réponse.
gremlinsy écrit:

mais avec la cmd $useraccount = [ADSI] (\&quot;WinNT://\&quot; + \&quot;.\&quot; + \&quot;/\&quot; + \&quot;Tout le monde,group\&quot;), aucune propriété n'est remontée.

Ok, j'utiliserais donc cette autre approche :
[code:1]
# Accès local
$Account = New-Object System.Security.Principal.NTAccount($Nom)
# Récupére le SID au format SDDL (S-1-1-0)
$SID = $Account.Translate([System.Security.Principal.SecurityIdentifier])
[/code:1]
Il y a tout de même qq chose qui m'échappe, ce n'est pas possible via le provider ADSI mais bien par une classe .NET ...

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 1 mois #1837 par PASCAULT
Je pense que c'est la même limitation que pour le provider LDAP. On ne peut pas spécifier directement le nom d'un groupe intégré.
Ce que j'ai pu trouver comme info:
www.chineseinnorthamerica.com/technical/...er%20management.html
Dans la partie

Reading User Cannot Change Password (LDAP Provider)...
4. ...
Note The \&quot;Everyone\&quot; and \&quot;NT AUTHORITY\SELF\&quot; strings ... the strings should not be used directly

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

Plus d'informations
il y a 16 ans 1 mois #1840 par Laurent Dardenne
Salut,
gremlinsy écrit:

On ne peut pas spécifier directement le nom d'un groupe intégré.

Effectivement je n'ai pas testé l'appel .NET sous AD :whistle:
Bon je vais rechercher les correspondances binaire des SID de ces comptes.
Merci.

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 1 mois #1841 par Laurent Dardenne
BatchMan écrit:

Bon je vais rechercher les correspondances binaire des SID de ces comptes.

On peut procéder ainsi (ici pour un SID local) :
[code:1]
$SID=new-object System.Security.Principal.SecurityIdentifier \&quot;S-1-1-0\&quot;
[byte[]] $SIDArray = ,0 * $SID.BinaryLength
$SID.GetBinaryForm($SIDArray,0)
$SIDArray[/code:1]
Résolu donc.

Tutoriels PowerShell

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

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