複数のサーバで指定したサービスの状態をチェックする

はじめに

指定したサーバのサービス状態を確認するスクリプトです。サーバとサービスは複数指定することができます。

環境

OS:Windows10
.Net Framework:4.7
PowerShellのバージョン:5.1.17134.858

ソースコード

ServiceCheck.ps1

#######################################################################################
# 概要:指定したサーバのサービス状態をチェックします。
# 作成者:ITStudy
# 作成日:2020/02/11
# 必要なファイル:ServiceCheck.ps1(このファイルです)
#                 ServersList.csv(対象サーバを記載したCSVファイルです)
#                 ServicesList.csv(チェックするサービスを記載したCSVファイルです)
#######################################################################################

$CurrentDir      = $PSScriptRoot
$ServersList     = "ServersList.csv"
$ServicesList    = "ServicesList.csv"
$Result          = "Result.csv"

#指定したサービスを配列に格納
$aryServicesList=@()
Import-Csv (Join-Path $CurrentDir $ServicesList) -Encoding Default | %{
    $aryServicesList += $_.ServiceName
}

#複数のサーバから指定したサービスの状態を取得
Import-Csv (Join-Path $CurrentDir $ServersList) -Encoding Default | %{
    $oServiceData = ""
    $oServiceData = Get-Service -ComputerName $_.HostName | ? DisplayName -in @($aryServicesList) | select MachineName, Status, StartType, Name, DisplayName

    #画面出力
    $oServiceData | Format-Table -AutoSize -Wrap

    #CSV出力
    $oServiceData | Export-Csv -NoTypeInformation (Join-Path $CurrentDir $Result) -Encoding Default -Append
}

ServersList.csv

対象サーバのホスト名、もしくはIPアドレスを入力します。ヘッダーの「HostName」は削除しないで下さい。

HostName
windows2019
windows2016
windows2012
windows2008
windows2003

ServicesList.csv

確認したいサービス名(DisplayName)を入力します。ヘッダーの「Service」は削除しないで下さい。

ServiceName
Computer Browser
Netlogon
Windows Update

結果

指定したサーバのサービス状態が確認できます。Windows Server2003には「Netlogon」と「Windows Update」サービスがないので表示されません。

MachineName  Status StartType Name     DisplayName     
-----------  ------ --------- ----     -----------     
windows2019 Running    Manual Browser  Computer Browser
windows2019 Running Automatic Netlogon Netlogon        
windows2019 Stopped    Manual wuauserv Windows Update  



MachineName  Status StartType Name     DisplayName     
-----------  ------ --------- ----     -----------     
windows2016 Stopped  Disabled Browser  Computer Browser
windows2016 Running Automatic Netlogon Netlogon        
windows2016 Stopped    Manual wuauserv Windows Update  



MachineName  Status StartType Name     DisplayName     
-----------  ------ --------- ----     -----------     
windows2012 Stopped  Disabled Browser  Computer Browser
windows2012 Running Automatic Netlogon Netlogon        
windows2012 Stopped    Manual wuauserv Windows Update  



MachineName  Status StartType Name     DisplayName     
-----------  ------ --------- ----     -----------     
windows2008 Stopped  Disabled Browser  Computer Browser
windows2008 Running Automatic Netlogon Netlogon        
windows2008 Running Automatic wuauserv Windows Update  



MachineName  Status StartType Name    DisplayName     
-----------  ------ --------- ----    -----------     
windows2003 Running Automatic Browser Computer Browser
タイトルとURLをコピーしました