Question Affichage personnalisé d'un classe personnalisé

Plus d'informations
il y a 13 ans 8 mois #7576 par Richard Lazaro
Bonjour,

Dans un module j'ai une classe personnalisé Rainbow.Subnet.
Et par défaut, elle s'affiche sous forme de liste.

Je n'arrive pas du tout à créer le fichier .ps1xml pour changer cet affichage en table.

Est ce qu'une personne aurait la réponse à mon problème ?

Merci d'avance.

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 13 ans 8 mois #7581 par Laurent Dardenne
Salut,
tu devrais détailler un peu plus le pb en nous donner un exemple de l'existant.
Peut être que cet exemple t'aidera...

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 8 mois #7583 par Richard Lazaro
Enfait c'est simple, comme tu le sais j'ai développé une fonction Get-Subnet (par exemple) avec un objet personnalisé, voilà ce qu'elle me retourne par defaut :

[code:1]PS > Get-Subnet 192.168.42.0/22


IpAddress : 192.168.42.0
SubnetMask : 255.255.252.0
WildcardMask : 0.0.3.255
Mask : 22
NumberOfHosts : 1022
NetworkAddress : 192.168.40.0
BroadcastAddress : 192.168.43.255
Hosts : {} [/code:1]

Alors que je voudrais un format de ce style :

[code:1]PS > Get-Subnet 192.168.42.0/22 | Format-Table NetworkAddress,Mask,SubnetMask,WildcardMask,BroadcastAddress,NumberOfHosts,Hosts -AutoSize

NetworkAddress Mask SubnetMask WildcardMask BroadcastAddress NumberOfHosts Hosts
----




192.168.40.0 22 255.255.252.0 0.0.3.255 192.168.43.255 1022 {}[/code:1]

Cette tranformation d'affichage est effectué dans un module, donc en passant part un fichier .ps1xml
J'ai essayé de le créer mais je n'y suis pas arrivé.

(cela me permettra surtout de mettre en place un alias pour le pipeline avec la property ComputerName sans pour autant l'afficher directement.

Bien Cordialement,
Richard Lazaro.

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 13 ans 8 mois #7585 par Laurent Dardenne
Richard Lazaro écrit:

comme tu le sais

Oui, mais je voulais être certain qu'il s'agissait bien de la même fonction.
D'autres lecteurs ne sont pas sensés le savoir.
Richard Lazaro écrit:

Cette tranformation d'affichage est effectué dans un module,

Je ne suis pas sûr de comprendre, tu veux dire que ton module charge le fichier .ps1xml via le cmdlet Update-FormatData ?
Richard Lazaro écrit:

J'ai essayé de le créer mais je n'y suis pas arrivé.

Prend l'exemple que j'ai cité dans mon premier post, il contient la structure de base.

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 8 mois #7589 par Richard Lazaro
Le fichier .ps1xml sera chargé via le .psd1 du module (FormatsToProcess).

Je vais regarder cela dès que j'ai un peu de temps.

Merci bien.

EDIT : voilà sur quoi je bloque, à quoi correspond l'élément :
[code:1]
<ViewSelectedBy>
<TypeName>PSSequence</TypeName>
</ViewSelectedBy>
[/code:1]

Merci d'avance.<br><br>Message édité par: Richard Lazaro, à: 11/08/10 15:21

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 13 ans 8 mois #7590 par Laurent Dardenne
Richard Lazaro écrit:

EDIT : voilà sur quoi je bloque, à quoi correspond l'élément :
[code:1]
&lt;ViewSelectedBy&gt;
&lt;TypeName&gt;PSSequence&lt;/TypeName&gt;
&lt;/ViewSelectedBy&gt;
[/code:1]

C'est la définition du type associé à la vue, ici celle par défaut et elle référence un type perso :
[code:1] $Sequence.PsObject.TypeNames[0] = \&quot;PSSequence\&quot;[/code:1]
Dans ton cas tu dois y placer le nom complet de ta classe.

On peux déclarer + vues et les utiliser avec Format-Table -View.
Ensuite je ne connais pas le mécanisme de sélection par défaut, a priori la première trouvée dans la liste...

Tutoriels PowerShell

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

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