Question definition

Plus d'informations
il y a 11 ans 6 mois #4416 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:definition
trazomtg écrit:

qu'est ce que Assemly?

Une propriété. Ici PowerShell facilite la manipulation:
[code:1]$type=[System.Security.Principal.NTAccount]
# ou $type=$Account.GetType()
$type
$type.Assembly[/code:1]
trazomtg écrit:

comment peux t-on savoir que le type qui nous convient est justement : System.Security.Principal.NTAccount] ?

En page 131-132 les auteurs l'explique mais à mon avis il y a une erreur dans la phrase (p 132):
\"on s'aperçoit qu'elle attend à ce qu'on lui passe un paramètre de type TargetType\"
TargetType est le nom du paramètre dans la définition de la méthode GetOwner :
[code:1]
$ACL.GetOwner

MemberType : Method
OverloadDefinitions : {System.Security.Principal.IdentityReference GetOwner(Type targetType)}
...
[/code:1]

System.Security.Principal.IdentityReference est le type de l'objet renvoyé comme résultat,
GetOwner le nom de la méthode
(Type ,est le nom du type du paramètre. ( Type est aussi un nom de type sous .NET)
targetType)} est le nom du seul paramètre attendu par la méthode GetOwner.

Avec cette explication on a peu de mal à s'y retrouver, je suis d'accord.
C'est donc plutot :
\"on s'aperçoit qu'elle attend à ce qu'on lui passe un paramètre de type IdentityReference\".

C'est le type du résultat renvoyé par la méthode GetOwner qui nous amméne à l'information recherchée voir MSDN :

Représente une identité et constitue la classe de base pour les classes NTAccount et SecurityIdentifier. Cette classe ne fournit pas de constructeur public, et ne peut donc pas être héritée.


Ensuite il y a je pense une autre erreur dans la paragraphe après la remarque où il est dit que \"... nous avons découvert que la classe identityreference attendait en paramètres les classes NTAccount ou SecurityIdentifier...\"
Un classe n'attend pas de paramètre sauf si elle est paramètrable, voir les génériques. Ici c'est le paramètre targetType qui est directement concernée pas la classe identityreference.

D'aprés le texte MSDN c'est parce que du part elle ne peut pas être héritée et que d'autre part que seul les 2 classes citées en héritent que l'on peut dire que GetOwner ne peut prendre en paramètre que l'un ou l'autre type et aucun autre.

Mais tout ceci doit être un peu déroutant pour un débutant, je te l'accorde.

Aux auteurs donc de confirmer ces points.

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 6 mois #4420 par trazomtg
Réponse de trazomtg sur le sujet Re:definition
hello

page 120 du livre j'ai un probleme avec les 2 lignes suivantes :

$CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent()

$principal = new-object System.Security.principal.windowsprincipal

je ne comprends pas l'enchainement et puis comment deviner les objets et les methoces a utiliser?

Merci

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

Plus d'informations
il y a 11 ans 6 mois #4421 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:definition
Salut, je lis que tu as eu un vendredi soir studieux :ohmy:
trazomtg écrit:

Je ne comprends pas l'enchainement

Il y a peut être une erreur de typographie car la ligne suivant $principal = new-object fait partie de l'appel

[code:1]
$CurrentUser = [System.Security.Principal.WindowsIdentity]::GetCurrent()

$principal = new-object System.Security.principal.windowsprincipal($CurrentUser)
[/code:1]
Là il faut lire la doc sur MSDN, il n'y a rien de particulier, c'est un traitement en deux étapes. On cherche à savoir si l'utilisateur courant à le rôle Administrateur.
trazomtg écrit:

et puis comment deviner les objets et les méthodes à utiliser ?

La question est plutôt comment rechercher l'objet ou la méthode qui réponde à un besoin. C'est vrai que pour un débutant d'utiliser MSDN c'est la noyade assurée.

Tu pars du besoin, savoir si l'utilisateur courant à le rôle Administrateur. On doit déjà retrouver des infos sur le compte courant. Le choix des mots utilisés à son importance.
Si on recherche sur MSDN utilisateur ou en anglais user, on récupère trop de résultat.
On complète avec utilisateur courant ou en anglais current user.
On se rapproche mais cela reste encore trop bruyant. On réitére l'opération en ajoutant un mot comment ou retrouver, howto, retrieve.
Ensuite Il faut connaître le terme anglais correspondant.Le plus souvent les méthodes portent un nom de verbe et les propriétés un nom commun.

Donc il n'y a pas vraiment de méthodes, soit tu le sais, soit on te l'a dit, soit tu l'as recherché. C'est une lapalissade mais il n'y a pas d'autre manière.

Enfin parfois on peut utiliser des objets sans trop savoir ce qu'ils sont, ni comment ils fonctionnent. L'important est de savoir qu'un bout de code permet d'obtenir l'information que l'on recherche.
De toute façon on retrouve souvent ces classes, les occasions d'approfondir leurs comportements ne manqueront pas.<br><br>Message édité par: Laurent Dardenne, à: 21/03/09 12:38

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 6 mois #4424 par trazomtg
Réponse de trazomtg sur le sujet Re:definition
OK:)
maintenant je ne comprends pas la page 200

$connexion = [ADSI]\&quot;WinNT://$machine\&quot;

!!!!!!
merci de m'expliquer

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

Plus d'informations
il y a 11 ans 6 mois #4425 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:definition
trazomtg écrit:

maintenant je ne comprends pas la page 200

Tu vas finir correcteur ;)

C'est abordé en page 198 et expliqué en page 376.

Ensuite MSDN -&gt; ADSI ou API ADSI
msdn.microsoft.com/fr-fr/library/ms180829.aspx
En creusant un peu plus -&gt; Active Directory Service Interfaces
msdn.microsoft.com/en-us/library/aa772161.aspx

Tutoriels PowerShell

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

Plus d'informations
il y a 11 ans 6 mois #4426 par trazomtg
Réponse de trazomtg sur le sujet Re:definition
Merci pour toutes ces reponses:)

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

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