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で作成。
