2014-10-07 109 views
0

我有一個System.Array定義的文件夾上的特定安全組的權限,它看起來像這樣:PowerShell中添加一對到陣列

$Permissions 
C\Department      : FINANCE 
BEL ROL-STAFF-FIN Accountants : L 
BEL ROL-STAFF-SA Sales Employees : F 

C\Department      : SALES 
BEL ROL-STAFF-FIN Accountants : C 
BEL ROL-STAFF-SA Sales Employees : F 

$Permissions.Count # Returns 2 

我想知道的是怎麼能我添加另一個安全組?

如果我想與價值F以上面的例子中添加安全組BEL ROL-STAFF-IT Service Desk,其結果必然是:

$Permissions 
C\Department      : FINANCE 
BEL ROL-STAFF-FIN Accountants : L 
BEL ROL-STAFF-SA Sales Employees : F 
BEL ROL-STAFF-IT Service Desk : F 

C\Department      : SALES 
BEL ROL-STAFF-FIN Accountants : C 
BEL ROL-STAFF-SA Sales Employees : F 
BEL ROL-STAFF-IT Service Desk : F 

$Permissions.Count # Returns 2 

這似乎很容易只需添加一個row到一個數組,但如何做一個鍵/值對添加到數組中的現有row,所以計數保持不變?

謝謝您的幫助。

回答

0

找到了,我只好一個NoteProperty添加到一個row$Item我命名它下面:

[int]$i = '0' 
foreach ($Item in $Permissions) { 

    Write-Host "Item $([int]$i++)" -ForegroundColor Yellow 
    $Item 

    foreach ($d in $DefaultPermissions) { 
     Add-Member -InputObject $Item -MemberType NoteProperty -Name $d.GroupName -Value $d.Permissions 
    } 

    $Item 
} 
0

一個哈希表添加到您的陣列

$i=0 
$permissions|%{ 
    $permissions[$i][email protected]{'BEL ROL-STAFF'='F'} 
    $i++ 
}