Powershell 使用if-elseif-else和来自比较对象的输入

Powershell 使用if-elseif-else和来自比较对象的输入,powershell,if-statement,Powershell,If Statement,我正在比较2个.csv文件,并将结果输出到另一个.csv文件。我似乎不知道如何进一步处理要在if..elseif…else{}语句中使用的比较对象结果,以基于sideIndicator结果打印结果。请进一步告知。我是否需要加入一些技巧来确保脚本得到正确处理 clear-host $northdb = Import-Csv "C:\temp\cep\Book1.csv" -Header "InstanceName", "DatabaseName", "PrinicipalName", "Prini

我正在比较2个.csv文件,并将结果输出到另一个.csv文件。我似乎不知道如何进一步处理要在
if..elseif…else{}
语句中使用的比较对象结果,以基于
sideIndicator
结果打印结果。请进一步告知。我是否需要加入一些技巧来确保脚本得到正确处理

clear-host
$northdb = Import-Csv "C:\temp\cep\Book1.csv" -Header "InstanceName", "DatabaseName", "PrinicipalName", "PrinicipalType", "Permission", "ObjectTypeLevel", "ObjectName" | Sort-object -Property "InstanceName", "DatabaseName", "PrinicipalName", "PrinicipalType", "Permission", "ObjectTypeLevel", "ObjectName" -unique 
$sdb = Import-Csv "C:\temp\cep\Book2.csv" -Header "InstanceName", "DatabaseName", "PrinicipalName", "PrinicipalType", "Permission", "ObjectTypeLevel", "ObjectName" | Sort-object -Property "InstanceName", "DatabaseName", "PrinicipalName", "PrinicipalType", "Permission", "ObjectTypeLevel", "ObjectName" -unique
$result = Compare-Object $northdb $sdb -Property  "InstanceName", "DatabaseName", "PrinicipalName", "PrinicipalType", "Permission", "ObjectTypeLevel", "ObjectName" -PassThru | 
if ($_SideIndicator -eq '=>') {Select-Object  "InstanceName", "DatabaseName", "PrinicipalName", "PrinicipalType", "Permission", "ObjectTypeLevel", "ObjectName" | export-csv C:\temp\cep\gogo.csv -NoTypeInfo} 
elseif ($_.sideIndicator -eq '=>') {Select-Object  "InstanceName", "DatabaseName", "PrinicipalName", "PrinicipalType", "Permission", "ObjectTypeLevel", "ObjectName" | export-csv C:\temp\cep\gogo.csv -NoTypeInfo} 
else {write-host "there is no changes"}

如果你的
elseif
条件和块完全相同,那有什么意义呢?在这个例子中有各种各样的打字错误。主体拼写错误,第一个if中的$后面缺少点,if/elseif中的条件相同(应为