Powershell - Présentation de la syntaxe basique de Where-Object et de ses limites
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!
La syntaxe basique/simplifiée apparue avec Windows Powershell 3 est plus simple à appréhender mais plus limitée que la syntaxe standard/avancée.
Dans mes tests, elle est aussi légèrement plus rapide en Powershell 7 (7.4.4) et moins en Windows Powershell 5.1.
# Syntaxe standard/avancéeGet-Service | Where-Object -FilterScript { $_.Status -eq 'running' }
# Syntaxe basique/simplifiéeGet-Service | Where-Object -Property Status -eq 'running'
# Mais on les voit le plus souvent cette forme (sans l'argument après Where-Object)Get-Service | Where-Object { $_.Status -eq 'running' }Get-Service | Where-Object Status -eq 'running'
Mais la syntaxe basique possède quelques limitations.
La syntaxe de base ne peut être utilisée que pour une seule comparaison.
# Cette syntaxe ne fonctionne pasGet-Service | Where-Object -Property Status -eq 'running' -and StartType -eq 'Automatic'
# Il est nécessaire d'utiliser la syntaxe standardGet-Service | Where-Object -FilterScript {$_.Status -eq 'running' -and $_.StartType -eq 'Automatic'}
On ne peut pas utiliser une propriété de propriété avec la syntaxe de base.
# Cette syntaxe ne fonctionne pasGet-Process | Where-Object -Property Name.Length -lt 5
# Il est nécessaire d'utiliser la syntaxe standardGet-Process| Where-Object -FilterScript { $_.Name.Length -lt 5 }
Liens en relation
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Tester la connectivité réseau et l'accessibilité aux ports avec PowershellPowershell - Afficher les connections réseau (équivalent de netstat)
Afficher les connections réseau (ports en écoute, connections actives...)Powershell - Tester la résolution de nom (équivalent de nslookup)
Commandes Powershell permettant de tester la résolution de nom (équivalent de nslookup)Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Commandes Powershell permettant d'afficher et de gérer la configuration DNS des interfaces réseauPowershell - Gérer la configuration IP des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier la configuration IP des interfaces réseauPowershell - Gérer l'état et la configuration des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier l'état et la configuration des interfaces réseau (désactiver l'IPv6, activer/désactiver une interface)
Suivez-moi sur
Soutenez-moi
Contenu récent
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Powershell - Afficher les connections réseau (équivalent de netstat)
Powershell - Tester la résolution de nom (équivalent de nslookup)
Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Powershell - Gérer la configuration IP des interfaces réseau
Powershell - Gérer l'état et la configuration des interfaces réseau
Powershell et le left hand side
Powershell - Gérer les disques, les partitions et les volumes
Powershell - Gérer les points de restauration système sous Windows