如何使用C#编程安装系统服务以使用组管理服务帐户(gMSA)?

3
我正在部署公司系统到一个新环境中,我们的IT团队给了我一份服务账户清单,每个系统服务都有对应的账户。然而,他们告诉我这些账户是组管理服务账户(gMSAs),它们由“密钥分发服务”进行管理,因此没有密码。
我以前没有使用过gMSAs,但我们的安装程序源代码很简单,但由于缺少密码,无法正常工作。
var process = new ServiceProcessInstaller() {
    Account = ServiceAccount.User,
    Username = <username>,
    Password = <password>,
};
var service = new ServiceInstaller() {
    ServiceName = <code_name>,
    DisplayName = <pretty_name>,
};
service.ServicesDependedOn = <dependencies>;
service.StartType = ServiceStartMode.Automatic;
service.DelayedAutoStart = true;

Installers.Add(process);
Installers.Add(service);
base.Install(stateSaver);

如何修改我的服务安装程序,以在没有提供密码的情况下使用gMSA。我(或另一个具有管理员权限的用户)将手动安装服务。
1个回答

4
我已经解决了这个问题;有几个地方需要更改。
首先,账户的用户名需要在后面加上$。因此,原来的domain\sysuser变成了domain\sysuser$
接下来,我需要使用null作为密码,而不是string.Empty

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接