我在 Windows 7 计算机上以管理员权限运行了一个批处理。该批处理必须运行另一个批处理,该批处理应访问映射的网络驱动器。但是,网络驱动器仅为登录用户的非管理员部分映射。由于第二个批处理不需要管理员权限,我希望它以受限用户身份运行,这样它就可以访问映射的驱动器。有什么办法吗?
为了明确我想要的,我希望得到以下流程:
- 用户埃兰登录个人电脑。埃兰是本地管理员。
- 埃兰运行脚本文件以管理员身份。
- 脚本文件运行脚本文件和埃兰的有限用户凭证(怎么做?这就是我要问的……)
- 脚本文件访问一些现在可以访问的映射驱动器。
答案1
您可以使用 runas 命令。查看runas /?
或Microsoft runas 了解更多信息. 将其放入您的 b1.bat 文件中。
runas /noprofile /user:[email protected] "C:\batch\b2.bat"
如果这不起作用,您可以在 b2.bat 文件中映射驱动器。添加net map z: \\server\share
。然后跟进net use z: /d
答案2
以 user2 身份创建计划任务。User1 执行配置为在 user2 上下文中运行的该计划任务。schtasks 是从命令行运行的界面。
“schtasks /Run /TN taskname” 将为其他用户运行批处理文件。