我正在尝试一次将权限应用于多个文件夹。我有一个.csv文件,其中一列中的文件夹路径和第二列中的安全组。大多数文件夹都有多个可访问的组。 .csv采用以下格式:
folderpath groupname
---------- ---------
C:\Folder1 Group1
C:\Folder2 Group2, Group3
我的代码目前不会应用权限,因为某些groupname单元格中有多个值。如果只列出一个组,它将适用。
#Specify CSV location
$csv = import-csv G:\testcsv.csv
#Start loop
foreach($masterlist in $csv)
{
$folderpath = $masterlist.folderpath
$groupname = $masterlist.groupname
#Apply permission to folderpath
add-ntfsaccess -path $folderpath -account $groupname -accessrights modify,synchronize
}
例如,如果我运行上面的代码,Group1将成功获得C:\ Folder1的权限。但是C:\ Folder2将没有应用,因为Group2和Group3都在同一个单元格中。我可以调整我的代码,而无需手动分离.csv中的数百个单元格吗?
感谢您的帮助!!!!!
答案 0 :(得分:1)
只需创建内部循环foreach Group :)最简单的方法
#Start loop
foreach($masterlist in $csv)
{
$folderpath = $masterlist.folderpath
$groupnames = $masterlist.groupname -split ","
foreach ($group in $groupnames ) {
#Apply permission to folderpath
add-ntfsaccess -path $folderpath -account $group -accessrights modify,synchronize
}
}
这是adHoc的反应,但我认为你明白了。