【问题标题】:Stop printing amount of the element in foreach loop powershell停止在foreach循环powershell中打印元素的数量
【发布时间】:2017-11-21 19:29:10
【问题描述】:

foreach 循环只是保持打印出其中的元素数量,如下代码所示。我想阻止它打印出来。

$ADSearch = New-Object System.DirectoryServices.DirectorySearcher
$ADSearch.SearchRoot ="LDAP://$Domain"
$ADSearch.SearchScope = "subtree"
$ADSearch.PageSize = 100
$ADSearch.Filter = "(objectClass=$objectClass)"

$properies =@("distinguishedName",
"sAMAccountName",
"mail",
"lastLogonTimeStamp",
"pwdLastSet",
"accountExpires",
"userAccountControl")

foreach($pro in $properies)
{
    $ADSearch.PropertiesToLoad.add($pro)   
}

目前它给出:

0
1
2
3
4
5
6

【问题讨论】:

  • 它告诉列表中添加了 7 个元素,其索引从 0 开始。您始终可以将其通过管道传输到 out-null 或将其重定向到 $null,如 >> $null

标签: powershell foreach


【解决方案1】:

另一种解决方案是[void]“违规”行:

foreach($pro in $properies)
{
    [void]$ADSearch.PropertiesToLoad.add($pro)
}

【讨论】:

  • 我喜欢它。它是最好的和老式的方法。始终将它们声明为 VOID :)
【解决方案2】:

改变这个:

foreach($pro in $properies)
{
    $ADSearch.PropertiesToLoad.add($pro)   
}

收件人:

foreach($pro in $properies)
{
    $ADSearch.PropertiesToLoad.add($pro)| out-null
}

【讨论】:

  • @Ender:很高兴。接受答案将是可观的
  • 我肯定会在 10 分钟后 :D
猜你喜欢
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
相关资源
最近更新 更多