Windows服务记录错误的用户名

时间:2011-03-07 19:52:51

标签: c# service wmi

我在几台计算机上安装了Windows服务。我不得不以本地管理员身份登录,因为用户没有本地管理员权限。现在问题出现在我的计算机上,具有本地管理员权限,它记录我的用户名就好了,但在我必须从Admin it Logs Administrator安装的计算机上。我正在使用WMI来获取此信息。

 ConnectionOptions oConn = new ConnectionOptions();
        System.Management.ManagementScope oMs = new System.Management.ManagementScope("\\\\localhost", oConn);


        System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery("select * from Win32_ComputerSystem");
        ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery);
        ManagementObjectCollection oReturnCollection = oSearcher.Get();

        foreach (ManagementObject oReturn in oReturnCollection)
        {
            userName = oReturn["UserName"].ToString().ToLower().Split('\\')[1];
        }

这真让我感到困惑。他们已登录,但它显示管理员?任何人都能够澄清为什么会这样。

1 个答案:

答案 0 :(得分:3)

如果您希望服务记录您的姓名,则需要使用您的凭据进行安装。

服务以他们已安装的用户身份运行 - 他们不知道登录用户(如果有多个用户同时登录,他们应该录制哪一个?)。

Windows服务的重点在于它无需任何人登录即可运行。