Powershell基于属性将一组用户对象拆分为两个数组

时间:2011-11-15 20:36:24

标签: arrays powershell

我正在尝试将通过$users = Get-QADUser -searchroot 'domain.net/OU1/OU2/Users'检索到的用户对象数组拆分为两个基于其“AccountIsExpired”属性的数组。

我可以$users = $users | where {!($_.AccountIsExpired)}但这只能给我一部分用户。但是,这会过滤掉一些用户对象。

我构建此代码以将$users拆分为两个数组($include, $exclude):

[Object[]]$include = @();
[Object[]]$exclude = @();
foreach ($user in $users) {
    if (!($_.AccountIsExpired)) {
        $include += $user;
    } else {
        $exclude += $user;
    }
}
$users = $include;

除了创建第二个数组外,我没有看到这两个代码之间的区别......

1 个答案:

答案 0 :(得分:5)

使用group-object怎么样?

$groups=$users | group-object AccountIsExpired

这样的东西