c#-以用户身份安装Windows服务

我目前正在创建Windows服务应用程序,该应用程序将监视对HKEY_USERS注册表中某些键所做的更改.我这样做的方法是收集当前用户的SID.我遇到的问题是由于当前作为本地系统运行的服务,它返回了管理员SID.我需要系统执行的...

我目前正在创建Windows服务应用程序,该应用程序将监视对HKEY_USERS注册表中某些键所做的更改.我这样做的方法是收集当前用户的SID.我遇到的问题是由于当前作为本地系统运行的服务,它返回了管理员SID.

我需要系统执行的操作是收集并返回当前登录用户的SID(这并不意味着本地服务,本地系统或网络服务,而是通过GINA登录Windows的人),所以我需要服务将以该用户身份运行.这也将允许该服务写回用户网络驱动器,这是此程序的目的.

我遇到的问题是,当我尝试使用installutil.exe安装用户服务时,它会要求输入用户名和密码,而现在我已经尝试了自己的凭据(我有一个admin和非admin帐户),但是没有拥有其中的任何一项,我希望用户根据登录的人进行更改,而不要固定下来.有什么办法吗?

解决方法:

这一切似乎有些混乱.可以有许多人通过远程桌面等登录.如果您作为服务者想查看其注册表,则绝对不会通过HKCU到达那里.如果您想要这样的话,应该使用自动运行的exe而不是服务.诸如检查会话并向其中注入内容以访问会话中已加载的注册表配置单元之类的任何事情都是过大的杀伤力,并且不可能以任何方式清除.

本文标题为:c#-以用户身份安装Windows服务

基础教程推荐