[玩转系统] 如何使用PowerShell管理NTFS权限?
作者:精品下载站 日期:2024-12-14 20:08:04 浏览:16 分类:玩电脑
如何使用PowerShell管理NTFS权限?
为了管理对 Windows 中文件或文件夹的访问,将特殊的 ACL(访问控制列表)分配给 NTFS 文件系统对象(文件或文件夹)。对象的 ACL 定义用户或组可以对文件系统对象执行的可用操作(权限)。在大多数情况下,Windows 管理员使用文件资源管理器图形界面(文件/文件夹属性 -> 安全选项卡)或 icacls 控制台工具来管理文件或文件夹的 NTFS 权限。在本文中,我们将了解如何使用 PowerShell cmdlet 管理 NTFS 对象的权限。您可以在脚本中使用这些命令,或者自动管理 Windows 文件服务器和工作站上的 NTFS 访问权限。
Get-Acl 和 Set-Acl:用于管理 NTFS ACL 的内置 PowerShell Cmdlet
在 PowerShell v5 (Windows 10/Windows Server 2016) 中,有两个单独的内置 cmdlet 来管理 ACL(Microsoft.PowerShell.Security 模块的一部分):
Get-Acl — 允许获取 NTFS 文件系统上特定对象的当前 ACL;
Set-Acl - 用于添加/更改当前对象 ACL。
我们不会详细考虑这些内置 cmdlet,因为它们的功能在大多数情况下不足以在实际任务中管理 NTFS 权限。让我们详细讨论一些典型的用例。
要获取文件夹(文件)的当前所有者以及分配的 NTFS 权限列表,请运行以下命令:
get-acl C:\docs\ |fl
Path : Microsoft.PowerShell.Core\FileSystem::C:\docs\
Owner : CORP\asmith
Group : CORP\Domain Users
Access : PC-7L7JAK6\root Allow ReadAndExecute, Synchronize
BUILTIN\Administrators Allow FullControl
NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Users Allow ReadAndExecute, Synchronize
NT AUTHORITY\Authenticated Users Allow Modify, Synchronize
NT AUTHORITY\Authenticated Users Allow -536805376
Audit :
Sddl : O:S-1-5-21-2950832418-2342342341-4040681116-234234G:DUD:AI(A;OICI;0x1200a9;;;S-1-5-21-2601781602-2342342341-6543210895-1001)(A;OICIID;FA;;;BA)(A;OICIID;FA;;;SY)(A;OICIID;0x1200a9;;;BU)(A;ID;0x1301bf;;;AU)(A;OICIIOID;SDGXGWGR;;;AU)
正如您所看到的,当前权限也显示为 SDDl 字符串 - 我们在设置 Windows 服务权限一文中简要介绍了这种访问描述格式。
您只能以更清晰的格式显示 NTFS 权限列表:
(get-acl C:\docs\).access
您可以从一个 NTFS 文件夹(对象)复制当前的 NTFS 权限并将其应用到另一个 NTFS 文件夹(对象):
Get-Acl e:\old_docs | Set-Acl C:\docs
为此,该帐户必须是对象的所有者并具有“取得所有权”权限。
使用 Set-ACL 的主要问题是 cmdlet 总是尝试更改资源所有者,即使您只需要更改 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
此外,使用 Get-Acl 和 Set-Acl,您可以管理对象的 NTFS 审核设置(请参阅文章跟踪谁从共享文件夹中删除了文件)或有关 AD 中当前 OU 委派权限的文章。
使用 NTFSSecurity PowerShell 模块管理文件权限
正如我已经说过的,内置的 PowerShell cmdlet 来管理文件系统对象不是很方便。要管理 Windows 中文件和文件夹的 NTFS 权限,您最好使用 PowerShell 库中的单独模块 - NTFSSecurity。您可以使用以下命令安装最新版本的 NTFSSecurity 模块(当前为 4.2.6)
Install-Module -Name NTFSSecurity
命令或手动下载(链接)。手动安装时,只需将模块存档解压到
C:\Windows\System32\WindowsPowerShell\v1.0\Modules\NTFSSecurity
(不要忘记解锁下载的文件)。
将 NTFSSecurity 模块导入到您的 PowerShell 会话中:
Import-Module NTFSSecurity
显示模块中可用命令的列表(36 个 cmdlet):
Get-Command -Module NTFSSecurity
列出文件夹当前的 NTFS 权限:
Get-Item 'c:\docs' | Get-NTFSAccess
如您所见,当前权限以更方便的形式显示。
要授予用户或组对特定文件夹的完全控制权限,请运行以下命令:
Add-NTFSAccess -Path C:\docs -Account 'CORP\RShelby','BUILTIN\Administrators' -AccessRights 'Fullcontrol' -PassThru
提示。默认情况下,NTFSSecurity cmdlet 不返回任何数据。使用-PassThru参数使命令在执行后显示新的ACL。
要仅在顶级文件夹级别授予权限而不更改嵌套对象(仅限文件夹)的权限,请使用以下命令:
Add-NTFSAccess c:\docs\public -Account corp\LMurkowski -AccessRights Modify -AppliesTo ThisFolderOnly
要删除分配的 NTFS 权限:
Remove-NTFSAccess -Path C:\DOCS -Account 'corp\LMurkowski' -AccessRights FullControl -PassThru
下一个命令将删除给定帐户的文件夹中所有嵌套对象的权限(将跳过继承的权限):
Get-ChildItem -Path C:\docs -Recurse | Get-NTFSAccess -Account 'corp\LMurkowski' -ExcludeInherited |Remove-NTFSAccess -PassThru
使用以下命令,您可以使管理员帐户成为文件夹中所有嵌套对象的所有者:
Get-ChildItem -Path C:\docs -Recurse -Force | Set-NTFSOwner -Account 'Administrator'
要手动清除分配给文件夹对象的所有权限(继承的权限不会被删除):
Get-ChildItem -Path C:\docs -Recurse -Force | Clear-NTFSAccess
要为文件夹中的所有对象启用 NTFS 继承:
Get-ChildItem -Path C:\docs -Recurse -Force | Enable-NTFSAccessInheritance
要显示除继承的权限之外的所有手动分配的权限:
dir C:\docs | Get-NTFSAccess -ExcludeInherited
您可以显示分配给特定帐户的权限(不要将其与有效权限混淆,我们稍后会讨论):
dir C:\docs | Get-NTFSAccess -Account a-d\RShelby
如何使用PowerShell查看NTFS有效权限?
您可以使用以下命令查看特定文件或文件夹的有效 NTFS 权限
Get-EffectiveAccess
cmdlet。假设您已向多个 AD 安全组授予对某个文件夹的访问权限,并且您想知道特定用户帐户(或 SID)是否可以访问该文件夹。如果不列出用户帐户所属的 AD 组的所有成员,如何做到这一点?在这种情况下,查看有效的 NTFS 权限非常有用。例如,您需要查看域帐户confroom对文件夹中所有嵌套目录的有效权限。
Get-ChildItem -Path c:\docs -Recurse -Directory | Get-NTFSEffectiveAccess -Account 'corp\confroom’ | select Account, AccessControlType, AccessRights, FullName
或者可以查看某个文件的有效权限:
Get-Item -Path 'C:\docs\annual_report2019.xlsx' | Get-NTFSEffectiveAccess -Account 'corp\confroom' | Format-List
文件系统对象的当前有效用户权限在AccessRights字段中指定。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag