我正在尝试在.NET服务中启动程序(在"本地服务" Win2012计算机上的帐户下安装和运行)。
只要我们不尝试更改用户上下文,一切都很好,但如果ProcessStartInfo实例提供了用户名,域名和密码,我们在调用Process.Start时会收到以下消息:
"登录失败:未在此计算机上授予用户请求的登录类型"
在事件日志中我看到失败是指登录类型2,它是" interactive"的代码。
我以为我可以通过"本地安全策略"来分配该权利,但只有一个权利"作为服务登录"并且一个"作为批处理作业登录",而不是专门用于"以交互方式登录"。
我检查的第二件事是,在启动程序时,可以将登录类型更改为我可以分配给技术用户的内容(5 - "作为服务登录"在这种情况下)。 / p>
我知道登录类型是我在进行模拟等操作时提供的,但是我没有看到为ProcessStartInfo实例设置登录类型的可能性,没有任何属性。
我错过了什么?
答案 0 :(得分:1)
您使用的用户无权在本地登录计算机。转到' 管理工具'并双击' 本地安全政策'。
选择并展开' 本地政策'并选择用户权利分配'。在右侧窗格中,有一项政策允许本地登录'您必须添加需要访问权限的用户。