在前一篇文章中,提到了怎样从一个对象中移除内容为空的属性,并且将属性按照字母顺序排序,但是脚本需要PowerShell 3.0的支持。
在这篇文章中我们会对代码稍作改动,让它工作在PowerShell所有的版本上。同样是通过WMI对象,获取BIOS对象的信息。然后移除空属性,最后对属性进行排序。
$biosNew = $bios | Get-Member -MemberType *Property | Select-Object -ExpandProperty Name | Sort-Object | ForEach-Object -Begin { $obj=New-Object PSObject } { if ($bios.$_ -eq $null) { Write-Warning "Removing empty property $_" } else { $obj | Add-Member -memberType NoteProperty -Name $_ -Value $bios.$_ } }{$obj} $biosNew
运行时,可能会看到黄色的警告信息:
WARNING: Removing empty property BuildNumber
WARNING: Removing empty property CodeSet
WARNING: Removing empty property IdentificationCode
WARNING: Removing empty property InstallDate
WARNING: Removing empty property LanguageEdition
WARNING: Removing empty property OtherTargetOS
正好这些空属性被移除。
原文链接:Removing Empty Object Properties (All Versions)
本文链接: https://www.pstips.net/powershell-removing-empty-object-properties-to-all-versions.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!