Status do serviço C # na máquina remota
Sou um programador experiente, portanto, não tenho idéia do WTH que estou fazendo:)
Em uma nota séria; não, eu não sou especialista de forma alguma. No entanto, tenho um problema e não sei como corrigi-lo. O bom é que eu (acho) sei qual é o problema e espero que alguém aqui possa ajudar.
Aqui está a sinopse do problema. Estou criando um formulário em C # que fará algumas tarefas de administração de servidor e banco de dados para mim. Eu tenho um botão que, quando clicado, deve retornar o status do serviço "x" no servidor "y". O status é impresso na tela em uma caixa de text
Aqui está o meu código:
private void button2_Click(object sender, EventArgs e)
{
string fs = "Service X Status = ";
string mr = "Service A Status = ";
string qp = "Service B Status = ";
string sp = "Spooler Service Status = ";
ServiceController fssc = new ServiceController("xService", "yServer");
ServiceController mrsc = new ServiceController("aService", "yServer");
ServiceController qpsc = new ServiceController("bService", "yServer");
ServiceController spsc = new ServiceController("Spooler", "yServer");
try
{
txtGtwySts.AppendText(sp + spsc.Status.ToString());
txtGtwySts.AppendText(Environment.NewLine);
txtGtwySts.AppendText(fs + fssc.Status.ToString());
txtGtwySts.AppendText(Environment.NewLine);
txtGtwySts.AppendText(mr + mrsc.Status.ToString());
txtGtwySts.AppendText(Environment.NewLine);
txtGtwySts.AppendText(qp + qpsc.Status.ToString());
}
catch (Exception crap)
{
string msg = "";
int i;
for (i = 0; i < crap.Message.Count(); i++)
{
msg += "Error # " + i + " Message: " + crap.Message + "\n";
}
MessageBox.Show(msg);
MessageBox.Show(i.ToString());
}
}
Recebo exceções, basicamente dizendo: Não é possível abrir o "Serviço" no "Servidor". Como este é um servidor remoto, presumo que seja um problema de credencial / segurança. No entanto, NÃO tenho problemas com o serviço de spooler.
A minha pergunta é ... Como posso passar o ID do usuário e a senha para este servidor, para que ele seja autenticado ou executado como para que eu possa verificar o status desses serviços, é esse o problema. Se alguém não achar que é esse o problema, informe-me onde eu errei:)