概要
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に指定可能なアクセス権の種類です。アクセス権の種類に応じて適切な値を指定することで、ファイルやフォルダのアクセス権を制御することができます。

コメント