FC2ブログ

PowerShellでファイルとパーミションをCSV出力する

# 共有ディレクトリのパスを設定
$FolderPath = "\\Path\To\Your\SharedFolder"

# 出力するテキストファイルのパス
$TxtOutputPath = "C:\Path\To\Output\Permissions.txt"

# テキストファイルが既に存在する場合は削除
If (Test-Path $TxtOutputPath) {
Remove-Item $TxtOutputPath
}

# 指定されたパスから始まるすべてのフォルダとファイルを再帰的に取得
$Items = Get-ChildItem -Path $FolderPath -Recurse

foreach ($Item in $Items) {
# アイテムのアクセス権情報を取得
$Acl = Get-Acl -Path $Item.FullName
foreach ($Access in $Acl.Access) {
# アクセス権情報をテキストファイルに直接書き込み
$line = "Path: $($Item.FullName), IdentityReference: $($Access.IdentityReference), AccessControlType: $($Access.AccessControlType), FileSystemRights: $($Access.FileSystemRights), IsInherited: $($Access.IsInherited)"
Add-Content -Path $TxtOutputPath -Value $line
}
}

Write-Host "Permissions export completed successfully to $TxtOutputPath"



C:\Scripts\Export-Permissions.ps1 にスクリプトを保存した場合、以下のコマンドを使用して実行します:
& "C:\Scripts\Export-Permissions.ps1"

スクリプトの実行前に、PowerShellでスクリプトの実行が許可されているか確認する必要があります。実行ポリシーを確認するには、PowerShellで以下のコマンドを実行します:
Get-ExecutionPolicy

もし実行ポリシーが Restricted に設定されている場合、スクリプトを実行できないため、RemoteSigned または Unrestricted に変更する必要があります(セキュリティ上のリスクを理解した上で変更してください)。実行ポリシーを変更するには、以下のコマンドを管理者権限で実行します:
Set-ExecutionPolicy RemoteSigned

このコマンド実行後は、上述の手順に従って.ps1ファイルを実行できるようになります。
関連記事
スポンサーサイト



コメントの投稿

非公開コメント

カウンター
プロフィール

itoby

Author:itoby
サラリーマン業以外でお金がほしい。

別で電柱もアップしてます。
今日の電柱
#こちらは最近停滞気味…

New!
マインクラフトのサーバー建ててます。
是非遊びに来てください。
https://tobibuta.pgw.jp

最新記事
リンク
カテゴリ
スポンサードリンク
検索フォーム
問い合わせはこちらから

名前:
メール:
件名:
本文:

Amazon.co.jp