Question PSObject
- Gaga
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 11 ans 7 mois #12730
par Gaga
Salut,
Lorsque je construis des objets PSObject avec des membres de type \"NoteProperty\", ces mêmes membres me sont restitués dans l'ordre de création quand je fais appel à cet objet :
[code:1]$objet = New-Object psobject
Add-Member -InputObject $objet -MemberType noteproperty -Name A -Value '1'
Add-Member -InputObject $objet -MemberType noteproperty -Name B -Value '2'
Add-Member -InputObject $objet -MemberType noteproperty -Name Z -Value '3'
Add-Member -InputObject $objet -MemberType noteproperty -Name Y -Value '4'
Add-Member -InputObject $objet -MemberType noteproperty -Name P -Value '5'
$objet
A : 1
B : 2
Z : 3
Y : 4
P : 5[/code:1]
Par contre, lorsque je veux voir les membres de mes objets crées avec la commande GET-MEMBER, ceux-ci me sont restitués dans l'ordre alphabétique
[code:1]$objet | Get-Member
TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
----
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
A NoteProperty System.String A=1
B NoteProperty System.String B=2
P NoteProperty System.String P=5
Y NoteProperty System.String Y=4
Z NoteProperty System.String Z=3
$objet | Get-Member -MemberType NoteProperty | foreach { $_.name }
A
B
P
Y
Z
[/code:1]
J'aurais bien aimé récupérer mes membres de type \"NoteProperty\" dans l'odre de création avec la commande GET-MEMBER !! Vous voyez un moyen ??
Cela me permettrai de faire des traitements/cmdlett (style out-gridview) sur mes objets crées (avec des propriétés statiques) sans me préoccuper du nombres de propriétés et de leur nom !! Vous voyez mon problème ?
Lorsque je construis des objets PSObject avec des membres de type \"NoteProperty\", ces mêmes membres me sont restitués dans l'ordre de création quand je fais appel à cet objet :
[code:1]$objet = New-Object psobject
Add-Member -InputObject $objet -MemberType noteproperty -Name A -Value '1'
Add-Member -InputObject $objet -MemberType noteproperty -Name B -Value '2'
Add-Member -InputObject $objet -MemberType noteproperty -Name Z -Value '3'
Add-Member -InputObject $objet -MemberType noteproperty -Name Y -Value '4'
Add-Member -InputObject $objet -MemberType noteproperty -Name P -Value '5'
$objet
A : 1
B : 2
Z : 3
Y : 4
P : 5[/code:1]
Par contre, lorsque je veux voir les membres de mes objets crées avec la commande GET-MEMBER, ceux-ci me sont restitués dans l'ordre alphabétique
[code:1]$objet | Get-Member
TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
----
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
A NoteProperty System.String A=1
B NoteProperty System.String B=2
P NoteProperty System.String P=5
Y NoteProperty System.String Y=4
Z NoteProperty System.String Z=3
$objet | Get-Member -MemberType NoteProperty | foreach { $_.name }
A
B
P
Y
Z
[/code:1]
J'aurais bien aimé récupérer mes membres de type \"NoteProperty\" dans l'odre de création avec la commande GET-MEMBER !! Vous voyez un moyen ??
Cela me permettrai de faire des traitements/cmdlett (style out-gridview) sur mes objets crées (avec des propriétés statiques) sans me préoccuper du nombres de propriétés et de leur nom !! Vous voyez mon problème ?
Connexion ou Créer un compte pour participer à la conversation.
- Gaga
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 11 ans 7 mois #12733
par Gaga
Réponse de Gaga sur le sujet Re:PSObject
Aprés qq recherches j'ai trouvé une solution à mon problème :
[code:1]$objet.psobject.Properties | foreach { $_.name }
A
B
Z
Y
P[/code:1]
Je retrouve bien le nombre et le nom de mes propriétés dans l'ordre de leur création.
[code:1]$objet.psobject.Properties | foreach { $_.name }
A
B
Z
Y
P[/code:1]
Je retrouve bien le nombre et le nom de mes propriétés dans l'ordre de leur création.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.060 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- PSObject