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

Advertisements

About Marcos Freccia

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

Posted on July 1, 2013, in Administração, Auditoria, Powershell, Scripts, SQL Server, VirtualPass and tagged , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: