Bonjour à tous,

Je commence à utiliser Powershell et j'ai un petit souci pour obtenir la valeur d'une propriété.
Je croyais pourtant avoir bien saisi les objets.

Pour l'exemple, je suis parti de la cmdlet Get-MailBox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
[PS] > $userbox = Get-MailBox - identity stef
[PS] > $userbox.Name
et j'obtiens bien la propriété Name (de type system.string) de l'objet $userbox de TypeName : Microsoft.Exchange.Data.Directory.Management.Mailbox

Jusque là tout va bien.

je fais la même chose avec la propriété Languages sur l'objet $userbox
et j'affiche les méthodes et propriétés avec Get-Member
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
[PS] > $userLangue = $userbox.Languages
[PS] > $userLangue | Get-Member
J'obtiens ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[PS] > $userLangue | Get-Member


   TypeName: System.Globalization.CultureInfo

Name                           MemberType Definition
----                           ---------- ----------
ClearCachedData                Method     System.Void ClearCachedData()
Clone                          Method     System.Object Clone()
Equals                         Method     bool Equals(System.Object value)
GetConsoleFallbackUICulture    Method     System.Globalization.CultureInfo GetConsoleFallbackUICulture()
GetFormat                      Method     System.Object GetFormat(type formatType)
GetHashCode                    Method     int GetHashCode()
GetType                        Method     type GetType()
ToString                       Method     string ToString()
Calendar                       Property   System.Globalization.Calendar Calendar {get;}
CompareInfo                    Property   System.Globalization.CompareInfo CompareInfo {get;}
CultureTypes                   Property   System.Globalization.CultureTypes CultureTypes {get;}
DateTimeFormat                 Property   System.Globalization.DateTimeFormatInfo DateTimeFormat {get;set;}
DisplayName                    Property   System.String DisplayName {get;}
EnglishName                    Property   System.String EnglishName {get;}
IetfLanguageTag                Property   System.String IetfLanguageTag {get;}
IsNeutralCulture               Property   System.Boolean IsNeutralCulture {get;}
IsReadOnly                     Property   System.Boolean IsReadOnly {get;}
KeyboardLayoutId               Property   System.Int32 KeyboardLayoutId {get;}
LCID                           Property   System.Int32 LCID {get;}
Name                           Property   System.String Name {get;}
NativeName                     Property   System.String NativeName {get;}
NumberFormat                   Property   System.Globalization.NumberFormatInfo NumberFormat {get;set;}
OptionalCalendars              Property   System.Globalization.Calendar[] OptionalCalendars {get;}
Parent                         Property   System.Globalization.CultureInfo Parent {get;}
TextInfo                       Property   System.Globalization.TextInfo TextInfo {get;}
ThreeLetterISOLanguageName     Property   System.String ThreeLetterISOLanguageName {get;}
ThreeLetterWindowsLanguageName Property   System.String ThreeLetterWindowsLanguageName {get;}
TwoLetterISOLanguageName       Property   System.String TwoLetterISOLanguageName {get;}
UseUserOverride                Property   System.Boolean UseUserOverride {get;}
Donc je me dis que je vais récupérer quelques propriétés ( par ex. LCID, Name ) en faisant la même chose que précédemment
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
[PS] >$userLangue.Name
[PS] >$userLangue.LCID
Dans ce cas-là, je ne récupère rien et en faisant un Get-Member, j'ai un message d'erreur.

Soit je n'ai rien compris sur les objets, soit il y a une subtilité que je ne connais pas.

Si quelqu'un peut m'expliquer, je l'en remercie d'avance.

Cordialement