arrays - 从Powershell中的对象中删除一个或多个成员

标签 arrays powershell object

我创建了一个名为$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/

相关文章:

只要第一个元素相等,Javascript 数组就返回相等

java - 在JavaFX中将二维数组显示为网格

powershell - PowerShell无法识别基本命令?术语 'get'无法识别为cmdlet的名称(错误)

c# - String.ToString 有什么合理的用途吗?

javascript - Firebase 不会保存具有空值的键

javascript - 无法序列化 JavaScript 数组

powershell - 检测管道中外部程序已退出的方法

entity-framework - Visual Studio 无法加载 Entity Framework PowerShell 脚本,因为其操作被软件限制策略阻止

javascript - 在 IE 中动态添加到 DOM 时 Flash 对象不起作用

php - 从php中的数组中删除整行