トループのサービス経由でバッチまたはcmdファイルとは何ですか?
-
02-07-2019 - |
質問
たいのですがscriptランキング制のハードコアモードまたはcmdの停止、開始のサービスを確実にデータ抽出処理がエラーの確認(またはいかな成功のために何らかの理由で)?
解決
をご利用 SC
(サービス制御コマンドは、これまでよりも速やかにさらに多くのオプションだけではな start
& stop
.
DESCRIPTION: SC is a command line program used for communicating with the NT Service Controller and services. USAGE: sc <server> [command] [service name] ... The option <server> has the form "\\ServerName" Further help on commands can be obtained by typing: "sc [command]" Commands: query-----------Queries the status for a service, or enumerates the status for types of services. queryex---------Queries the extended status for a service, or enumerates the status for types of services. start-----------Starts a service. pause-----------Sends a PAUSE control request to a service. interrogate-----Sends an INTERROGATE control request to a service. continue--------Sends a CONTINUE control request to a service. stop------------Sends a STOP request to a service. config----------Changes the configuration of a service (persistant). description-----Changes the description of a service. failure---------Changes the actions taken by a service upon failure. qc--------------Queries the configuration information for a service. qdescription----Queries the description for a service. qfailure--------Queries the actions taken by a service upon failure. delete----------Deletes a service (from the registry). create----------Creates a service. (adds it to the registry). control---------Sends a control to a service. sdshow----------Displays a service's security descriptor. sdset-----------Sets a service's security descriptor. GetDisplayName--Gets the DisplayName for a service. GetKeyName------Gets the ServiceKeyName for a service. EnumDepend------Enumerates Service Dependencies. The following commands don't require a service name: sc <server> <command> <option> boot------------(ok | bad) Indicates whether the last boot should be saved as the last-known-good boot configuration Lock------------Locks the Service Database QueryLock-------Queries the LockStatus for the SCManager Database EXAMPLE: sc start MyService
他のヒント
net start [serviceName]
や
net stop [serviceName]
だしているかどうかに成功または失敗かを明確にする。例えば、
U:\>net stop alerter
The Alerter service is not started.
More help is available by typing NET HELPMSG 3521.
だからバッチファイルへのアクセス権を持っているのERRORLEVELを返します。0は成功です。も高いことを示します。
として、batファイル error.bat
:
@echo off
net stop alerter
if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem
pause
の出力は以下のようなものです:
U:\>error.bat
The Alerter service is not started.
More help is available by typing NET HELPMSG 3521.
There was a problem
Press any key to continue . . .
戻りコード
- 0 = Success
- 1 = Not Supported
- 2 = Access Denied
- 3 = Dependent Services Running
- 4 = Invalid Service Control
- 5 = Service Cannot Accept Control
- 6 = Service Not Active
- 7 = Service Request Timeout
- 8 = Unknown Failure
- 9 = Path Not Found
- 10 = Service Already Running
- 11 = Service Database Locked
- 12 = Service Dependency Deleted
- 13 = Service Dependency Failure
- 14 = Service Disabled
- 15 = Service Logon Failure
- 16 = Service Marked For Deletion
- 17 = Service No Thread
- 18 = Status Circular Dependency
- 19 = Status Duplicate Name
- 20 = Status Invalid Name
- 21 = Status Invalid Parameter
- 22 = Status Invalid Service Account
- 23 = Status Service Exists
- 24 = Service Already Paused
編集20.04.2015
返しコード:
の純コマンドに戻らないの文書化されWin32_Serviceクラスを返しコード(サービス、サービスの要求にタイムアウトなど、多くのエラーを返すだけですErrorlevel2.
はこちらを参照してください: http://ss64.com/nt/net_service.html
で利用できますNET STARTコマンドでトレージエンジンはインデックスERRORLEVEL環境変数など
net start [your service]
if %errorlevel% == 2 echo Could not start service.
if %errorlevel% == 0 echo Service started successfully.
echo Errorlevel: %errorlevel%
免責事項:立ちたいと思っていますから、私の頭のだと思います。
の代わりに確認コードをこの作品も
net start "Apache tomcat" || goto ExitError
:End
exit 0
:ExitError
echo An error has occurred while starting the tomcat services
exit 1
また私個人のバッチファイルのため、この鉱山は少し異なるもお気軽に変更して当時の貴重な資料が閲覧で作成したこの少し前かったので退屈してしまった作りたかを簡単にできる人は入力終始、停止、または設定がオートになります。このBATファイルだけをご入力のサービス名でないのです。なかったことを実現したいと述べ、この道に惑います。一般的にこれを行うに入力>>output.txt に終了する。
の%var%にそのような、ユーザーが入力でき独自のサービスへの変わりに、行を変更、batファイルは毎回たい開始/停止、異なるサービスです。
ていただく場合間違っているのは、誰でも気軽に正しい。
@echo off
set /p c= Would you like to start a service [Y/N]?
if /I "%c%" EQU "Y" goto :1
if /I "%c%" EQU "N" goto :2
:1
set /p var= Service name:
:2
set /p c= Would you like to stop a service [Y/N]?
if /I "%c%" EQU "Y" goto :3
if /I "%c%" EQU "N" goto :4
:3
set /p var1= Service name:
:4
set /p c= Would you like to disable a service [Y/N]?
if /I "%c%" EQU "Y" goto :5
if /I "%c%" EQU "N" goto :6
:5
set /p var2= Service name:
:6
set /p c= Would you like to set a service to auto [Y/N]?
if /I "%c%" EQU "Y" goto :7
if /I "%c%" EQU "N" goto :10
:7
set /p var3= Service name:
:10
sc start %var%
sc stop %var1%
sc config %var2% start=disabled
sc config %var3% start=auto
利用コードから net start
や net stop
よう最善の方法です。試しに見てみましょう: 純開始を返しコード.
書式は常に取得した。なので---
ここに明示的に追加方法線をバッチファイルをつぶし、リモートサービス(他機が発生した場合には、直ちに、管理用の両方の機械走ります。バット管理者として、機械と同一のドメイン.名機を次の形式のUNC\myserver
sc \\ip.ip.ip.ip stop p4_1
この例---p4_1のサービス名の表示名を視聴した場合の特性本海外送金サービスのサービスマネージャ。使用してくださいサービスの名前です。
のためのサービスOpsャンキーズ...必ず追加のご理由コードおよびコメント!すなわち'4'るequals'予定"とのコメント'を停止サーバーメンテナンス"
sc \\ip.ip.ip.ip stop p4_1 4 Stopping server for maintenance
して考えたいと思いる"当期純停止めるサービスです。残念な現実はそんなに黒と白になります。場合、サービスも長時間の停止、コンパイラは、スレッドが返す前にサービス停止となりました。まんがない限り、チェックerrorlevel.
液のようにループの丸みの状態をサービスまでを停止、休止時のループを実行します。
そして名高い大衆居酒屋"岸田屋
見かけのサービスに長い時間を止め、その"当期純停止"のためのその後のサービスだけが表示されるのは何も行いません。のサービスのサービスマネージャーがその状態はまだ開始しました"-変更なし"停止".なんでこの第二のサービスを手動でのSCM、中止するとき3または4秒です。
やまリモートサービスとのこcmd: sc \\<computer> start <service>
って使用されたばかりのヨナス記の例では、作の完全なリストは0から24errorlevels.その他の投稿が正しいこと net start
や net stop
ご利用に限 errorlevel
0は成功および2の故障です。
これがたい:
net stop postgresql-9.1
if %errorlevel% == 2 echo Access Denied - Could not stop service
if %errorlevel% == 0 echo Service stopped successfully
echo Errorlevel: %errorlevel%
変化 stop
へ start
作品を逆になります。
マニュアルサービスを再起動okですのでアフターサービスを行うため。mscは"再開"ボタンがコマンドラインの両方sc純コマンドが"restart"スイッチが再起動とは多少異なりますので、ご了承cmd/batファイルサービスが停止して開始すぐに、時にもエラーがサービスは中断されませんしかし、必要な時間をシャットのものです。
これが生じる可能性があるエラー:sc停止 sc開始
では良い考えで挿入するタイムアウトに使っているべきでピ毎に1秒):sc停止 ping localhost-n60 sc開始
SC
ですべて行うことが可能とサービスの開始、停止し、チェックの方限定となります。
時にはすでに停止しない業務に取り組めました。
私SQlServerもいます。以下のコマンドライン殺します。なので、しばらく日本に本当に必要なスクリプトを殺するもん停止します。いいことしての最後のリゾート
taskkill /pid [pid number] /f
ここでは、Windows10のコマンドを始めシステムの復元をバッチ:
sc config swprv start= Auto
もできますようにコマンド:
変更登録簿価値を自動的にシステムの復元
日追加"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore"/v DisableSR/t REG_DWORD/d0/f
システムを復元ポイント
Wmic.exe /名前:\根\デフォルトのパスをSystemRestoreコCreateRestorePoint"djibe保存したPC",100,12
変更システムの復元ディスク使用量
vssadminサイズの変更shadowstorage/=C:/on=C:/maxsize=10%
お楽しみ
皆様にお伝えしたくて書き込みをwindowsのサービスクライアントまで、フルのC#の停止をインストール-アンインストール/構築インストール開始ループっても疲れるのは確かだ。書ミニスクリプトと呼ばれるので reploy.bat
落ちた私のVisual Studio出力ディレクトリを内蔵サービスの実行ファイル)を自動化します。
セットするだけでこれらの3vars
servicename
:このWindowsサービスコントロールパネル(サービスmsc)
slndir
:フォルダのフルパスを含むソリューション(.slnファイル
binpath
:フルパスでは、フォルダパス)にサービスから実行の構築
注意:このニーズから実行されるVisual Studioで開発者のコマンドライン msbuild
コマンドです。
SET servicename="My Amazing Service"
SET slndir="C:dir\that\contains\sln\file"
SET binpath="C:path\to\service.exe"
SET currdir=%cd%
call net stop %servicename%
call sc delete %servicename%
cd %slndir%
call msbuild
cd %bindir%
call sc create %servicename% binpath=%binpath%
call net start %servicename%
cd %currdir%
っこう:)