在C#中,我有一个远程停止并启动服务的脚本。 问题是,只有停止服务。
我需要启动/停止服务,因为必须停止其他服务。 它可能不是ServiceController,因为我已经禁用了WMI。
InitialSessionState initial = InitialSessionState.CreateDefault();
Runspace runspace = RunspaceFactory.CreateRunspace(initial);
runspace.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;
ps.AddCommand("Get-Service"); //STOP
ps.AddParameter("ComputerName", textBox7.Text);
ps.AddParameter("Name", "spooler*");
ps.AddCommand("Stop-Service");
ps.AddParameter("force");
//ps.AddCommand("Remove-Item"); //QUEUE
ps.AddCommand("Get-Service"); //START
ps.AddParameter("ComputerName", textBox7.Text);
ps.AddParameter("Name", "spooler*");
ps.AddCommand("Start-Service");
ps.Invoke();
答案 0 :(得分:1)
哦,我找到了解决方案: 只需要命令之间的Add.Statement。
ps.AddCommand("Get-Service");
ps.AddParameter("ComputerName", textBox7.Text);
ps.AddParameter("Name", "spooler*");
ps.AddCommand("Stop-Service");
ps.AddParameter("force");
ps.AddStatement();
ps.AddCommand("Get-Service");
ps.AddParameter("ComputerName", textBox7.Text);
ps.AddParameter("Name", "spooler*");
ps.AddCommand("Start-Service");
答案 1 :(得分:0)
您可以像这样使用ServiceController类:
ServiceController sc = new ServiceController("ArcGIS Server", "192.168.36.22");
sc.Start();
sc.Stop();