我正在创建一个PowerShell脚本,该脚本将目录中所有文件夹上启用的权限写到CSV文件中,以进行报告。此报告的要求是文件系统权限必须每个都在单独的行上,而不是全部都在一行上(我的代码当前这样做)。例如,当前这些权限如下所示:
C:/temp-folder_123 (column) ReadData- ExecuteFile- Synchronize
但是我希望它的格式如下:
C:/temp-folder_123 (column) ReadData
C:/temp-folder_123 (column) ExecuteFile
C:/temp-folder_123 (column) Synchronize
这是我的代码:
foreach ($access_right in $acl.Access)
{
if ( ($access_right.FileSystemRights -notmatch $exclude_filesystem_rightss_regex) )
{
$file_stream_output.WriteLine(('{0}, {1}, {2}' -f $directory.FullName, $access_right.IdentityReference, ($access_right.FileSystemRights -replace ",","-" )))
}
答案 0 :(得分:0)
要拆分.FileSystemRights,您必须使用另一个ForEach在它们上进行迭代
foreach ($access_right in $acl.Access) {
if (($access_right.FileSystemRights -notmatch $exclude_filesystem_rightss_regex) ){
foreach($fsr in $access_right.FileSystemRights){
$file_stream_output.WriteLine(('{0}, {1}, {2}' -f `
$directory.FullName,
$access_right.IdentityReference,
$fsr)
}
)
}