2016-09-12 20 views
2

私は自分の会社のシステムを新しい環境に導入しており、ITグループから私たちのシステムサービスごとに使用するサービスアカウントのリストが私に与えられています。しかし、彼らはアカウントがGroup Managed Service Accounts(または略してgMSAs)であり、「Key Distribution Service」によって管理されているため、パスワードがないと言ってきました。グループマネージドサービスアカウント(gMSA)を使用するためにC#を使用してプログラムでシステムサービスをインストールするにはどうすればよいですか?

以前は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を使用する方法を教えてください。私(または管理者権限を持つ他のユーザー)はサービスを手動でインストールします。

答えて

2

私はこの問題を解決できました。私が変えなければならないことがいくつかあります。

最初に、アカウント名の末尾に$を追加する必要があったため、domain\sysuserの代わりにdomain\sysuser$でした。

次に、string.Emptyの代わりにnullをパスワードとして使用する必要がありました。

関連する問題