Добро пожаловать в SO,
Возможно, вы захотите посмотреть Compare-Object
.
Я адаптировал ваш ввод и код, чтобы он работал. Однако вы можете захотеть, чтобы ваш пользовательский объект JSON и AD был как можно ближе к оригиналу.
В вашем коде вы, кажется, тоже делаете странные вещи. <#1#>
биты вам не помогут, так как они просто комментарии. Также заявление if (??? -like ???)
выглядит странно. Не могли бы вы объяснить, что вы пытаетесь сделать там?
Я добавил условие if в ваши массивы, чтобы вы также могли использовать поля Nulled.
$ADUserArray = @(
<#0#> $(if($ADuser.givenname -eq $null){"No GivenName"}else{$userObject.givenname}),
<#1#> $(if($ADuser.surname -eq $null){"No surname"}else{$userObject.surname}),
<#2#> $(if($ADuser.displayname -eq $null){"No displayname"}else{$userObject.displayname}),
<#3#> $(if($ADuser.userprinzipalname -eq $null){"No userprinzipalname"}else{$userObject.userprinzipalname}),
<#4#> $(if($ADuser.state -eq $null){"No state"}else{$userObject.state}),
<#5#> $(if($ADuser.office -eq $null){"No office"}else{$userObject.office}),
<#6#> $(if($ADuser.officephone -eq $null){"No officephone"}else{$userObject.officephone}),
<#7#> $(if($ADuser.city -eq $null){"No city"}else{$userObject.city}),
<#8#> $(if($ADuser.company -eq $null){"No company"}else{$userObject.company}),
<#9#> $(if($ADuser.emailaddress -eq $null){"No emailaddress"} else {$userObject.emailaddress}),
<#10#> $(if($ADuser.department -eq $null){"No department"}else{$userObject.department}),
<#11#> $(if($ADuser.homepage -eq $null){"No homepage"}else{$userObject.homepage}),
<#12#> $(if($ADuser.streetaddress -eq $null){"No streetaddress"}else{$userObject.streetaddress}),
<#13#> $(if($ADuser.postalcode -eq $null){"No postalcode"}else{$userObject.postalcode}),
<#14#> $(if($ADuser.samaccountname -eq $null){"No samaccountname"}else{$userObject.samaccountname}),
<#15#> $(if($ADuser.homedirectory -eq $null){"No homedirectory"}else{$userObject.homedirectory}),
<#16#> $(if($ADuser.titel -eq $null){"No titel"}else{$userObject.titel}),
<#17#> $(if($ADuser.homedrive -eq $null){"No homedrive"}else{$userObject.homedrive}),
<#18#> $(if($ADuser.profilepath -eq $null){"No profilepath"}else{$userObject.profilepath}),
<#19#> $(if($ADuser.managerName -eq $null){"No managerName"}else{$userObject.managerName})
)
$userObjectArray = @(
<#0#> $(if($userObject.givenname -eq $null){"No GivenName"}else{$userObject.givenname}),
<#1#> $(if($userObject.surname -eq $null){"No surname"}else{$userObject.surname}),
<#2#> $(if($userObject.displayname -eq $null){"No displayname"}else{$userObject.displayname}),
<#3#> $(if($userObject.userprinzipalname -eq $null){"No userprinzipalname"}else{$userObject.userprinzipalname}),
<#4#> $(if($userObject.state -eq $null){"No state"}else{$userObject.state}),
<#5#> $(if($userObject.office -eq $null){"No office"}else{$userObject.office}),
<#6#> $(if($userObject.officephone -eq $null){"No officephone"}else{$userObject.officephone}),
<#7#> $(if($userObject.city -eq $null){"No city"}else{$userObject.city}),
<#8#> $(if($userObject.company -eq $null){"No company"}else{$userObject.company}),
<#9#> $(if($userObject.emailaddress -eq $null){"No emailaddress"} else {$userObject.emailaddress}),
<#10#> $(if($userObject.department -eq $null){"No department"}else{$userObject.department}),
<#11#> $(if($userObject.homepage -eq $null){"No homepage"}else{$userObject.homepage}),
<#12#> $(if($userObject.streetaddress -eq $null){"No streetaddress"}else{$userObject.streetaddress}),
<#13#> $(if($userObject.postalcode -eq $null){"No postalcode"}else{$userObject.postalcode}),
<#14#> $(if($userObject.samaccountname -eq $null){"No samaccountname"}else{$userObject.samaccountname}),
<#15#> $(if($userObject.homedirectory -eq $null){"No homedirectory"}else{$userObject.homedirectory}),
<#16#> $(if($userObject.titel -eq $null){"No titel"}else{$userObject.titel}),
<#17#> $(if($userObject.homedrive -eq $null){"No homedrive"}else{$userObject.homedrive}),
<#18#> $(if($userObject.profilepath -eq $null){"No profilepath"}else{$userObject.profilepath}),
<#19#> $(if($userObject.managerName -eq $null){"No managerName"}else{$userObject.managerName})
)
Compare-Object -ReferenceObject @($ADUserArray | select) -DifferenceObject @($userObjectArray | select) -IncludeEqual