中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 怎样用批处理设置共享权限 上一主题 | 下一主题
wxs81514
初级用户





积分 118
发帖 52
注册 2008-5-7
状态 离线
『楼 主』:  怎样用批处理设置共享权限

我们每增加一台工作站(比如RC205),要在服务器上作一些动作: 1.新建一个用户为RC205 2.在E:\bak下新建一个文件夹为RC205 3.设置RC205的安全权限为administrator和RC205用户可读写. 4.共享该文件夹,共享为所有人可读写(我们通过安全属性控制访问权限) 请各位帮忙看能不能把上述内容用批处理写出来.先谢了! 如果电脑名称能从一个文件中读取更好,比如建一个电脑名称一览表,当我们新增电脑时,我们把这台电脑的电脑名登记在这个文件中,然后批处理会检测到新增加内容,对应做上面一系列的操作.


2008-5-14 14:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

1. net user RC205 password /add 2. md "E:\bak\RC205" 3. 在本版搜索setacl 4. net share myshare=E:\bak\RC205


   此帖被 +1 点积分    点击查看详情   
评分人:【 wxs81514 分数: +1  时间:2008-5-14 20:30


2008-5-14 16:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wxs81514
初级用户





积分 118
发帖 52
注册 2008-5-7
状态 离线
『第 3 楼』:  

非常感谢谢二楼的朋友,了解到setacl是一个很有用的工具,它不但可以设置注册表\文件夹的权限,还可以设共享的权限,不知道它能不能备份共享权限. 我找不到它的程序下载,可否再帮忙发一个上来.


2008-5-14 20:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wxs81514
初级用户





积分 118
发帖 52
注册 2008-5-7
状态 离线
『第 4 楼』:  

下到了,研究了好久还是不知道怎么用,高手举个例子好不好? 比如:把e:\bak\rc205设置为只有rc205和administrator这两个用户可读写


2008-5-14 20:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

Originally posted by wxs81514 at 2008-5-14 08:52 PM: 下到了,研究了好久还是不知道怎么用,高手举个例子好不好? 比如:把e:\bak\rc205设置为只有rc205和administrator这两个用户可读写
这样可以吗?
@echo off
cacls "e:\bak\rc205" /g administrator:f
cacls "e:\bak\rc205" /g rc205:f /e


   此帖被 +2 点积分    点击查看详情   
评分人:【 wxs81514 分数: +2  时间:2008-5-15 10:03


2008-5-14 23:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wxs81514
初级用户





积分 118
发帖 52
注册 2008-5-7
状态 离线
『第 6 楼』:  

太激动了,又学会了一个新命令,cacls,很好用,谢谢了.比setacl要简单多了.而且可以内部调用,不用专门下载. 不过如果能实现从文件中读取电脑名称就更好了.


2008-5-15 10:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  

Originally posted by wxs81514 at 2008-5-15 10:03 AM: 太激动了,又学会了一个新命令,cacls,很好用,谢谢了.比setacl要简单多了.而且可以内部调用,不用专门下载. 不过如果能实现从文件中读取电脑名称就更好了.
试试这个吧:
@echo off
for /f "tokens=2 delims==" %%a in ('wmic datafile where "Name='c:\\test\\a.txt'" get CSName /value ^| findstr /i "CSName"') do echo 计算机名:%%a


2008-5-15 10:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wxs81514
初级用户





积分 118
发帖 52
注册 2008-5-7
状态 离线
『第 8 楼』:  

不行,显示"无可用范例"


2008-5-15 14:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 9 楼』:  

Originally posted by wxs81514 at 2008-5-15 02:45 PM: 不行,显示"无可用范例"
我的测试文件是C:\test\a.txt 请根据实际需要修改代码




2008-5-15 14:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wxs81514
初级用户





积分 118
发帖 52
注册 2008-5-7
状态 离线
『第 10 楼』:  

前面是我弄错,但改了一下还是不行,显示: 节点-RC303 错误: 代码:0x80041017 说明=无效查询 设备=WMI


2008-5-15 18:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 11 楼』:  

能否把你的测试代码贴出来看看?




2008-5-16 11:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wxs81514
初级用户





积分 118
发帖 52
注册 2008-5-7
状态 离线
『第 12 楼』:  

代码是:因为我的文件是C盘上的a.txt for /f "tokens=2 delims==" %%a in ('wmic datafile where "Name='c:\a.txt'" get CSName /value ^| findstr /i "CSName"') do echo 计算机名:%%a 现在有一个新的代码了,我测试了可以: for /f "tokens=1" %%i in (A.TXT) do echo 电脑名称:%%i


2008-5-16 14:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 13 楼』:  

原来你的“从文件中读取电脑名称”是这个意思,呵呵。




2008-5-16 15:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wxs81514
初级用户





积分 118
发帖 52
注册 2008-5-7
状态 离线
『第 14 楼』:  

兄弟你原来没理解我的意思啊,不好意思,是我没有说清楚.还是谢谢你.


2008-5-16 15:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: