Arrays 如何在两个数组之间找到相同的对象

Arrays 如何在两个数组之间找到相同的对象,arrays,powershell,compare,Arrays,Powershell,Compare,考虑以下阵列: $users = 'igor', 'max', 'andrew' $server_admins = 'john', 'andrew', 'li', 'alex' 如果$users的任何成员在$server\u admins 在上面的示例中,由于来自$users 我应该使用比较对象?还是不?如果是-如何操作?您可以使用-in或-contains,例如: $users = 'igor','max','andrew' $server_admins = 'john','andrew',

考虑以下阵列:

$users = 'igor', 'max', 'andrew'
$server_admins = 'john', 'andrew', 'li', 'alex'
如果
$users
的任何成员在
$server\u admins
在上面的示例中,由于来自
$users


我应该使用
比较对象
?还是不?如果是-如何操作?

您可以使用
-in
-contains
,例如:

$users = 'igor','max','andrew'
$server_admins = 'john','andrew','li','alex'

$users | % {
    if($_ -in $server_admins)
    {
        'alert'
    }
}

您可以使用
-in
-contains
执行某些操作,例如:

$users = 'igor','max','andrew'
$server_admins = 'john','andrew','li','alex'

$users | % {
    if($_ -in $server_admins)
    {
        'alert'
    }
}

这有几个正确的答案。有些比其他更简单、更干净。任何对您的数据最有效的方法

$users = 'igor','max','andrew'
$server_admins = 'john','andrew','li','alex'

# Using Compare-Object
Compare-Object $users -DifferenceObject $server_admins -IncludeEqual | Where sideindicator -eq "==" | Select-Object -ExpandProperty InputObject

# Using -contains and where
$users | Where-Object{$server_admins -contains $_}

将其中一个导入每个对象的
Foreach
并发出警报。我可能会选择后者,因为它更简洁,更容易理解

这有几个正确的答案。有些比其他更简单、更干净。任何对您的数据最有效的方法

$users = 'igor','max','andrew'
$server_admins = 'john','andrew','li','alex'

# Using Compare-Object
Compare-Object $users -DifferenceObject $server_admins -IncludeEqual | Where sideindicator -eq "==" | Select-Object -ExpandProperty InputObject

# Using -contains and where
$users | Where-Object{$server_admins -contains $_}

将其中一个导入每个对象的
Foreach
并发出警报。我可能会选择后者,因为它更简洁,更容易理解

使用单个if命令进行测试:

$users = 'igor','max','andrew'
$server_admins = 'john','andrew','li','alex'
If ( @($users | Where-Object{$server_admins -contains $_ }).Length){"yes"}

要使用单个if命令进行测试,请执行以下操作:

$users = 'igor','max','andrew'
$server_admins = 'john','andrew','li','alex'
If ( @($users | Where-Object{$server_admins -contains $_ }).Length){"yes"}

有没有办法在过滤器中使用它?那么,如果$server\u admins数组中有任何用户,则为真?filter FilterDN{如果(此处…){#如果任何用户在服务器管理中,则..}}获取QADUser过滤器不知道你的意思,可能是
$users |?{$\u-in$server\u admins}
?嗯,没有多行。我想在IF表达式中使用它。。。所以,如果(服务器组中的任何用户){…}有任何方法在过滤器中使用它吗?那么,如果$server\u admins数组中有任何用户,则为真?filter FilterDN{如果(此处…){#如果任何用户在服务器管理中,则..}}获取QADUser过滤器不知道你的意思,可能是
$users |?{$\u-in$server\u admins}
?嗯,没有多行。我想在IF表达式中使用它。。。因此,如果(服务器组中的任何用户){…}