Arrays 从对象中搜索和删除成员

Arrays 从对象中搜索和删除成员,arrays,powershell,object,Arrays,Powershell,Object,我试图搜索一个现有对象以查找(成员?这就是他们的名称吗?),其中name属性等于在文本文件(FalsePositiveDevices.txt)中找到的servername,然后删除整个成员及其所有属性 当我运行以下命令时,没有错误,但是$global:LimitedSNReportObject仍然包含假阳性列表中的成员 假阳性列表示例: $FalsePositiveList = Get-Content "C:\Users\USERNAME\Desktop\FalsePositiveDevice

我试图搜索一个现有对象以查找(成员?这就是他们的名称吗?),其中name属性等于在文本文件(FalsePositiveDevices.txt)中找到的servername,然后删除整个成员及其所有属性

当我运行以下命令时,没有错误,但是$global:LimitedSNReportObject仍然包含假阳性列表中的成员

假阳性列表示例:

$FalsePositiveList = Get-Content 
"C:\Users\USERNAME\Desktop\FalsePositiveDevices.txt"

foreach ($server in $FalsePositiveList) {
  $global:LimitedSNReportObject |  foreach-object {
    if ($_.name -eq $server) {
        $global:LimitedSNReportObject.psobject.members.remove($_)  
    }
  }
}
服务器1

服务器2

global:LimitedSNReportObject示例:

$FalsePositiveList = Get-Content 
"C:\Users\USERNAME\Desktop\FalsePositiveDevices.txt"

foreach ($server in $FalsePositiveList) {
  $global:LimitedSNReportObject |  foreach-object {
    if ($_.name -eq $server) {
        $global:LimitedSNReportObject.psobject.members.remove($_)  
    }
  }
}
名称、IP地址、平台

服务器1,10.10.10.10,Windows

服务器3,11.11.11.11,Linux

代码示例:

$FalsePositiveList = Get-Content 
"C:\Users\USERNAME\Desktop\FalsePositiveDevices.txt"

foreach ($server in $FalsePositiveList) {
  $global:LimitedSNReportObject |  foreach-object {
    if ($_.name -eq $server) {
        $global:LimitedSNReportObject.psobject.members.remove($_)  
    }
  }
}

那么,您只是想了解如何使用
Where
语句?你可以做
$Global:LimitedSNReportObject=$Global:LimitedSNReportObject |其中{$\.name-NotIn$FalsePositiveList}
就是这样,我不知道这么简单。非常感谢。为了便于理解,
Get Content
返回一个字符串数组,您希望从数组中删除其中一些字符串(对象)。成员是对象上的“东西”,例如,
Get Service
返回的对象具有特定于这些对象的DisplayName、Status和Stop()成员(以及许多其他成员)。