我创建了一个名为$info
的自定义对象,并将其移动到数组$arr
,
如何删除一个成员及其所有属性?
我的剧本:
Get-Process | ForEach-Object{
$info = New-Object -TypeName PSObject
$info | Add-Member -Type NoteProperty -Name Process -Value $_.processname
$info | Add-Member -Type NoteProperty -Name ID -Value $_.id
$arr += $info
}
$arr | ft -AutoSize
结果如下:
Process ID ------- -- ApplicationFrameHost 38556 AppVShNotify 9792 armsvc 2336 atieclxx 6944 atiesrxx 1844 audiodg 59432 CcmExec 3988 chrome 46068
如何删除一个特定成员,例如“audiodg 59432”被删除
audiodg 59432
答案 0 :(得分:2)
这里的术语有点不正确。成员在单个对象上。当您使用上面的Add-Member
时,您要为每个单独的对象添加属性,那么您将返回一个对象数组。
您正在询问如何从阵列中删除单个对象。
在PowerShell中,您无法从数组中删除项目。您可以根据某些条件筛选数组并创建一个新数组:
$newArr = $arr | Where-Object { $_.Name -ne 'audiodg' }
# or
$newArr = $arr | Where-Object { $_.ID -ne 59432 }