【问题标题】:Windows service installation assigning to the created user分配给创建的用户的 Windows 服务安装
【发布时间】:2012-04-27 20:16:59
【问题描述】:

每当安装/重新安装 Windows 服务时,我都想将设置的用户分配给该服务,即。如果服务在用户 test123 下使用密码运行,我需要确保安装程序运行时服务附加到同一用户(而不是任何本地系统(System.ServiceProcess.ServiceAccount.LocalSystem))。


    //Check whether my service exists- MyWinService is my service name.

     System.Management.SelectQuery sQuery = new System.Management.SelectQuery(string.Format("select Name,startname from Win32_Service where name ='MyWinService' ")); 
 using (System.Management.ManagementObjectSearcher mgmtSearcher = new System.Management.ManagementObjectSearcher(sQuery))
{
                        foreach (System.Management.ManagementObject service1 in mgmtSearcher.Get())
            {
string servicelogondetails =
string.Format("Name: {0} ,  Logon : {1} ", service1["Name"].ToString(), service1["startname"]).ToString();
MessageBox.Show(servicelogondetails).ToString();
              }
 }

我无法找到密码属性来分配它(我不想查看/阅读,只是分配回来)。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394418(v=vs.85).aspx

System.ServiceProcess.ServiceProcessInstaller installer=new
System.ServiceProcess.ServiceProcessInstaller(); 

installer.Account = System.ServiceProcess.ServiceAccount.User;

我的问题是,如果我分配给 ServiceAccount.User,我是否需要再次设置用户名和密码,或者它的 ServiceAccount.User 是否会处理用户名和密码? 如果我需要将密码分配回安装程序,我该怎么做?提前致谢。

installer.Password = <<something>>;
installer.Username = <<something>>;

PS:System.Management.dll 被引用到项目中并且使用 System.Management 被添加到命名空间,以便 System.Management.SelectQuery 工作。

【问题讨论】:

    标签: c# visual-studio windows-services installation remoting


    【解决方案1】:

    为安装程序分配用户名和密码是可选的。如果没有通过,安装服务时会提示。

    如果您想分配用户名和密码,您可以通过读取一些外部配置文件并分配它们来实现。

    我不知道有一种方法可以从现有服务中检索用户凭据并分配它们。

    【讨论】:

    • 我可以从上面的代码中通过 service1["Name"].ToString() 获取用户名,我所要做的就是获取和分配密码,这样我就可以避免弹出安装时出现。
    • 对不起来自 s​​ervice1["startname"].ToString(); //对于用户名
    猜你喜欢
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    相关资源
    最近更新 更多