2016-03-07 54 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