Windows NTFS権限のユーザー、グループ削除、追加するPowerShellコマンドに関する情報です。
Windowsサーバの運用をしている場合は参考になる情報です。
海外のサイトにすぐに使える情報がありました。
Windows でファイルまたはフォルダーへのアクセスを管理するために、特別な ACL (アクセス制御リスト) が NTFS ファイル システム オブジェクト (ファイルまたはフォルダー) に割り当てられます。オブジェクトの ACL は、ユーザーまたはグループがファイル システム オブジェクトで実行できる使用可能な操作 (権限) を定義します。
ほとんどの場合、Windows 管理者はファイル エクスプローラーのグラフィック インターフェイス (ファイル/フォルダーのプロパティ -> [セキュリティ] タブ) またはicaclsコンソール ツールを使用して、ファイルまたはフォルダーの NTFS アクセス許可を管理します。この記事では、PowerShell コマンドレットを使用して NTFS オブジェクトのアクセス許可を管理する方法について説明します。
これらのコマンドをスクリプトで使用したり、Windows ファイル サーバーおよびワークステーションでの NTFS アクセス許可の管理を自動化したりすることができます。
Get-Acl & Set-Acl: NTFS ACL を管理する組み込みの PowerShell コマンドレット
PowerShell v5 (Windows 10/Windows Server 2016) には、ACL ( Microsoft.PowerShell.Securityモジュールの一部)を管理するための 2 つの別個の組み込みコマンドレットがあります。
Get-Acl — NTFS ファイル システム上の特定のオブジェクトの現在の ACL を取得できます。
Set-Acl – 現在のオブジェクト ACL を追加/変更するために使用されます。
こちらがコマンドです。
Set-ACL を使用する際の主な問題は、NTFS アクセス許可を変更するだけでよい場合でも、コマンドレットが常にリソース所有者を変更しようとすることです。したがって、オブジェクトにアクセス許可を追加するには、次の複雑なスクリプトを使用する必要があります。
$path = "c:\docs "
$user = "corp\DSullivan"
$Permiss = "Read, ReadAndExecute, ListDirectory"
$InheritSettings = "Containerinherit, ObjectInherit"
$PropogationSettings = "None"
$RuleType = "Allow"
$acl = Get-Acl $path
$perm = $user, $Permiss, $InheritSettings, $PropogationSettings, $RuleType
$rule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $perm
$acl.SetAccessRule($rule)
$acl | Set-Acl -Path $path
ユーザーまたはグループのフォルダにアクセスするための NTFS アクセス許可を削除するには、次の手順を実行します。
$path = "c:\docs"
$acl = Get-Acl $path
$rules = $acl.Access | where IsInherited -eq $false
$targetrule = $rules | where IdentityReference -eq "corp\DSullivan"
$acl.RemoveAccessRule($targetrule)
$acl | Set-Acl -Path $path
PowerShell からのフォルダーの継承を無効にするには:
$path = 'C:\docs
$acl = Get-ACL -Path $path
$acl.SetAccessRuleProtection($True, $True) # the first $True shows if the folder is protected, the second $True specifies if the current NTFS permissions have to be copied
Set-Acl -Path $path -AclObject $acl
上のコマンドは複雑で使いにくいので「NTFSSecurity PowerShell モジュール」が便利とのことです。
「引用元」
https://woshub.com/manage-ntfs-permissions-powershell/