使用Powershell比较两个组织单位

使用Powershell比较两个组织单位,powershell,active-directory,ou,Powershell,Active Directory,Ou,我想比较两个组织单位的用户。 我可以使用以下命令获取我的用户列表: OU_NUMBER_1: Get-ADUser -filter * -SearchBase "OU=OU_NUMBER_1,OU=OU-SNE_SharePoint,DC=vf,DC=local" | Select sAMAccountName OU_NUMBER_2: Get-ADUser -filter * -SearchBase "OU=OU_NUMBER_2,OU=OU-SNE_SharePoint,DC=

我想比较两个组织单位的用户。 我可以使用以下命令获取我的用户列表:

OU_NUMBER_1:

Get-ADUser -filter * -SearchBase "OU=OU_NUMBER_1,OU=OU-SNE_SharePoint,DC=vf,DC=local" | Select sAMAccountName


OU_NUMBER_2:
    Get-ADUser -filter * -SearchBase "OU=OU_NUMBER_2,OU=OU-SNE_SharePoint,DC=vf,DC=local" | Select sAMAccountName
我想从这些列表中找出同音词。我是否必须将我的用户放在一些列表中并进行比较?还是有人有更好的主意


总而言之,我想得到一份与我的OU同名的列表。

/Update

试一试

请注意,您所在的阵列
$userin
包含PowerShell对象。 如果需要sAMAccountName,则必须执行以下操作:

foreach($User in $UserInBothOU)
{
    Write-host $User.sAMAccountName
}

因为sAMAccountName只是一个属性。

如果我理解正确,您希望获得两个OU中的用户?是的,这正是我想要的。我已经测试了您的解决方案。但是我无法在我的$UserInBothGroups中获得任何用户,即使我用此更改了我的PS代码,其中也不包含任何内容:Foreach($UserGroup1中的用户){[Array]$UserInBothGroups+=$user}请尝试我的更新。如果这甚至不起作用,你必须等到明天,当我在工作:)谢谢!我明天也会在工作中考试,我会和你保持联系的!;)
$OLDGroup = Get-ADUser -filter * -SearchBase "OU=InactiveObjects,DC=gov,DC=au" -server "gov.au" | select sAMAccountName

$NEWGroup = Get-ADUser -filter * -SearchBase "OU=StandardUsers,OU=Users,DC=nsw,DC=gov,DC=au" -server "nsw.gov.au" | Select sAMAccountName

compare-object $OLDGroup $NEWGroup -Property 'SamAccountName' -IncludeEqual
$OLDGroup = Get-ADUser -filter * -SearchBase "OU=InactiveObjects,DC=gov,DC=au" -server "gov.au" | select sAMAccountName

$NEWGroup = Get-ADUser -filter * -SearchBase "OU=StandardUsers,OU=Users,DC=nsw,DC=gov,DC=au" -server "nsw.gov.au" | Select sAMAccountName

compare-object $OLDGroup $NEWGroup -Property 'SamAccountName' -IncludeEqual