Powershell - Afficher le type d'objet .gettype() VS get-member

Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub, acheter mes plans 3D ou encore faire un don ou vous abonnez sur Ko-Fi. Merci!

Bonjour,

Il existe deux techniques pour afficher le type d’un objet en Powershell, la méthode .gettype() et la cmdlet Get-Member.
Mais le résultat peut différer entre les deux techniques avec les Array.

# Obtenir un ensemble d'objets
$AllProcess = Get-Process
# Obtenir un seul objet
$FirstProcess = Get-Process | Select-Object -First 1
# Utilisation de .gettype() pour obtenir le type
$AllProcess.GetType()
# Résultat : Object[]
## Note : [] indique un Array
$FirstProcess.GetType()
# Résultat : Process
# Utilisation de Get-Member pour obtenir le type
$AllProcess | Get-Member
# Résultat : Process
$FirstProcess | Get-Member
# Résultat : Process

On s’aperçoit que Get-member affiche le type d’objet contenu dans le Array et non le type Array contrairement à la méthode .gettype()

Si on veut obtenir le même comportement que .gettype() avec Get-Member, il suffit de changer la syntaxe de Get-Member

Get-Member -InputObject $AllProcess
# Résultat : System.Object[]

Liens en relation