使用 Powershell 比较两个文件并仅列出第二个文件的差异
Compare two Files and list only the differences of 2nd File using Powershell
我试图在脚本的第一个 运行 -> 存储到 CSV 文件中的存储帐户中获取当前的 azure vms 列表
O 第二个 运行 - 当前列表应该与存储帐户中的现有 csv 文件进行比较,以防任何 vms 退役,应该记录并存储在存储帐户中的第二个文件中
这对我来说很好,但问题是当我们创建一个新的 azure 虚拟机时,它也被添加到停用 csv 列表中
$Difference = 比较对象 $existingVmCsv $vmrecordFile -属性 VmName -PassThru | Select-对象虚拟机名称、资源组名称、订阅名称
我尝试了几个侧面指示器,但都没有用
$Difference = Compare-Object -ReferenceObject @($vmrecordFile | Select-Object) -DifferenceObject @($existingVmCsv | Select-Object) -PassThru -属性 VmName,ResourceGroupName,SubscriptionName | Where-Object {$_sideIndicator -eq "<="}
$Difference = 比较对象 -ReferenceObject $vmrecordFile -DifferenceObject $existingVmCsv -PassThru -属性 VmName、ResourceGroupName、SubscriptionName | Where-Object {$_sideIndicator -eq "<="}
谢谢 User Cpt.Whale - Stack Overflow。发布您的建议作为答案以帮助其他社区成员。
It seems, you have a typo in a syntax. Object property references should use a "."
, like Where-Object { $_.sideIndicator -eq '<=' }
'<='
表示属性值只出现在-ReferenceObject
集合References:
powershell - compare two files and update the differences to 2nd file - Stack Overflow , Powershell : How to Compare Two Files, and List Differences | | Dotnet Helpers (dotnet-helpers.com) and compare-object not working : PowerShell (reddit.com)
我试图在脚本的第一个 运行 -> 存储到 CSV 文件中的存储帐户中获取当前的 azure vms 列表 O 第二个 运行 - 当前列表应该与存储帐户中的现有 csv 文件进行比较,以防任何 vms 退役,应该记录并存储在存储帐户中的第二个文件中
这对我来说很好,但问题是当我们创建一个新的 azure 虚拟机时,它也被添加到停用 csv 列表中
$Difference = 比较对象 $existingVmCsv $vmrecordFile -属性 VmName -PassThru | Select-对象虚拟机名称、资源组名称、订阅名称
我尝试了几个侧面指示器,但都没有用
$Difference = Compare-Object -ReferenceObject @($vmrecordFile | Select-Object) -DifferenceObject @($existingVmCsv | Select-Object) -PassThru -属性 VmName,ResourceGroupName,SubscriptionName | Where-Object {$_sideIndicator -eq "<="}
$Difference = 比较对象 -ReferenceObject $vmrecordFile -DifferenceObject $existingVmCsv -PassThru -属性 VmName、ResourceGroupName、SubscriptionName | Where-Object {$_sideIndicator -eq "<="}
谢谢 User Cpt.Whale - Stack Overflow。发布您的建议作为答案以帮助其他社区成员。
It seems, you have a typo in a syntax. Object property references should use a
"."
, likeWhere-Object { $_.sideIndicator -eq '<=' }
'<='
表示属性值只出现在-ReferenceObject
集合References:
powershell - compare two files and update the differences to 2nd file - Stack Overflow , Powershell : How to Compare Two Files, and List Differences | | Dotnet Helpers (dotnet-helpers.com) and compare-object not working : PowerShell (reddit.com)