net - ユーザー・サービス・共有を管理する
目次
netコマンドは、Windows のユーザーアカウント・グループ・サービス・共有フォルダ・ネットワーク接続をまとめて操作できるコマンドです。netの後ろにサブコマンドを付けて使い分けます。
古くから使われているコマンドで、バッチファイルでの環境構築や、サービスの再起動などの定番処理でよく登場します。
netコマンドの基本構文
net <サブコマンド> [引数]
| サブコマンド | 役割 |
|---|---|
net user | ユーザーアカウントの表示・追加・変更・削除 |
net localgroup | ローカルグループの表示・メンバーの追加・削除 |
net start | サービスの一覧表示・起動 |
net stop | サービスの停止 |
net share | 共有フォルダの表示・作成・解除 |
net use | ネットワークドライブの割り当て・切断 |
net helpmsg | エラー番号の意味を表示 |
ユーザーの追加やサービスの停止などは、管理者として実行したコマンドプロンプトでないと失敗します。「システム エラー 5 が発生しました。アクセスが拒否されました。」と表示されたら、管理者として実行し直してください。
ユーザーアカウントを操作する(net user)
ユーザーの一覧と詳細を表示する
net user
このコンピューターのローカルユーザーが一覧で表示されます。ユーザー名を指定すると、詳細(有効かどうか、最終ログオン、所属グループなど)を確認できます。
net user taro
ユーザーを追加・削除する
net user taro * /add
net user taro /delete
*を指定すると、パスワードを対話形式で入力できます。入力した文字は画面に表示されません。
net user taro パスワード /addのように書くこともできますが、パスワードが画面やバッチファイルにそのまま残ってしまいます。手動で実行するときは*を使いましょう。
ユーザーを無効化・有効化する
アカウントを削除せずに、サインインできない状態にできます。
net user taro /active:no
net user taro /active:yes
net userは、既定ではこのコンピューターのローカルアカウントが対象です。ドメイン環境のアカウントを操作するには/domainを付けます。
グループを操作する(net localgroup)
net localgroup
net localgroup Administrators
1 行目はローカルグループの一覧、2 行目はAdministratorsグループのメンバー一覧です。ユーザーをグループに追加・削除するには/add・/deleteを使います。
net localgroup Administrators taro /add
net localgroup Administrators taro /delete
Administratorsなどのグループ名は、Windows の表示言語によって別の名前になることがあります。自分の環境でnet localgroupを実行し、実際の名前を確認してから使いましょう。
サービスを起動・停止する(net start / net stop)
引数なしのnet startは、現在実行中のサービスの一覧を表示します。
net start
サービス名を指定すると、そのサービスを起動します。停止はnet stopです。
net stop spooler /y
net start spooler
サービス名には、spoolerのようなサービス名のほか、"Print Spooler"のような表示名も指定できます。表示名に空白が含まれるときは、ダブルクォーテーションで囲みます。
net start/net stopは、サービスの起動や停止が完了するまで待ってから戻ってきます。一方、sc start/sc stopは要求を出した時点で戻ります。バッチファイルで「停止してから次の処理に進みたい」ときはnet stopが簡単です。サービスの詳細な設定や状態確認はscコマンドを使います。
共有フォルダを操作する(net share)
net share
このコンピューターで共有されているフォルダの一覧が表示されます。C$やADMIN$、IPC$といった末尾が$の共有は、管理用に自動で作成されるものです。
フォルダを共有するには、次のように書きます。
net share Data=C:\Data /grant:everyone,read
/grant:ユーザー名,権限で、アクセスを許可するユーザーと権限(read・change・full)を指定します。共有を解除するときは/deleteを付けます。
net share Data /delete
/deleteで解除されるのは共有の設定だけです。元のフォルダやファイルはそのまま残ります。
ネットワークドライブを操作する(net use)
net use
現在の接続の一覧を表示します。すべての接続を切断するには、次のようにします。
net use * /delete /y
ネットワークドライブの割り当てや、再起動後も接続を保つ方法は、関連記事で詳しく解説しています。
エラー番号の意味を調べる(net helpmsg)
netコマンドが「システム エラー 5 が発生しました。」のように番号付きのエラーを返したときは、net helpmsgで意味を確認できます。
net helpmsg 5

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
バッチファイルでの使用例
サービスを再起動し、失敗したときにメッセージを表示する例です。
@echo off
net stop spooler /y
net start spooler
if errorlevel 1 (
echo サービスの起動に失敗しました。管理者として実行しているか確認してください。
exit /b 1
)
echo 再起動しました。
netコマンドは、成功すると終了コード 0、失敗すると 0 以外を返すため、if errorlevel 1で失敗を判定できます。
PowerShell との対応
netコマンドは従来からの互換性のために残されており、新しいスクリプトでは PowerShell のコマンドレットを使う方法もあります。
| やりたいこと | net コマンド | PowerShell |
|---|---|---|
| ユーザーの一覧 | net user | Get-LocalUser |
| ユーザーの追加 | net user ユーザー名 * /add | New-LocalUser |
| ユーザーの無効化 | net user ユーザー名 /active:no | Disable-LocalUser |
| グループにメンバー追加 | net localgroup グループ名 ユーザー名 /add | Add-LocalGroupMember |
| サービスの起動 | net start サービス名 | Start-Service |
| サービスの停止 | net stop サービス名 | Stop-Service |
| 共有フォルダの一覧 | net share | Get-SmbShare |
コマンドプロンプトから PowerShell を呼び出す方法は、関連記事を参照してください。
まとめ
| やりたいこと | コマンド |
|---|---|
| ユーザーの一覧を表示する | net user |
| ユーザーを追加する | net user ユーザー名 * /add |
| ユーザーを無効にする | net user ユーザー名 /active:no |
| 管理者グループに追加する | net localgroup Administrators ユーザー名 /add |
| サービスを停止・起動する | net stop / net start |
| フォルダを共有する | net share 共有名=パス /grant:... |
| エラー番号の意味を調べる | net helpmsg 番号 |