windows 下用户权限管理

58 天前
eatFruit  eatFruit
碰到一个需求,要求可以傻瓜式创建 windows 用户并且修改该用户对单个文件夹的权限的,创建的用户不能删除这个文件夹及其下的所有文件。写了个简单的脚本文件,但是修改权限后登录另一个账户进入修改了权限的文件夹后总是提示没有访问权限。请问我有哪些地方做的不对吗。下面是我的 bat 脚本

echo on

set userName=test

echo %userName%

set pathParent=%~dp0

set filePath=%pathParent%testFile

echo %filePath%

if exist "%filePath%" (
echo yes
) else (

mkdir "%filePath%"
echo no
)

set isExist=0

net user %userName% >nul 2>nul && set isExist=1 || set isExist=0

if %isExist% equ 1 (
echo 存在
) else (
echo 不存在
net user %userName% /add
)

net user %userName% >nul 2>nul && set isExist=1 || set isExist=0

echo %isExist%

net localgroup Users %userName% /add

@REM icacls %filePath% /deny %userName%:(DC,D)


pause
1111 次点击
所在节点   Windows  Windows
7 条回复
NoOneNoBody
NoOneNoBody
58 天前
%testFile 在哪定义的?
%~dp0 就是父级目录的权限如何,NTFS 是默认继承,如果其他用户本来就不能访问,下面创建也是不能访问的

其他用户指的是网络登录用户?他们好像也不在权限许可内啊,就是不在 group 内
Tumblr
Tumblr
58 天前
bat 过于反人类,这个用 powershell 会直观很多。
geelaw
geelaw
58 天前
先走路再跑步。第一步是用手工( GUI )完成你说的步骤,确保没问题之后再转换为程序,然后如果出错的话只需要研究程序和手工的区别就行了。
eatFruit
eatFruit
55 天前
@NoOneNoBody 没有定义过%testFile ,%pathParent%是获取到的路径,后面拼接 testFile 作为需要操作的文件路径。
eatFruit
eatFruit
55 天前
@NoOneNoBody 其他用户是使用这台电脑的账户,不是网络登录用户。
eatFruit
eatFruit
55 天前
@geelaw 手工创建新的用户并给用户修改权限已经做到了,没有问题,但是脚本一直会出现修改权限后用户就无法访问文件夹的问题。
eatFruit
eatFruit
55 天前
@Tumblr 没试过,我试试。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1099277

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX