質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.10%

WindowUpdateサービスの停止用バッチについて

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 140

yamato_0410

score 7

Win10 pro端末にて
WindowsUpdateサービスを停止・無効化させるバッチファイルを作成していますが、
コマンドレベル(バッチファイル内をCMDに直貼りし動くことは確認していますが、
同じ内容のBATを実行するとうまく動いてくれません。
(サービスの停止・無効化の部分が正常に動いてくれません。)
管理者として実行してもダメでした。

何が原因かご回答頂ければ幸いです。

@echo off
cd /d %~dp0

set yyyy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
set time2=%time: =0%
set hh=%time2:~0,2%
set mn=%time2:~3,2%
set ss=%time2:~6,2%
set filename=ServicestopLog_%yyyy%%mm%%dd%%hh%%mn%%ss%.log
set LOG_FILE=C:\STI\log\

set RC_NORMAL=0
set RC_ERROR=99
set SERVICE_NAME=wuauserv
set STATUS_RUNNING=RUNNING
set STATUS_STOPPED=STOPPED
set STATUS_TO_CHANGE=stop


REM 開始メッセージ
ECHO start test > %LOG_FILE%\%filename%


REM WindowsUpdateサービスが起動しているか確認
sc query %SERVICE_NAME% | findstr STATE | findstr %STATUS_RUNNING% >> %LOG_FILE%\%filename% 2>&1
set RC=%ERRORLEVEL%
IF %RC%==0 (
ECHO WindowsUpdateサービス起動中 >> %LOG_FILE%\%filename%
EXIT %RC_ERROR%
)


REM WindowsUpdateサービスが停止しているか確認
sc query %SERVICE_NAME% | findstr STATE | findstr %STATUS_STOPPED% >> %LOG_FILE%\%filename% 2>&1
set RC=%ERRORLEVEL%
IF %RC%==0(
ECHO WindowsUpdateサービス停止中 >> %LOG_FILE%\%filename%
EXIT %RC_ERROR%
)


REM WindowsUpdateサービスの停止・無効化
sc config %SERVICE_NAME% start= disabled
sc stop %SERVICE_NAME%
sc query %SERVICE_NAME% | findstr STATE | findstr %STATUS_STOPPED%
set RC=%ERRORLEVEL%
IF %RC%==0(
ECHO WindowsUpdateサービス停止しました >> %LOG_FILE%\%filename%
EXIT %RC_ERROR%
)


REM WindowsUpdateサービスが停止しているか確認
sc query %SERVICE_NAME% | findstr STATE | findstr %STATUS_STOPPED% >> %LOG_FILE%\%filename% 2>&1
set RC=%ERRORLEVEL%
IF %RC%==0 (
ECHO WindowsUpdateサービス停止済み >> %LOG_FILE%\%filename%
EXIT %RC_ERROR%
)

REM 終了メッセージ
ECHO end test >> %LOG_FILE%\%filename%
EXIT %RC_ERROR%

以上、宜しくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • otn

    2019/08/25 15:26

    > サービスの停止・無効化の部分が正常に動いてくれません。

    は具体的にどういう現象でしょうか?
    エラーメッセージは出ていませんか?
    exit するとコマンドプロンプトが消えちゃうと思いますが?? exit /b では?

    キャンセル

回答 3

check解決した方法

0

ご回答いただいた皆様、申し訳ありません。BAT内の「EXIT」部分で私の認識誤りがあり
処理が終わってしまっておりました。修正し想定通りの動きになったことを確認しております。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

こんにちは。可能であれば、下記内容を確認できますか?

・UAC
レベルを一番下げる

・バッチの呼び出し方
該当のバッチをキックするための別のバッチを作成します。
別のバッチを特権実行する。
例   
start文 または call文
いかがでしょうか

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/25 14:14

    すみません、無知で申し訳ないのですが、特権実行とはどのようなことをさしておりますでしょうか?

    キャンセル

  • 2019/08/25 14:15

    UACは1番したで実行しています。

    キャンセル

0

言葉足らずでお手数をおかけします。

手動実行時に、右クリックして「管理者として実行」として、
キック用のバッチファイルを実行する方法は、目的に合いますか?

または、runasで実行して、administratorsグループのアカウントを使われるか、
タスクスケジューラへ登録するか、(「最上位の特権で実行する」のチェックを入れる)

などの方法で実現できないでしょうか?

あと、ウエイトを入れてみるとか・・
REM 開始メッセージ
ECHO start test > %LOG_FILE%\%filename%     

timeout /t 10
↑↑↑↑↑↑↑↑↑↑↑↑↑↑
私の環境では最初こけたのですが、ログフォルダの場所が無かったことに気づきましたので、
ログフォルダのパスを指定したら動きました。


start test      
STATE              : 4  RUNNING 
WindowsUpdateサービス起動中 

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/25 14:40

    右クリック→管理者として実行、タスク登録して最上位の特権で実行するもダメでした。他に可能性があることはないでしょうか?

    キャンセル

  • 2019/08/25 14:43

    echooff行を削除して、各項目ごとにウェイトを入れて、様子を確認できますか?
    また、ログのフォルダが書き込みができないということはないでしょうか?

    一旦ログのパスを別の場所で作成して、
    バッチの記述も変更して確認できないでしょうか?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.10%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる