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