我正在尝试将我的c#exe作为系统帐户运行。我怎样才能做到这一点。我已经尝试<requestedExecutionlevel level="requireAdministrator"> and <requestedExecutionlevel level="requireSystem">
管理员正在工作,但第二个不工作。
请帮帮我怎样才能做到这一点。
答案 0 :(得分:6)
据我所知,您无法强制您的应用以SYSTEM身份运行。您的应用必须是服务且服务设置为以系统身份运行,或者您必须使用PsExec之类的工具将可执行文件作为系统启动。
psexec.exe -i -s YourProgram.exe
使用requestedExecutionlevel
时,只有3个有效选项
requireAdministrator
- 始终提示UAC(即使用户不是管理员)。asInvoker
- 永远不会提示UAC。highestAvailable
- 如果用户是Administrators组的成员,则提示UAC,但如果用户不是该组的成员,则不提示并以普通用户身份运行。答案 1 :(得分:2)
不能直接。如果您是管理员(例如从已经运行的服务或其他东西获取安全令牌),有很多方法,但我不建议使用它们。
SYSTEM帐户的要点正是:它只能由系统直接运行。
如果您想要一个没有第三方工具(例如psexec
)的简单方法,您可以设置一个ONEEVENT
计划任务(schtasks
,其中包含exe
OS),它确实可以与系统帐户一起运行。这仍然需要两个进程(虽然它可以是相同的@Entity(noClassnameStored = true)
public class DataMart implements Serializable {
private ObjectId id;
private String name;
.
.
.
.
private Map<String, Object> validTimeRangeOfExistingData;
}
,具有不同的任务命令行参数和设置它,但它可以工作。
答案 2 :(得分:-1)
您好我找到了解决方案。如果您确实希望将exe作为系统帐户运行,则需要创建Windows服务并将其作为本地系统帐户启动。您将能够看到一个exe正在任务管理器上运行,同时还有一个系统帐户用户。 这就是我需要知道的。