【问题标题】:For Looping through ADuser List用于循环访问 ADuser 列表
【发布时间】:2016-06-14 13:14:44
【问题描述】:

我正在尝试使用脚本浏览 ADUser 数据库并选择某些人员/数据。这是我当前的代码:

$users = Get-ADUser -Filter * -Properties extensionattribute9,Displayname,mail 

$results = $users | ForEach-Object {
    if ($_.extensionattribute9 -like '*Smith*')
    {
      select Displayname,mail
    }
}
$results

一旦成功,我将添加更多的 foreach-object 循环,以吸引更多具有某些其他 extensionattribute9 值的用户。但是对于这第一个,它运行没有错误,但一旦完成就不会显示任何内容。我对 extensionattribute9 变量做错了吗?我尝试了没有 $_. 的脚本,可以预见的是它无法识别该术语。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    改变

    select Displayname,mail 
    

    $_ | select Displayname,mail  
    

    【讨论】:

    • 谢谢!那完全奏效了。你能解释一下为什么我需要添加 $_ 吗?
    • 因为您想选择管道变量 $_ 的一些属性。如果没有管道 $_ 来选择,就没有什么可以选择的——希望这是有道理的。如果没有,我今晚会尝试更详细地解释它
    • 这是有道理的。再次感谢。
    • 因为他无论如何都在使用管道,所以最好用Where-Object过滤器替换ForEach-Object,包括嵌套的if语句:$users | Where-Object { $_.extensionattribute9 -like '*Smith*' } | select Displayname,mail
    猜你喜欢
    • 2012-07-11
    • 2012-08-07
    • 1970-01-01
    • 2017-01-19
    • 2016-09-04
    • 2021-05-10
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    相关资源
    最近更新 更多