【PowerShell】サービスを操作する方法

PowerShellの勉強をしつつ、サービスの停止をできることを知ったので、
試しにColdFusionサービスを弄れるスクリプトを書いてみました。

コマンドレットについて

下記のコマンドレットを使用することでサービスの操作を行うことができます。
※実行時には管理者権限必須

コマンドレット 説明
Start-Service サービス開始
Stop-Service サービス停止
Suspend-Service サービス一時停止
Restart-Service サービス再起動

下はコマンドの構文です。

<コマンドレット> –Name <サービス名> –PassThru

サンプル

# 引数に応じてColdFusion関連サービスを開始/停止/再起動するスクリプト
# 管理者権限で実行する必要あり

$cmd = ''
# 実行するService名
$array = "'ColdFusion 2016 Application Server'",
         "'ColdFusion 2016 .NET Service'",
         "'ColdFusion 2016 ODBC Agent'",
         "'ColdFusion 2016 ODBC Server'",
         "'ColdFusion2016Add-onServices'"

# 実行するコマンドをセット
switch ($args[0]) {
    'start' {
        $cmd = 'Start-Service '
    }
    'stop' {
        $cmd = 'Stop-Service '
    }
    'restart' {
        $cmd = 'Restart-Service '
    }
    default {
        return
    }
} 

# コマンドを実行
foreach ($serviceName in $array) {
    $execCmd = $cmd + $serviceName + " –PassThru"
    Invoke-Expression $execCmd
}

バッチファイルでもできるんだけども、何となくPowerShellで作成。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です