1

次のデータセットを含むこれら 2 つのファイルがあるとします。

古いファイル:

"CanonicalName","LastSet"
"CONTOSO.com/NA/US/OU1/Users/Active/Test User","2019-07-02 14:14:44"
"CONTOSO.com/NA/US/OU1/Users/Active/User One","2019-07-02 14:14:44"
"CONTOSO.com/NA/US/OU2/Users/Active/User Two","2018-09-02 05:53:35"
"CONTOSO.com/OC/AU/OU3/Users/User Three","2017-06-23 14:20:07"

一時ファイル:

"CanonicalName","LastSet"
"CONTOSO.com/NA/US/OU1/Users/Active/User One","2019-07-02 14:14:44"
"CONTOSO.com/NA/US/OU2/Users/Active/User Two","2018-09-02 05:53:35"
"CONTOSO.com/OC/AU/OU3/Users/User Three","2017-06-23 14:20:07"

それは次を返します:

InputObject                                                                                  SideIndicator
-----------                                                                                  -------------
@{CanonicalName=CONTOSO.com/OC/AU/OU3/Users/User Three; LastSet=2017-06-23 14:20:07} <=

次のコードが実行されたときに、「<=」を含む TEST ユーザーを返すと予想していた場所:

Compare-Object -ReferenceObject (import-csv $oldfile) -DifferenceObject (import-csv $tempfile) 

なんで?どうすれば目的の出力を得ることができますか? 異なるオブジェクト。

4

1 に答える 1

3

Import-Csvおよび とPSCustomObject呼ばれるプロパティを持つの配列を返します。CanonicalNameLastSet

Compare-Object複雑なオブジェクトをプロパティと比較する必要がある場合は、パラメーターを使用して、-Property等しいかどうかをテストするときに比較するプロパティを指定する必要があります。

Compare-Object -ReferenceObject (Import-Csv $oldfile) -DifferenceObject (Import-Csv $tempfile) -Property CanonicalName,LastSet

結果は次のとおりです。

CanonicalName                                LastSet             SideIndicator
-------------                                -------             -------------
CONTOSO.com/NA/US/OU1/Users/Active/Test User 2019-07-02 14:14:44 <=
于 2019-12-07T23:45:32.343 に答える