【发布时间】:2011-11-15 20:36:24
【问题描述】:
我正在尝试将通过 $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;
除了创建第二个数组之外,我看不出这两位代码之间的区别...
【问题讨论】:
-
好的,有时您只需在浏览器窗口中查看代码即可解决您的问题 -.- 以下是有效的代码:[Object[]]$include = @(); [对象[]]$排除=@(); foreach ($user in $users) { if (!($user.AccountIsExpired)) { # 从 where 过滤器中复制 $_... $include += $user; } 其他 { $exclude += $user; } } $users = $include; $排除;
-
抱歉不清楚,谢谢!
标签: arrays powershell