我编写了一个批处理文件,它在当前目录中创建多个文件夹和子文件夹。一个文件夹的组权限也发生了更改。这在具有管理员权限的本地工作站上有效,但在服务器上无效,因为我没有足够的权限。
其他非管理员用户也应该使用此批次,他们无权更改文件夹的权限,并且没有选择授予他们此权限。
看完之后此评论,解决方案似乎很明显:
- 编写一个 VBScript,更改给定文件夹的权限(文件夹名称是参数)
- 将 VBScript 作为 Windows 服务运行(以管理员身份运行)
- 并更改批处理,以便调用 Windows 服务(将文件夹作为参数传递)
我的问题是:批处理如何向 Windows 服务发送命令?服务必须以什么方式实现才能接收并处理该命令?
答案1
答案2
该sc start
命令允许您指定将传递给服务的选项ServiceMain
功能。
我不知道现有的任何“将应用程序作为服务运行”解决方案是否会将这些参数传递给应用程序,但实现起来应该不太难。
c:\folders\..\windows\system32
请务必仔细验证文件夹名称。例如,您不希望有人能够重置 的权限。