私は以下のコードを使用して、リモートサーバーアップタイプのサービス開始をC#を使用して手動/自動に変更しています。ここリモートマシンのサービス開始タイプを遅延(自動)に変更する
public static void ChangeServiceStartupType()
{
string query1 = "select * from Win32_Service where name = 'myservice' ";
string server = "servername";
ConnectionOptions connectoptions = new ConnectionOptions();
connectoptions.Username = @"username";
connectoptions.Password = "password";
ManagementScope scope = new ManagementScope(@"\\" + server + @"\root\cimv2");
scope.Options = connectoptions;
scope.Connect();
ObjectQuery query = new ObjectQuery(query1);
ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get();
foreach (ManagementObject mo in managementObjectSearcher.Get())
{
string name = mo.Properties["Name"].Value.ToString().Trim().ToLower();
string state = mo.Properties["State"].Value.ToString().Trim();
string startmode = mo.Properties["StartMode"].Value.ToString().Trim();
changemode(mo, "Automatic");
}
}
はchangemodeでchangemode方法
private static void changemode(ManagementObject mo, string startmode)
{
ManagementBaseObject inParams = mo.GetMethodParameters("ChangeStartMode");
inParams["startmode"] = startmode;
ManagementBaseObject outParams = mo.InvokeMethod("ChangeStartMode", inParams, null);
startmode = mo.Properties["StartMode"].Value.ToString().Trim();
}
Iにパラメータを渡す手動又は自動ある(オブジェクト、STARTMODEパラメータ)サービスは、自動からタイプ変更を起動マニュアルに、その逆にただし、自動(遅延開始)に変更することはできません。
私は自動(遅延開始)は、どのように私はこれを達成ん、自動遅延、遅延オートを試してみましたか?
感謝@Styを開始する方法について
その他のドキュメント。私はそれを行う方法を考え出した:) –