在前一篇文章中,提到了怎样从一个对象中移除内容为空的属性,并且将属性按照字母顺序排序,但是脚本需要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
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
