Напишите каждую уникальную файловую систему прямо на новой строке |PowerShell - PullRequest
0 голосов
/ 31 января 2019

Я создаю сценарий 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 ",","-" )))
}

1 Ответ

0 голосов
/ 31 января 2019

Чтобы разделить .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)
        }
    )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...