作为本地系统或本地服务运行的C#Windows服务是否可以在不需要该用户密码的情况下模拟其他用户?
怎么做?
注意:我的动机是能够在服务中运行特定于用户的WMI查询.我正在进行的WMI调用(对于OfflineFiles WMI API)是用户敏感的,它们仅在我以我想要查询的数据的用户运行服务时才起作用.我不希望用户在安装服务时必须输入他们的用户名和密码,所以我想将服务作为本地系统或其他东西运行,并冒充我关心的用户.
我需要使用pywin32方法以其他用户身份创建进程,然后从生成的进程中获取stdout,stderr和错误代码,以及在运行时将输入提要到进程中。问题是,我似乎无法为createprocess函数找到一个很好的例子。由于我需要以其他用户身份运行子进程,然后获取stderr,stdout,输入stdin并在完成后获取错误代码,这一事实使问题变得更加复杂。