我想要运行一个进程(不是服务)不同的用户在 Microsoft Windows Server 上,我需要最低限度的权利这是实现这一目标所必需的。
需要最少的权限集,因为该用户不应该能够登录并仅访问所需的资源。
类似这样的事情应该可以工作:
Start-Process -Credential $cred -FilePath calc.exe
我研究了用户权利政策,但没有取得显著的成功。
答案1
参考评论,我认为用户 B 至少需要“以批处理作业身份登录”权限。如果在用户 B 的凭据下运行的进程旨在完成某些任务,则可能需要向用户 B 授予其他权限或特权,以使这些任务正常运行。
本文列出了权利和特权,并详细说明了某些任务可能需要权利或特权的情况: https://technet.microsoft.com/en-us/library/cc755971(v=ws.10).aspx
看来您想要做的是允许一个进程以用户 B 的身份在计算机上运行,即使用户 B 无法以交互方式登录,因为用户 B 具有“拒绝本地登录”权限或不是具有“允许本地登录”权限的组的成员。
“以批处理作业身份登录”将允许用户 B 执行由任务计划程序启动的进程。尝试在交互式会话(即以用户 A 身份登录)中与仅具有批处理作业权限而没有交互式权限的用户启动进程可能会失败。在这种情况下,授予用户 B 的“允许本地登录”应允许用户 B 执行该进程。唯一的问题是用户 B 可以交互式登录,这可能不是我们想要的。
一种解决方法可能是“简单地安排”该作业。用户 A 不必实际运行命令,而是设置一个任务计划作业,然后将其设置为在一分钟内(或某个时间)运行。
答案2
您需要对程序文件本身具有读取/执行权限、对程序需要读取的任何文件具有读取权限以及对程序需要写入的任何位置具有写入权限。实际上,这与 *nix 并没有什么不同。