У меня есть текстовый файл с точными путями папок, из которых я хочу получить информацию о разрешениях, и я пытаюсь использовать PowerShell для получения информации из каждой папки. Я хочу добавить информацию в текстовый файл со значением разделителя ":"

Может кто-нибудь, пожалуйста, скажите мне, что я делаю не так ...

$FullList = Get-Content "C:\Temp\ListofFoldersToCheck.txt"

$DataOutFile = "C:\Temp\PermissionInformation.txt"

Foreach ($Folder in $FullList)
{
    $ACLs = get-acl $Folder.Fullname | ForEach-Object { $_.Access }

    Foreach ($ACL in $ACLs)
    {
        $DataOutInfo = $Folder.FullName + ":" + $ACL.IdentityReference
        Add-Content -Value $DataOutInfo -Path $DataOutFile
    }
}

Он возвращает сообщение об ошибке: Get-Acl: Невозможно проверить аргумент параметра «Путь».Аргумент нулевой или пустой. Укажите аргумент, который не является пустым или пустым, а затем повторите команду.

Данные $ FullList разделяются новыми строками, если это имеет значение.

Пожалуйста, помогите, это сводит меня с ума ...

1 ответ1

0

В вашем цикле Foreach переменная $Folder является строкой. Строки не имеют свойства Fullname .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .