【发布时间】:2018-03-30 06:30:12
【问题描述】:
运行以下脚本时出现错误:
“方法调用失败,因为 [System.Management.Automation.PSCustomObject] 不包含名为 'IndexOf' 的方法”。
请帮我找出一个解决方案,以避免在运行以下脚本时出现上述错误。
代码:
$serverlist_csv1 = Import-Csv -Path $file1
$serverlist_temp1 = $serverlist_csv1
$exclude_serverlist_csv = Import-Csv -Path $file2
foreach ($server in $exclude_serverlist_csv) {
$servers1 = ($serverlist_csv1.'SourceHostName' | Select-Object -ExcludeProperty 'SourceHostName')
if ($servers1 -contains $server.'Exclude Server') {
$server_object1 = ($serverlist_csv1 | Where-Object {$_.SourceHostName -eq $server.'Exclude Server'})
$serverindex1 = $serverlist_csv1.IndexOf($server_object1)
$dataResizable1 = {$serverlist_csv1}.Invoke()
$dataResizable1.RemoveAt($serverindex1)
$serverlist_csv1 = $dataResizable1
}
}
【问题讨论】:
-
在这种情况下你想用
IndexOf()做什么? -
P.S.评论你的代码对所有
;-)都有很大的好处 -
您的代码看起来很复杂。请退后一步,描述您要解决的实际问题,而不是您认为的解决方案。你想用你的代码完成什么?
-
我想找出一个对象在列表中的索引,一旦我确定了对象,我需要从另一个列表中删除该对象。当我比较两个文件时会发生这种情况。
-
代码的目的是根据第二个文件的详细信息删除第一个文件中的服务器列表。第二个文件包含需要在第一个文件中删除的服务器详细信息列表。
标签: powershell indexof