2016-03-07 51 views
1

我试图删除从使用此代码我的哈希空所有的键:删除空键的PowerShell

foreach ($key in $OUHash.Keys){ 
    if ($($OUHash.Item($key)) -eq $NULL) { 
     $OUHash.Remove($key) 
    } 
} 

这消除了一个空的关键,但不是全部,这也给了我这个错误信息:

Collection was modified; enumeration operation may not execute. 
At C:\AD\Shadow group Sync.ps1:31 char:10 
+ foreach ($key in $Hash.Keys){ 
+   ~~~~ 
    + CategoryInfo   : OperationStopped: (:) [], InvalidOperationException 
    + FullyQualifiedErrorId : System.InvalidOperationException 

回答

2

可以使用GetEnumerator()方法来筛选使用Where-Object(别名?)条目:

$OuHash.GetEnumerator() | ? Value 
+0

非常感谢,它的工作! – jarlow