如何将属性名称设置为false值

时间:2016-07-15 10:16:33

标签: powershell

我仍然是PowerShell的新手。我一直试图只获取已设置为false的Nic属性。

所以当我跑: Get-NetAdapter | fl *它会显示Nic的每个属性的所有结果。我只想看到已设置为false的属性。

我尝试了Get-NetAdapter | where {$_ -like $false}Get-NetAdapter | where {$_ -like "*false*"}。也试过排序,但也无法工作

备受赞赏

1 个答案:

答案 0 :(得分:0)

(Get-NetAdapter).PSObject.Properties | Where-Object Value -eq $false | Select-Object Name

如果您希望结果为字符串数组而不是对象数组,请使用Select-Object -ExpandProperty Name

注意:如果您有一个NetAdapter,这只能按预期工作。 PetSerAl评论中的代码将为您提供所有适配器的所有属性,但您无法从哪个适配器中查看。

如果要测试多个适配器,则应编写一个额外的循环,例如像

$adapters = Get-NetAdapter

foreach ($adapter in $adapters)
{
    Write-Host -ForegroundColor Green "$($adapter.Name)"
    $adapter.PSObject.Properties | Where-Object Value -eq $false | Select-Object -ExpandProperty Name
    Write-Host ""
}