PowerShell 技能连载 - 移除空白的属性

WMI 和 Get-CimInstance 可以为您提供许多有用的信息,但是返回的对象通常包含许多空属性:

1
PS> Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object -Property *

另外,属性不一定要排序。您可以通过识别和排序不为空的属性来进行修复:

1
2
3
4
5
6
# get all WMI information
$os = Get-CimInstance -ClassName Win32_OperatingSystem
# find names of non-empty properties
$filledProperties = $os.PSObject.Properties.Name.Where{![string]::IsNullOrWhiteSpace($os.$_)} | Sort-Object
# show non-empty properties only
$os | Select-Object -Property $filledProperties
评论