首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cacls、Windows 7、完全权限、本地名称

Cacls、Windows 7、完全权限、本地名称
EN

Stack Overflow用户
提问于 2012-02-02 21:32:20
回答 1查看 9.6K关注 0票数 3

我需要使用(在win7上已弃用) Cacls授予对文件夹的完全访问权限。在我看来,我必须使用cacl、本地化用户名和组名。例如:

代码语言:javascript
复制
cacls foldername /T /E /C /G Users:F

这给了我一个错误“没有在帐户名和安全ID之间进行映射”。下一条命令运行正常(俄语中的用户=Пользователи)。

代码语言:javascript
复制
cacls foldername /T /E /C /G Пользователи:F

如何在不考虑系统语言的情况下授予对文件夹的完全权限?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-02 22:37:13

按照here的说明使用xcacls,并使用SIDs而不是名称(您将找到众所周知的sids here)

如果您由于某种原因而使用cacl,那么google: cacls sid将为您提供一些变通方法,如何进行从sid到名称的反向映射,然后将其提供给cacl。

编辑:忍不住要学习一些新技巧……这个简单的脚本将为您提供给定PC上'Users‘(S-1-5-32-545)组的实际名称:

代码语言:javascript
复制
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set objAccount = objWMIService.Get ("Win32_SID.SID='S-1-5-32-545'")
    Wscript.Echo objAccount.AccountName

将其放入一个带有vbs扩展名的文件中(假设为usersName.vbs)。

现在运行:

代码语言:javascript
复制
echo Y|for /f "delims=" %i in ('cscript -Nologo usersName.vbs') do cacls foldername /G "%i":F

完成:-)

编辑:更正为如果名称中有空格,则可以工作(添加了delims=)。还请注意,如果您使用英语版本的工具,则start 中的echo Y可以正常工作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9113206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档