1

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.SelectQueryが機能するために、System.Managementを使用して名前空間に追加されています。

4

1 に答える 1

0

UserName、Passwordのインストーラーへの割り当てはオプションです。合格しなかった場合は、サービスのインストール時にプロンプ​​トが表示されます。

userNameとpasswordを割り当てる場合は、外部構成ファイルを読み取って割り当てることができます。

既存のサービスからユーザークレデンシャルを取得して割り当てる方法があることを私は知りません。

于 2012-04-27T20:31:02.393 に答える