Windows NTFS権限のユーザー、グループ削除、追加するPowerShellコマンド

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-AclNTFS ファイル システム上の特定のオブジェクトの現在の 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/

 

TNTOR モバイルバッテリー 軽量 小型 超薄 6mm 5000mAh スマホ充電器 持ち運び便利 iPhone 13/SE 第3世代/12/11/XS Max/XR/X/8/7/6/Plus Airpods/AQUOS/Xperia/Galaxy/Pixel/Xiaomi/OPPO/HUAWEIに対応 地震/災害/旅行/出張用 (ブラック)【PSE認証済】