PowerShell 技能连载 - Select-Object 和 -ExcludeProperty
以下是一行常常迷惑 PowerShell 用户的代码:
1 | Get-Service | Select-Object -ExcludeProperty Name |
当您使用 Select-Object
时,它的 -ExcludeProperty
参数并没有做任何事情。实际上,ExcludeProperty
只在使用 -Property
的时候才有效。所以这行代码是可以用的:
1 | Get-Service | Select-Object -ExcludeProperty Name -Property Status, DisplayName, Name |
然而,这看起来很荒谬:为什么通过 -Property
指定了属性,又还要用 ExcludeProperty
来排除它们呢?这样不是更简单吗:
1 | Get-Service | Select-Object -Property Status, DisplayName |
实际上,-ExcludeProperty
只在使用通配符的时候有意义:
1 | PS> Get-CimInstance -ClassName Win32_BIOS | Select-Object -Property *BIOS* -ExcludeProperty *major*, *minor* |
PowerShell 技能连载 - Select-Object 和 -ExcludeProperty
http://blog.vichamp.com/2018/02/26/select-object-and--excludeproperty/