我创建了一个名为$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
结果看起来像这样:
进程ID
--------
ApplicationFrameHost 38556
AppVShNotify 9792
武器2336
atieclxx 6944
atiesrxx 1844
音频dg 59432
CcmExec 3988
Chrome 46068
如何删除一个特定成员,例如“audiodg 59432”被删除
音频dg 59432
最佳答案
您的术语在这里有点不正确。成员在单个对象上。当您在上面使用Add-Member
时,您要为每个对象添加属性,然后返回对象数组。
您在问如何从数组中删除单个对象。
在PowerShell中,您无法从数组中删除项目。您可以根据一些条件过滤数组并创建一个新的条件:
$newArr = $arr | Where-Object { $_.Name -ne 'audiodg' }
# or
$newArr = $arr | Where-Object { $_.ID -ne 59432 }
关于arrays - 从Powershell中的对象中删除一个或多个成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36506784/