我目前正在创建Windows服务应用程序,该应用程序将监视对HKEY_USERS注册表中某些键所做的更改.我这样做的方法是收集当前用户的SID.我遇到的问题是由于当前作为本地系统运行的服务,它返回了管理员SID.我需要系统执行的...
我目前正在创建Windows服务应用程序,该应用程序将监视对HKEY_USERS注册表中某些键所做的更改.我这样做的方法是收集当前用户的SID.我遇到的问题是由于当前作为本地系统运行的服务,它返回了管理员SID.
我需要系统执行的操作是收集并返回当前登录用户的SID(这并不意味着本地服务,本地系统或网络服务,而是通过GINA登录Windows的人),所以我需要服务将以该用户身份运行.这也将允许该服务写回用户网络驱动器,这是此程序的目的.
我遇到的问题是,当我尝试使用installutil.exe安装用户服务时,它会要求输入用户名和密码,而现在我已经尝试了自己的凭据(我有一个admin和非admin帐户),但是没有拥有其中的任何一项,我希望用户根据登录的人进行更改,而不要固定下来.有什么办法吗?
解决方法:
这一切似乎有些混乱.可以有许多人通过远程桌面等登录.如果您作为服务者想查看其注册表,则绝对不会通过HKCU到达那里.如果您想要这样的话,应该使用自动运行的exe而不是服务.诸如检查会话并向其中注入内容以访问会话中已加载的注册表配置单元之类的任何事情都是过大的杀伤力,并且不可能以任何方式清除.
本文标题为:c#-以用户身份安装Windows服务
基础教程推荐
- C#操作注册表的方法 2023-03-29
- C#调用JS的几种方法 2023-03-28
- 在C#程序中注入恶意DLL的方法详解 2023-07-04
- c#-无法激活Windows应用商店应用.激活请求失败,错误为“访问被拒绝” 2023-11-26
- C# 添加PDF页眉/页脚的示例代码 2022-12-31
- C#实现简易灰度图和酷炫HeatMap热力图winform(附DEMO) 2023-05-11
- c# SqlDataAdapter中的Fill是怎么实现的 2023-03-09
- WPF在VisualTree上增加Visual 2023-06-21
- Unity3D实现摄像机镜头移动并限制角度 2023-02-17
- 一文看懂C#中List的扩容机制 2023-02-17