リモートデスクトップでログインせずに、クライアント端末からPowershellでサービスを起動・停止できます。
停止・起動するサービス名がわからない場合は、Powershellでサービス名をリモートで確認する方法を確認ください。
Powershellでリモートコマンドを発行し、サービスを停止する方法
Powershellのコマンド一行、リモートでサービスを停止
1 |
Get-Service -Name サービス名 -ComputerName サーバIP | Stop-Service -Force |
*サービス名、サーバIPは適宜置き換えてください。
*停止できないサービスもあります。
*停止に成功してもメッセージは表示されません。
リモートでサービス状態確認コマンド
1 |
Get-Service -ComputerName 192.168.1.1 | Where-Object {$_.DisplayName -like 'DHCP*'} |
サービスの停止に失敗すると次のエラーが表示される
Get-Service : サービス名 'Dhc' のサービスが見つかりません。
発生場所 行:1 文字:1
+ Get-Service -Name Dhc -ComputerName 192.168.1.1 | Stop-Service -For ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Dhc:String) [Get-Service], ServiceCommandException
+ FullyQualifiedErrorId : NoServiceFoundForGivenName,Microsoft.PowerShell.Commands.GetServiceCommand
リモートによるサービス停止Powershellコマンドその弐
Get-Serviceコマンドなら-Forceオプションで強制停止できるメリットはあります。
ただ、正常にサービスが止まったかどうかを都度確認する必要があります。
次のSet-Serviceコマンドなら停止結果が併せて表示されるため確認する必要がありません。
1 |
Set-Service -Name hidserv -Status Stopped -PassThru -ComputerName 192.168.1.1 |
Set-Serviceコマンドでリモートサービス停止した結果
Status Name DisplayName
------ ---- -----------
Stopped hidserv Human Interface Device Access
Set-Serviceは依存関係があると停止に失敗し次のエラーが表示される
Set-Service : サービス 'DNS Client (Dnscache)' は他のサービスに依存しているため、停止できません。
発生場所 行:1 文字:1
+ Set-Service -Name Dnscache -Status Stopped -PassThru -ComputerName 192 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.ServiceProcess.ServiceController:ServiceController) [Set-Service]、ServiceCommandException
+ FullyQualifiedErrorId : ServiceIsDependentOnNoForce,Microsoft.PowerShell.Commands.SetServiceCommand
よって、Set-Serviceコマンドをおすすめしません。
Powershellでリモートコマンドを発行し、サービスを開始する方法
Powershellコマンド一行、リモートでサービスを開始
1 |
Get-Service -Name サービス名 -ComputerName サーバIP | Start-Service -Force |
*サービス名、サーバIPは適宜置き換えてください。
*開始できないサービスもあります。
*開始に成功してもメッセージは表示されません。
リモートでサービス状態確認コマンド
1 |
Get-Service -ComputerName 192.168.1.1 | Where-Object {$_.DisplayName -like 'DHCP*'} |
おまけ。Powershellでリモートコマンドを発行し、サービスを再起動する方法
Powershellコマンド一行、リモートでサービスを再起動
1 |
Get-Service -Name サービス名 -ComputerName サーバIP | ReStart-Service -Force |
*サービス名、サーバIPは適宜置き換えてください。
*再起動できないサービスもあります。
*再起動に成功してもメッセージは表示されません。