Question Pourquoi la propriété d'un objet ne s'affiche pas

Plus d'informations
il y a 12 ans 11 mois #14458 par filip_le_triste
Je vais donc faire attention lorsque je veux récupérer une propriété d'un objet.

En utilisant ta fonction, je saurais ce que je reçois.

Merci pour ton aide précieuse et ta disponibilité pour les débutants comme moi.

Amicalement.

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

Plus d'informations
il y a 12 ans 11 mois #14460 par Laurent Dardenne
filip_le_triste écrit:

Je vais donc faire attention lorsque je veux récupérer une propriété d'un objet.

On doit surtout connaitre ce qu'on manipule, le cmdlet Get-member, avec Get-Help, sont les cmdlets que j'utilise le plus.
filip_le_triste écrit:

En utilisant ta fonction, je saurais ce que je reçois.

Elle permet juste de savoir si on a affaire à un objet de type collection ou pas. Consulte le code des fonctions GetObjectByType et AddEntry du projet PsIonic (module), tu y trouveras des exemples de l'étape suivante : exécuter du code selon le type d'un objet.

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 7 mois #15638 par Amir
Bonjour,

Je suis actuellement noyé sous les propriétés et les méthodes car je ne comprend pas comment peut on les retrouver :

Soit le bout de code suivant pris dans un de vos articles :
# Connexion à l'objet en spécifiant son DN - Distinguished Name
$user = [ADSI]'LDAP://CN=Petitjean Arnaud,CN=Users,DC=powershell-scripting,DC=com'

# Modification de la propriété Description avec la méthode Put
$user.Put('Description','Cet utilisateur est exceptionnel !')

# Application des changements avec la méthode SetInfo
$user.SetInfo()

Comment trouver la méthode Put justement ? Si je fais un get-member sur $user je ne trouverai jamais la méthode put ou Setinfo.

en faisant $user.gettype().fullname je récupere la classe et je fais un [classe].getmembers() mais je ne retrouve pas la méthode.

$user.psbase | get-member renvoit encore d'autres méthodes et properties mais je ne la trouve toujours pas....

Bref je suis perdu....

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

Plus d'informations
il y a 12 ans 7 mois #15639 par Laurent Dardenne
Salut,
Bedian écrit:

Comment trouver la méthode Put justement ? Si je fais un get-member sur $user je ne trouverai jamais la méthode put ou Setinfo.

Question très pertinente.
Pour les objets dotNet ADSI ceux-ci implémentent l'interface IADS , ainsi le parseur PS sait les gérer directement, sans pour autant qu'il soit visible via Get-Member.
Pourquoi? Un début de réponse ici par Arul Kumaravel[MSFT].

Le parseur PS se charge donc d'appeler cette méthode car il sait, enfin je suppose, qu'au moins une des interfaces de l'objet COM, portées par la propriété NativeOject, implémente la méthode Put.
Voir également l'ancien Blog de MOW .
Bedian écrit:

Bref je suis perdu....

Normal, tu poses une question sur l'implémentation d'ADSI sous Powershell.
Lors de la béta et de la RC l'équipe de dev de PS communiquait bien plus qu'aujourd'hui, je ne te cache pas que j'ai passé un peu de temps à trouver les deux liens cités dans ma réponse.

Et enfin il y a l'historique, comme indiqué à la fin de cet article .

Tutoriels PowerShell

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

Plus d'informations
il y a 12 ans 7 mois #15655 par Amir
Bonjour,

Tout d'abord un grand merci pour vos réponses et navré du retard de ma réponse.

J'ai regardé en diagonale les articles et je comprend un peu mieux désormais mais de prime abord c'est flou.

Il me reste juste à m'habituer à manipuler les objets statiques :)

Encore merci.

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

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