使用 takeown 命令和 icacls 命令获取文件所有权限

温馨提示:本文最后更新于2024-12-04 00:44:51,某些文章具有时效性,若有错误或已失效,请在文末留言。

在 Windows 系统中,我们经常会遇到一些文件或文件夹没有权限而无法进行修改操作的问题,通常情况下,我们可以在文件或文件夹属性的 [安全] 中进行获取权限操作,如下图。

使用 takeown 命令和 icacls 命令获取文件所有权限 Windows 教程 第1张

不过还有一种更加简单的方法:使用 takeown 命令和 icacls 命令来获取权限,可以对很多平时遇到的无法自由管理的文件进行强制管理,例如:文件改名、文件替换或删除之类的操作。

takeow命令

takeow 命令可以获得对文件或文件夹的所属权。

命令说明
takeown /f 文件名获取该文件的所属权
takeown /f /r /d n 文件夹获取整个文件夹及其下面子目录文件的所属权

详细的技术文档:https://technet.microsoft.com/zh-cn/library/cc755342(WS.10).aspx

使用 takeown 命令和 icacls 命令获取文件所有权限 Windows 教程 第2张

icacls命令

icacls命令可以获得文件或文件夹的控制权。

命令说明
icacls c:\windows\* /save AclFile /T保存
icacls file /grant Administrator:(D,WDAC)赋权
icacls c:\windows\ /restore AclFile恢复

详细的技术文档:https://technet.microsoft.com/zh-cn/library/cc755611(v=ws.10).aspx

举例说明

net stop TermService /y
takeown /F C:\Windows\System32\termsrv.dll /A
icacls C:\Windows\System32\termsrv.dll /grant Administrators:F
del /F /S /Q "C:\Windows\System32\termsrv.dll"
copy termsrv.dll C:\Windows\System32\termsrv.dll
net start TermService

上面这些命令主要是用于在 Windows 系统中启用远程桌面服务(Terminal Services),并且对系统中的 termsrv.dll 文件进行一些操作。下面是对每条命令的解释:

命令说明
net stop TermService /y确定停止 Terminal Services 服务
takeown /F C:\Windows\System32\termsrv.dll /A获取 termsrv.dll 文件的所有权
icacls C:\Windows\System32\termsrv.dll /grant Administrators:F给 Administrators 用户组授予对 termsrv.dll 文件的完全控制权限
del /F /S /Q "C:\Windows\System32\termsrv.dll"强制删除系统中的 termsrv.dll 文件
copy termsrv.dll C:\Windows\System32\termsrv.dll将 termsrv.dll 文件复制到 C:\Windows\System32\ 目录下
net start TermService启动 Terminal Services 服务
copy C:\Windows\System32\termsrv.dll %~dp0
takeown /F termsrv.dll /A
icacls termsrv.dll /grant Administrators:F
命令说明
copy C:\Windows\System32\termsrv.dll %~dp0将系统中的 termsrv.dll 文件复制到批处理文件所在的目录(%~dp0 是批处理文件中用来获取当前目录路径的特殊变量)
takeown /F termsrv.dll /A获取当前目录下的 termsrv.dll 文件的所有权
icacls termsrv.dll /grant Administrators:F给 Administrators 用户组授予对 termsrv.dll 文件的完全控制权限
✅来源:十一张博客
© 版权声明
THE END
如果觉得这篇文章对您有帮助,可以收藏本网址,方便下次访问!
点赞2 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容