Windowsのnet startコマンドは、引数なしで実行中のサービスを一覧表示し、サービス名を指定するとそのサービスの開始を要求します。構文はnet start サービス名です。停止中を含めた一覧や設定の確認にはsc.exeを併用します。
net startだけなら実行中のサービス一覧、net start bitsならBITSの開始要求であり、次回起動時の自動設定は変更しません。
| 目的 | 入力例 | 変更すること |
|---|---|---|
| 使用法を確認 | net help start | ヘルプを表示するだけ |
| 稼働中の一覧を表示 | net start | 表示するだけ。停止中の全一覧ではない |
| BITSを開始 | net start bits | BITSの開始を要求。管理権限と対象の確認が必要 |
| 状態を確認 | sc.exe query bits | 現在の状態と終了コード等を表示 |
| スタートアップ設定を確認 | sc.exe qc bits | 開始の種類・依存関係などを表示 |
| 次回起動の開始設定を変える | sc.exe config 対象 start= auto | 設定変更。net startの役割とは別 |
基本構文と実行場所:コマンドプロンプトで確認
スタートで「コマンドプロンプト」を検索します。一覧・ヘルプの確認と、サービスの開始操作を分けてください。開始する必要があり、管理権限を持つ場合は[管理者として実行]を選びます。会社の端末では、組織が停止・無効化したサービスを独断で戻さず管理者へ確認します。
手元のWindowsに付属する使用法を確認する例です。これはサービスを開始しません。
net help start引数なしで実行すると稼働中のサービスが表示されます。ここにないことだけで「サービス未導入」と判断せず、停止中を含めて照会します。
net startサービス名と表示名を確認する
[サービス]アプリで対象をダブルクリックし、[サービス名]と[表示名]を区別します。たとえばBITSのサービス名はBITSです。サービス名の照合は大文字小文字を区別しないため、bitsとBITSの違いを「無効な名前」の原因と説明するのは誤りです。別の文字・空白・未導入を確認してください。
停止中を含む一覧を表示する読み取り例です。state=の後ろには空白を置きます。表示が途中で終わり追加データの案内が出たら、案内のbufsize=とri=を使って残りを確認します。
sc.exe query state= all表示名からサービス名を調べる例です。表示名は言語や製品で変わるため、実機にある名前へ置き換えます。空白を含む表示名は引用符で囲みます。
sc.exe getkeyname "Background Intelligent Transfer Service"サービス名が分かったら、状態と設定を別々に確認します。次の2例は設定を変えません。
sc.exe query bitssc.exe qc bitsSTATEは現在の状態、START_TYPEは開始方法、DEPENDENCIESは依存先です。RUNNINGと自動開始は同じ意味ではありません。START_PENDING中なら、開始要求を何度も重ねる前に状態・チェックポイント・イベントを確認します。
net start bitsの例:開始後も状態を確認
以下は実際にBITSの開始を要求する例です。利用目的と元の設定を確認し、開始が必要な端末だけで実行します。BITSが動いたことだけでWindows Updateのすべての障害が解決したとは判断しません。
net start bits直後に状態を照会します。成功メッセージはOSの表示言語で異なり、記事と同じ英語の文が出るとは限りません。すでに稼働中という案内も、サービスが壊れている意味ではありません。
sc.exe query bits開始しても不要時に停止するサービスがあります。一度の停止だけを理由に自動開始へ固定せず、そのサービスの役割・トリガー・実際のアプリの成否を確認します。
net startと自動開始設定の違い
net startは現在の開始操作です。次回起動時の設定を変えるには[サービス]の[スタートアップの種類]、またはsc.exe configを使います。読み取りのsc.exe qcで変更前の値を控え、製品・組織が指定する設定へ変更してください。レジストリのStart値を直接書き換える手順は通常の入口にしません。
以下は、管理対象としてすでに導入した例示サービスMyServiceを「手動」へ変更する構文例です。実在する対象サービス名に置き換え、変更が必要な場合だけ使います。Windows UpdateやBITSの推奨設定を一律に示す例ではありません。
sc.exe config MyService start= demandstart= autoは自動、start= demandは手動、start= disabledは無効です。無効のサービスを開始するには設定の変更が必要ですが、無効化された理由を先に確認します。設定変更だけで即座にサービスが開始されるわけではありません。
開始できないとき:エラー番号と対象名を保存
| 表示・番号 | 意味の切り分け | 次に確認すること |
|---|---|---|
| アクセス拒否/システムエラー5 | 開始操作の権限がない可能性 | 昇格した画面か、対象サービスのアクセス権、組織の制限。昇格だけで必ず解決するとは限らない |
| サービス名が無効/サービスが存在しない | 入力名または導入状況の問題。sc.exeの1060は未導入の定義 | サービス名・表示名・空白・対象端末。大文字小文字の違いが原因とはしない |
| 1058 | 無効、または有効な関連デバイスがない | 開始の種類と無効化した理由、デバイス・製品条件 |
| 1068 | 依存するサービスまたはグループの開始失敗 | 依存先の状態・設定・エラー。関係ないサービスをまとめて起動しない |
| 1053 | 開始・制御要求への応答タイムアウト | 同時刻のSystem/Applicationログ、製品ログ、開始中の状態。タイムアウト値の変更を一律解決策にしない |
| 1069 | サービスのログオン失敗 | 対象サービスのログオン構成を管理者が確認。パスワードを記事・バッチへ書かない |
| 1067 | プロセスの予期しない終了 | 製品ログや例外、依存条件。起動コマンドの連打ではなく製品の障害を調べる |
Windowsのシステムエラー番号と、アプリ独自のエラー、イベントIDは別です。番号だけを別記事のイベントIDへ当てはめず、表示全文と発生時刻を記録します。[イベントビューアー]→[Windowsログ]→[システム]と[アプリケーション]で、同時刻・該当サービス・Service Control Managerの記録を確認してください。
リモートではnet startの対象を混同しない
自分のPCでnet start bitsを実行すると、対象はそのローカルPCです。別のPCの共有フォルダーへ接続しただけでリモート側のサービスを開始するコマンドへ変わるわけではありません。リモートの状態・構成を確認する場合は、許可された管理経路とアカウントを使います。以下のSERVER01は例示名で、実際の管理対象へ置き換えます。
sc.exe \\SERVER01 query bitssc.exe \\SERVER01 qc bits問い合わせにも対象へのアクセス権と到達可能な管理経路が必要です。アクセス拒否や接続失敗の時に全ファイアウォールを解除したり、平文のユーザー名・パスワードをバッチへ保存したりしません。組織の管理者へ対象名・エラー・時刻を伝えます。
バッチ化するなら、成功表示を無条件に出さない
複数のサービスを並べて最後に「すべて開始した」と表示するだけでは、途中の失敗を見逃します。まず1サービスを対象に終了コードを直後に確認する例です。この例はBITSの開始を要求するため、前節の対象・権限・必要性を確認してから利用します。
@echo off
net start bits
if errorlevel 1 (
echo Start request was not successful. Check the message and current state.
sc.exe query bits
exit /b 1
)
sc.exe query bits
if errorlevel 1 exit /b 2
exit /b 0if errorlevel 1は直前の終了コードが1以上の場合です。すでに稼働中という案内なども含め、非0だけで原因を決めず表示メッセージと状態を確認します。また、後続の状態照会が表示されても、この例は製品機能の正常動作やその後の継続稼働まで判定しません。
タスク化する場合は、実行アカウント、必要な権限、対象、実行時刻、ログと復旧方法を先に決めます。SQL ServerやIIS、更新関連サービスを定期的にまとめて停止・再開する処理は、個別の保守要件と利用者への影響を確認せず登録しないでください。
Windows UpdateやBITSの診断は、開始と設定を分ける
Windows Updateサービスが存在するか・動いているかを確認する例です。開始の種類を勝手に自動へ固定する操作ではありません。
sc.exe query wuauservsc.exe qc wuauservBITSやWindows Updateを開始できても、ダウンロード先・ネットワーク・更新エラーなどは別の確認が必要です。更新画面のエラー全文とコード、Windowsのバージョン、同時刻の記録を照合してください。
参考資料
- Microsoft:サービス状態の一覧・照会(sc.exe query)
- Microsoft:開始設定の変更(sc.exe config)
- Microsoft:サービス名の大小文字とアクセス確認
- Microsoft:サービスの開始・照会のアクセス権
- Microsoft:サービス開始後の状態確認
- Microsoft:1053・1058・1060・1068等の定義
- Microsoft:バッチのif errorlevelと終了コード
- Microsoft:net.exe・sc.exe・PowerShellのサービス管理とヘルプ
既存のMicrosoft Docs – Net Commandは移転・表示状態も確認し、実機ではnet help startで付属ヘルプを参照できます。コミュニティとしてMicrosoft Tech Community、Stack Overflow、Reddit – r/sysadminがありますが、投稿例はOS・対象・時点を確認し、公式仕様と区別してください。

コメント