2017-06-19 111 views
2

foreach循环只是保持打印出下面的代码中的元素数量。我想阻止它打印出来。停止foreach循环中元素的打印量powershell

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

$properies [email protected]("distinguishedName", 
"sAMAccountName", 
"mail", 
"lastLogonTimeStamp", 
"pwdLastSet", 
"accountExpires", 
"userAccountControl") 

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

目前,它给出了:

0 
1 
2 
3 
4 
5 
6 
+0

它告诉有加入到其索引列表中7个元素从0开始。你总是可以管,要'出null'或重定向到$空像'>> $ null' –

回答

3

更改此:

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

要:

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

谢谢,这作品像一个魅力:) – Ender

+0

@恩德尔:我的荣幸。接受答案将是可观的 –

+1

当然我会:D 10分钟后 – Ender

3

另一种方案是[void] “攻击” 行:

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

我喜欢它。它是最好的和老派的方法。总是声明他们为VOID :) –