尽管PowerShell包含一系列本地用来配置存储的cmdlet,但配置NTFS权限的能力明显有限。幸运的是,微软提供了一种利用PowerShell来检索和配置NTFS权限的方法,但是你需要提前下载并安装一个专用模块。 所需的模块是文件系统安全PowerShell模块。将文件复制到PowerShell模块文件夹中的NTFSSecurity文件夹下(你必须创建NTFSSecurity文件夹)。
默认情况下,PowerShell模块文件夹路径为:%Windir%System32WindowsPowerShellv1.0Modules。 将模块复制到相应的文件夹后,可以通过使用下面的命令来验证模块的可……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
所需的模块是文件系统安全PowerShell模块。将文件复制到PowerShell模块文件夹中的NTFSSecurity文件夹下(你必须创建NTFSSecurity文件夹)。默认情况下,PowerShell模块文件夹路径为:%Windir%System32WindowsPowerShellv1.0Modules。
将模块复制到相应的文件夹后,可以通过使用下面的命令来验证模块的可用性:
Get-Module –ListAvailable
假设NTFS模块出现在列表里,可以使用下面的命令输入:
Import-Module NTFSSecurity
记住,除非你已经利用Set-ExecutionPolicy cmdlet更改了服务器的执行策略,否则上面这条命令将生成一个错误消息,告诉你系统上的脚本是禁止运行的。
输入执行策略后,你就拥有NTFS权限了。
然而,每次需要使用权限的时候都必须输入NTFSSecurity模块。
假设我在服务器上创建了文件夹C:Data 。接着,假如想查看这个文件夹的访问控制列表条目,这时候我们可以使用下面的命令:
Get-NTFSAccess –Path C:Data
上面命令列出每个访问文件夹的账户/安全组、访问权限、应用权限、权限类型以及IsInherited和InheritedFrom标志(见图1)。
授予文件夹访问权限与查看现有权限一样简单。你需要使用Add-NTFSAccess cmdlet。另外还需要指定路径、账户和访问权限。这里使用例子说明。假设“Everyone”都能安全访问到C:Data文件夹。需要使用以下命令:
Add-NTFSAccess –Path C:Data –Account Everyone –AccessRights FullControl
现在,我已经添加了权限,让每个人都能访问C:Data,并且利用Get-NTFSAccess cmdlet验证权限(图2)。
即使能够将权限授权给所有人,通常来说必须确认账户位置(图2)。例如,一些已有的权限位置为BUILTIN或NT AUTHORITY。在实际操作中,通常会指定一个连带用户组名或用户名的域名。例如,如果你想授权访问Contoso域中的Finance组,那么账户名为ContosoFinance。
删除NTFS权限有点棘手。需要用到的命令是Remove-NTFSAccess。接着上面的例子,你必须确认路径、账户名称以及打算删除的权限。例如,如果你想删除C:Data文件夹Everyone中的FullControl权限,你需要使用以下命令:
Remove-NTFSAccess –Path C:Data –Account Everyone –AccessRights FullControl
该命令有点棘手的原因在于,你无法删除继承权限。而且,删除的权限必须与目前分配给该帐户的权限准确匹配。如果匹配失误,则命令无效。
因为有时难以完全精准匹配权限,所以使用几个命令一起删除权限会更加方便。假如你想删除C:Data文件夹Everyone的所有权限,不必手工匹配权限,你可以使用PowerShell读取该权限然后进行删除该。代码如下:
Get-NTFSAccess –Path C:Data –Account Everyone –ExcludeInherited | Remove-NTFSAccess
如果你想从整个文件夹树中删除权限,可以递归使用该命令(图3)。
作者
相关推荐
-
应用PowerShell进行SharePoint Online管理
在应用PowerShell在线管理SharePoint之前,管理员需要进行一系列准备工作,例如下载SharePoint Online Management Shell等。
-
两种方式将Windows容器部署到微软Azure中
想要创建并管理Windows Server容器吗?本文将会介绍如何利用本地Docker命令和PowerShell模块来实现以上目标。
-
PowerShell脚本示例及管理员参考指南
精明的Windows专业人士和管理员甚至也会做出比卷子袖子干事更加愚笨的事情,为了实现自动化任务,他们需要了解脚本语言以及所有PowerShell工具。
-
如何使用PowerShell管理Windows服务
管理员如何在本地或者远程计算机上操控服务,面对变几十台甚至几百台机器时,PowerShell就派上用场了。