Назад | Перейти на главную страницу

Сценарий Powershell для экспорта папок каталогов и владельцев (за исключением файлов)

Я пытаюсь экспортировать все папки, включая дочерние папки, в общей папке на удаленном сервере вместе с информацией о владельце, как показано (примечание: мне не нужна информация о файлах в папках)

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”

(Я предпочитаю более читаемый вариант этого технического еще одного лайнера)