我需要用户能够将网络共享上的文件夹复制到同一共享上的另一个文件夹。他们还需要复制安全性。他们无法使用正常登录的帐户,因为它没有足够的权限(该文件夹是“模板”文件夹,并使用限制性 NTFS 安全性锁定)。
因此我创建了一个具有完全权限的代理帐户和一个调用 runas 的批处理文件,如下所示
运行方式/noprofile/env/用户:[电子邮件保护]复制文件夹.cmd
copy_folder.cmd 仅包含一个用于复制文件夹的 robocopy 命令。
runas 失败,并显示“无法找到文件 copy_folder.cmd”。Z: 映射正确,我尝试过不使用 /noprofile 和 /env 开关的 runas,但仍然出现同样的错误。
我应该使用什么语法来让 runas 找到 copy_folder.cmd?
答案1
即使使用 /env 开关,网络共享也不会作为 runas 的一部分被带过来。我会使用 UNC 路径到 Z: 驱动器映射。
答案2
可能需要预先映射代理帐户的 Z:
答案3
据我所知,runas
支持将 UNC 路径指定为程序参数。robocopy
我想也会处理它。因此,您可以按照 Zypher 的建议使用 UNC 路径。
但是你如何在该调用中提供密码runas
?是什么触发了该例程?如果你过去/savecred
存储密码,那么它会存储在用户的设置中,你需要为每个用户保存它。更糟糕的是,如果用户愿意,他可以以纯文本形式获取此密码。