我有一个用vb编写的网页,我需要启动一个将安装在服务器上的Windows服务。
答案 0 :(得分:0)
尚未测试。
如果有效,请尝试。你可以在btn click事件中添加以下代码。
dim controller as new ServiceController
controller.MachineName = "." //try the machine name
controller.ServiceName = "service name"
dim status as string = controller.Status.ToString
' Stop the service
controller.Stop()
' Start the service
controller.Start()
答案 1 :(得分:0)
根据网站帐户的权限,您可以启动/停止服务。
除了其他人已经回答的内容之外,您还可以使用适当的参数来NET START
。
只要授予权限,您也可以为远程计算机执行此操作(我认为它必须是域帐户)。
答案 2 :(得分:0)
首先需要添加对System.ServiceProcess程序集的引用。以下代码大致为您提供了您想要做的事情(我在下面使用名为 messageLabel 的Label控件):
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class StartService : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string serviceName = "Remote Registry";
try
{
StartServiceByName(serviceName);
}
catch (Exception ex)
{
messageLabel.Text = ex.ToString().Replace("\r\n", "<BR>");
return;
}
messageLabel.Text = String.Format("Service {0} started.", serviceName);
}
private void StartServiceByName(string serviceName)
{
ServiceController serviceController = new ServiceController(serviceName);
serviceController.Start();
}
}
但是,还有一件事 - 您需要让Web服务器有权更改此服务 - 这通常只能通过管理权限来完成。