To exclude results that have empty properties, you can easily use Where-Object. For example, when you run Get-Hotfix, and you only want to see hotfixes that have a date for InstalledOn, here is the solution:- Get-HotFix | Where-Object InstalledOn
复制代码 Likewise, to get only network adapters from WMI that actually have an IP address, try this:- Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object IPAddress
复制代码 Note that in PowerShell 2.0 and below, you need to use the full syntax like this:- Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object {$_.IPAddress}
复制代码 Where-Object will exclude any results that have either one of the following in the property you selected: a null value, an empty string, or the number 0. This is because all of these will convert to $false when converted into a Boolean value.
http://powershell.com/cs/blogs/tips/archive/2014/01/21/eliminating-empty-results.aspx |