【问题标题】:How can I install a service under a different account than the LocalSystem account using Win32 API?如何使用 Win32 API 在与 LocalSystem 帐户不同的帐户下安装服务?
【发布时间】:2010-05-20 07:27:35
【问题描述】:

如何使用 Win32 API 在与 LocalSystem 帐户不同的帐户下安装服务?

我正在使用以下代码来安装服务。我想在不同的帐户下安装此服务。最后两个参数采用用户名和密码,但是当我给出时它会引发错误。有没有什么具体的方法可以在这里提供用户名和密码?

IntPtr sv_handle = CreateService(sc_handle, svcName, svcDispName,
                     SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,
                     SERVICE_AUTO_START, SERVICE_ERROR_NORMAL,
                     svcPath, null, 0, null, null, null);

【问题讨论】:

  • 您遇到了什么错误?
  • "lpServiceStartName 参数中指定的用户账户名不存在。"

标签: c# windows winapi windows-services


【解决方案1】:

lpServiceStartName 使用什么格式?

如果用户名是本地用户名或工作组的一部分,则必须是 machinename\\username(或 .\\username),否则应该是 domainname\\username。

【讨论】:

  • 完美回答我想要的(域\\用户名)...我尝试使用域\用户名,它给出了错误 22。非常感谢。一个“\”可以产生很大的不同
猜你喜欢
  • 1970-01-01
  • 2020-05-12
  • 2011-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
相关资源
最近更新 更多