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 ou encore faire un don. 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