2011-11-15 7 views
1

$users = Get-QADUser -searchroot 'domain.net/OU1/OU2/Users'을 통해 검색된 사용자 개체의 배열을 'AccountIsExpired'속성에 따라 두 개의 배열로 분할하려고합니다.Powershell 사용자 개체의 배열을 두 개의 배열로 두 개의 배열로 분할합니다.

내가 할 수있는 $users = $users | where {!($_.AccountIsExpired)}하지만 그건 내 사용자 중 일부만을 제공합니다. 그러나 이는 일부 사용자 개체를 걸러냅니다.

나는 두 배열 ($include, $exclude)로 $users 분할 코드 : 빌드 외에 제 배열의 생성에서, I 코드의 두 비트의 차이를 보이지 않는

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

...

+0

무엇이 문제입니까? – JNK

+0

브라우저 창에서 코드를 보는 것이 문제를 해결하는 데 필요한 모든 것입니다.- 다음 코드는 작동합니다. [Object []] $ include = @(); [Object []] $ exclude = @(); foreach ($ user의 $ user) { if (! ($ user.AccountIsExpired)) {#는 이전에 where 필터에서 $ _를 복사했습니다 ... $ include + = $ user; } else { $ exclude + = $ user; } } $ users = $ include; $ 제외; – Neffets

+0

어쨌든 고맙게 생각해서 죄송합니다. – Neffets

답변

5

그룹 개체 사용은 어떻게됩니까?

이와 비슷한 것 $groups=$users | group-object AccountIsExpired

+0

+1 나는 같은 것을 제안하려고했다 :) –

+0

예! 보기에는 좋았습니다. 명령 줄에서 시도해 보았습니다. 스크립트에서도 작동해야합니다. 나중에 시도해 보겠습니다. – Neffets

+0

charme처럼 작동합니다. 감사합니다. – Neffets

관련 문제