没有足够的权限批量更改Windows组权限

我写了一个batch file,在当前目录中创build多个文件夹和子文件夹。 一个文件夹的组权限也被改变。 这在我的本地工作站上以pipe理员权限运行,但在服务器上不起作用,因为我没有足够的权限。

此批次也应该由其他非pipe理员用户使用,他们无权更改文件夹的权限,因此无权给予他们这个权限。

看完这个评论之后 ,解决scheme似乎很明显:

  1. 编写一个VBScript,它改变给定文件夹的权限(文件夹名称是参数)
  2. 作为Windows服务运行VBScript(以pipe理员身份运行)
  3. 然后更改批处理,以便调用Windows服务(将文件夹作为parameter passing)

我的问题是:如何批量发送命令到Windows服务? 服务要以何种方式来执行,接受这个命令并对其进行处理?

您可以检查RunAsService ,它应该能够启动一个或多个应用程序作为Windows服务。

你可能也想看看这个 。

sc start命令允许您指定将传递给服务的ServiceMain函数的选项。

我不知道现有的“运行应用程序即服务”解决scheme是否会将这些parameter passing给应用程序,但实现起来不是太难。

确保您仔细validation文件夹名称。 例如,您不希望某人能够重置c:\folders\..\windows\system32上的权限。