Retornando o status do serviço via PowerShell

Olá pessoal,

Passando aqui apenas para compartilhar mais um simples script PowerShell com vocês. A intenção do script é varrer uma lista de servidores de SQL Server e retornar apenas os serviços que estiverem com o status de stopped. O Script utiliza o cmdlet Get-Service.

$Servers = Get-Content ‘C:\temp\Servers.txt’

$Outputfile = "C:\temp\SQLServerServiceStatus.txt"
ForEach($Server in $Servers){
Get-Service -ComputerName $Server | 
where {$_.status -eq "Stopped" -AND $_.name -match "MSSQL|MSSQLSERVER|SQLSERVE
RAGENT|SQLAgent" -AND $_.name -notmatch "ADHelper|OLAPService|MSSQLFDLauncher"} |
format-table -property MachineName, Name, Status, DisplayName| Out-File $Outputfile 
-Append }
if ( (get-Content $Outputfile) -eq $Null )
  {
    Remove-Item $Outputfile
  }

O script irá gerar um aquivo de saída no caminho C:\temp\SQLServerServiceStatus.txt, mas você também pode mudar de acordo com sua preferencia. Na ultima parte do script eu apenas faço uma verificação aonde se o arquivo estiver vazio eu faço a exclusão do mesmo.

O resultado do arquivo será da seguinte maneira.

image

Espero que tenham gostado.

Abraços,
Marcos Freccia

Sobre Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Publicado em julho 1, 2013, em Administração, Auditoria, Powershell, Scripts, SQL Server, VirtualPass e marcado como , , , , . Adicione o link aos favoritos. Deixe um comentário.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: