Trabalhando neste script para obter notificação por e-mail quando 1 ou mais serviços não estiverem em execução.
algo está errado aqui, ele envia: System.ServiceProcess.ServiceController is running
$service=Get-Service "VSS"
if ($Service.Status -ne "Running") {
$Body ="$service is not running"
}
else {
$Body = "$service is running "
}
$From = "email"
$To = "emails"
$SMTPServer = "smtp"
$SMTPPort = "587"
$Username = "email"
$Password = "password"
$Body =$body
$Subject = "$computer$ status"
$smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort);
$smtp.EnableSSL = $false
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.Send($From, $To, $subject, $body);
$computer = $env:computername
se a sua pergunta for, por que retorna
system.something
em vez do nome do serviço, é porque$service
não é apenas o nome do serviço, é toda a informação do serviço, é por isso que retornaSystem.ServiceProcess.ServiceController
em vez deVSS
. consulte o nome do serviço: