LoginSignup
3
6

More than 5 years have passed since last update.

Windows でのサービスの制御

Posted at

Windows のサービスの制御

PowerShell を使う場合

  • 指定のサービスを列挙

    PS> gsv | ? { $_.Name -match "sqlserver" }
    
    Status   Name               DisplayName
    ------   ----               -----------
    Running  MSSQLSERVER        SQL Server (MSSQLSERVER)
    Running  MSSQLServerOLAP... SQL Server Analysis Services (MSSQL...
    Stopped  SQLSERVERAGENT     SQL Server エージェント (MSSQLSERVER)
    
  • 指定かつ動作しているサービスの列挙

    PS> gsv | ? { $_.Name -match "sql" -and $_.Status -match "Run" }
    
    Status   Name               DisplayName
    ------   ----               -----------
    Running  MSSQLFDLauncher    SQL Full-text Filter Daemon Launche...
    Running  MSSQLSERVER        SQL Server (MSSQLSERVER)
    Running  MSSQLServerOLAP... SQL Server Analysis Services (MSSQL...
    Running  SQLWriter          SQL Server VSS Writer
    

    以下でもよい

    PS> gsv | ? Name -match "sql" | ? Status -match "Run"
    
  • 動作しているサービスを停止させる

    PS> gsv | ? Name -match "mssql" | Stop-Service
    

    開始させる場合は、 Stop-Service の代わりに Start-Service を使う。

    :pencil: ただし、後述の「スタートアップの種類」を考慮しないため、設定によっては OS起動時にサービスが起動される場合がある。

  • スタートアップで自動起動させなくする (「手動」に)。

    PS> gsv | ? Name -match "mssql" | Set-Service -StartupType Manual
    

    「自動」に戻す場合: -StartupType Automatic と指定する。

    :pencil: 【メモ】 「サービス停止」と同時に「自動起動させない」ために、 -Status Stopped を使いたくなるが、以下のように依存関係がある場合には停止できない模様。 前述の Stop-Service を使うのが確実なようだ。

    PS> gsv | ? Name -match "mssql" | Set-Service -Status Stopped -StartupType Manual
    Set-Service : サービス 'SQL Server (MSSQLSERVER) (MSSQLSERVER)' には依存サービスがあるため、停止できません。
    発生場所 :1 文字:31
    + ... Name -match "mssql" | Set-Service -Status Stopped -StartupType Manual
    +                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (System.ServiceProcess.ServiceController:ServiceController) [Set-Servi
       ce]ServiceCommandException
        + FullyQualifiedErrorId : ServiceHasDependentServicesNoForce,Microsoft.PowerShell.Commands.SetServiceCommand
    

参考

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6