2011-09-16 78 views
0

我正在运行以下脚本以将变量内的数据与文本文件中的数据进行比较。结果显示变量中的非数据与文本文件相同,尽管我对它们进行了格式化,结果中它们看起来一样吗?他们看起来一模一样,为什么PowerShell认为他们不同?Powershell比较对象不按预期方式工作

脚本:

$rn = Get-WMIObject Win32_Process -computer servername -credential domain\administrator -filter "Name='process.exe'” | Select-Object path | Sort-Object path 
$lst = Get-Content “C:\Scripts\Process Monitor Scripts\ProcessList.txt” 
Compare-Object $lst $rn 

Results: 
InputObject        SideIndicator 
-----------        ------------- 
@{Path=Y:\Folder1\process.exe}  => 
@{Path=Y:\Folder2\process.exe}  => 
@{Path=Y:\Folder3\process.exe}  => 
@{Path=Y:\Folder1\process.exe}  <= 
@{Path=Y:\Folder2\process.exe}  <= 
@{Path=Y:\Folder3\process.exe}  <= 

回答

2

展开路径属性,你与反对简单的字符串:

$rn = Get-WMIObject Win32_Process -computer servername -credential domain\administrator -filter "Name='process.exe'” | select -expand path 
+0

感谢它现在可以正常使用的路径属性比较对象:) – Charlotte