2011-02-07 31 views
5

我有一个使用StartInfo检索进程信息的服务(通常作为NetworkService运行)。它工作正常。StartInfo的替代权限

但客户端希望以限制用户的身份运行该服务。 (合理请求)

根据MS docs StartInfo只能由“完全信任”的用户使用。是否有其他方法可以从StartInfo获取大部分信息,而不是“完全信任”或配置受限用户的流程信息“完全可信”?

回答

0

基本上与流程相关的任何事情都需要完全信任。
所以没有,没有完全信任没有办法获得有关进程的信息。

使用Code Access Security Policy Tool分配完全信任

2

这听起来像你混淆了两个正交的安全系统:Windows用户的安全和.NET代码访问安全(CAS)。虽然使用System.Diagnostics.Process类需要CAS完全信任,但它不需要管理员用户权限,对于非管理员/受限用户来说,运行完全可信(wrt CAS)应用程序是非常可行的。

也就是说,操作系统还会限制非管理员用户可能对进程执行的操作,特别是未在自己的帐户下运行的进程。根据您的代码试图处理的流程,在不具有有效管理员权限的帐户下运行服务可能也可能不可行。