web-dev-qa-db-ja.com

ディレクトリフォルダーと所有者(ファイルを除く)をエクスポートするPowershellスクリプト

示されているように、所有者情報と一緒にリモートサーバー上のファイル共有内の子フォルダーを含むすべてのフォルダーをエクスポートしようとしています(フォルダー内のファイルに関する情報は必要ないことに注意してください)

get-childitem \\fileshare\folder -recurse | get-acl  | select-object path,owner,accesstostring,group | export-csv “C:\security.csv”

これはある程度機能しますが、ディレクトリ内のフォルダではなく、すべてのファイルが含まれます。フォルダ名の長さを最小限に抑えるために、一時的なPSドライブも作成したことに注意してください。

new-psdrive -Name X -PSProvider FileSystem -Root \\server\share\folder1\folder2\folder3

誰か助けてもらえますか?

1
Azhar Iqbal

次に、最近のPowershellバージョンに存在するGet-ChildItemの-Directoryパラメーターを持つフォルダーを確認するか、次を使用します。

Get-Childitem \\fileshare\folder -Recurse | Where-Object {$_.PSIsContainer} |
  Get-Acl | 
    Select-Object Path,Owner,Accesstostring,Group | 
      Export-Csv “C:\security.csv”

(私はこの技術的なまだ1つのライナーのより読みやすい変種を好みます)

1
LotPings