我在几台计算机上安装了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];
}
这真让我感到困惑。他们已登录,但它显示管理员?任何人都能够澄清为什么会这样。
答案 0 :(得分:3)
如果您希望服务记录您的姓名,则需要使用您的凭据进行安装。
服务以他们已安装的用户身份运行 - 他们不知道登录用户(如果有多个用户同时登录,他们应该录制哪一个?)。
Windows服务的重点在于它无需任何人登录即可运行。