Я пытаюсь экспортировать все папки, включая дочерние папки, в общей папке на удаленном сервере вместе с информацией о владельце, как показано (примечание: мне не нужна информация о файлах в папках)
get-childitem \\fileshare\folder -recurse | get-acl | select-object path,owner,accesstostring,group | export-csv “C:\security.csv”
Хотя это в определенной степени работает, оно включает все файлы, а не конкретно папки в каталоге. Примечание. Я также создал временный диск PS Drive, чтобы минимизировать длину именования папок;
new-psdrive -Name X -PSProvider FileSystem -Root \\server\share\folder1\folder2\folder3
Может кто-нибудь помочь?
Затем проверьте наличие папок с помощью -Directory
параметр Get-ChildItem, присутствующий в последних версиях Powershell, или используйте его:
Get-Childitem \\fileshare\folder -Recurse | Where-Object {$_.PSIsContainer} |
Get-Acl |
Select-Object Path,Owner,Accesstostring,Group |
Export-Csv “C:\security.csv”
(Я предпочитаю более читаемый вариант этого технического еще одного лайнера)