PowerShell でファイルやフォルダのアクセス権を操作する方法

概要

PowerShellを使用してファイルやフォルダのアクセス権を操作する方法について説明します。PowerShellの便利なコマンドを使用することで、アクセス権の追加、変更、削除などの操作が簡単に行えます。

構文

以下はファイルやフォルダのアクセス権を操作するために使用する基本的な構文です。

# アクセス権の追加
$filePath = "C:\Path\ToFile.txt"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("DOMAIN\User", "FullControl", "Allow")
$acl = Get-Acl $filePath
$acl.AddAccessRule($rule)
Set-Acl $filePath $acl

# アクセス権の変更
$filePath = "C:\Path\ToFile.txt"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("DOMAIN\User", "Read", "Allow")
$acl = Get-Acl $filePath
$acl.SetAccessRule($rule)
Set-Acl $filePath $acl

# アクセス権の削除
$filePath = "C:\Path\ToFile.txt"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("DOMAIN\User", "Read", "Allow")
$acl = Get-Acl $filePath
$acl.RemoveAccessRule($rule)
Set-Acl $filePath $acl

使用例

以下は実際の使用例です。ファイルに対して新しいユーザーのアクセス権を追加する方法を示しています。

$filePath = "C:\Path\ToFile.txt"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("DOMAIN\User", "Read", "Allow")
$acl = Get-Acl $filePath
$acl.AddAccessRule($rule)
Set-Acl $filePath $acl

Write-Host "ファイルのアクセス権が正常に追加されました。"

この例では、”DOMAIN\User”というユーザーに対して読み取りアクセスを許可するアクセス権を追加しています。必要に応じて、ユーザー名やアクセス権の種類を適宜変更してください。

指定可能なアクセス権の種類を以下に示します。

アクセス権の種類 説明
FullControl 読み取り、書き込み、実行、削除、属性変更、アクセス権変更など、すべての操作が許可されます。
Modify 読み取り、書き込み、実行、属性変更が許可されますが、削除やアクセス権変更は制限されます。
ReadAndExecute 読み取りと実行が許可されますが、書き込みや削除、属性変更は制限されます。
ListDirectory ディレクトリ内のファイルとサブディレクトリの一覧を表示することができます。
Read ファイルやディレクトリの読み取りが許可されます。
Write ファイルやディレクトリへの書き込みが許可されます。
CreateFiles ファイルの作成が許可されます。
CreateDirectories ディレクトリの作成が許可されます。
AppendData ファイルへのデータの追加が許可されます。
Delete ファイルやディレクトリの削除が許可されます。
DeleteSubdirectoriesAndFiles サブディレクトリとファイルの削除が許可されます。
ReadAttributes ファイルやディレクトリの属性の読み取りが許可されます。
WriteAttributes ファイルやディレクトリの属性の書き込みが許可されます。
ReadExtendedAttributes ファイルやディレクトリの拡張属性の読み取りが許可されます。
WriteExtended

Attributes

ファイルやディレクトリの拡張属性の書き込みが許可されます。
ReadPermissions ファイルやディレクトリのアクセス権の読み取りが許可されます。
ChangePermissions ファイルやディレクトリのアクセス権の変更が許可されます。
TakeOwnership ファイルやディレクトリの所有権の変更が許可されます。

以上がFileSystemAccessRuleに指定可能なアクセス権の種類です。アクセス権の種類に応じて適切な値を指定することで、ファイルやフォルダのアクセス権を制御することができます。

コメント

タイトルとURLをコピーしました