連絡用



カテゴリ:[ PC/ネット/モバイル ]


3件の内、新着の記事から10件ずつ表示します。


[3] Re: bat

投稿者: abc 投稿日:2015年11月 4日(水)00時36分24秒 em119-72-199-188.pool.e-mobile.ne.jp  通報   返信・引用   編集済

setenv.bat
------
SET ALREADYCON=Connection could not be established - Client is already connected
SET DISCON=Connection was successfully disconnected
SET NOTDISCON=Connection could not be disconnected
SET FILENAME="C:\scripts\QX\KB\log\VPNSessionLog.txt"
SET VPNEXE="C:\Program Files\CheckPoint\EndPoint Connect\"
SET VPNCMD=ECHO VPNRESULTOK

------
aaa.bat
------
@echo off

REM VPNコマンドを実行するときに、環境変数にSETする
REM VPNCMDPATHに本来のVPNコマンドのフルパスをセットすればいい。
SET VPNCMDPATH=dummyvpn.bat
SET DESTINATIONID=192.168.11.123
SET USERID=KIKU
SET PASSWORD=PASS

SET VPNCMDINFO=CALL %VPNCMDPATH% info
SET VPNCMDCONNECT=CALL %VPNCMDPATH% connect -s %DESTINATIONID% -u %USERID% -p %PASSWORD%
SET VPNCMDDISCONNECT=CALL %VPNCMDPATH% disconnect

REM 詳しく調べてないので確証がないが、:がbatで特殊なのかも。だから""でくくった
SET CHECKSTRING=status: Idle

REM for で標準出力を一行ずつチェックしている、一個見つかったらGOTOで飛ぶ。
REM 一個も見つからなかったら for が終わる
REM 比較させたい CHECKSTRINGが""で括られているので、%%iも""でくくっている

echo --------処理開始直前 >> log.log
for /f "usebackq tokens=*" %%i in (`%VPNCMDINFO%`) do IF "%%i"=="%CHECKSTRING%" (
REM 判定用フラグをセット 1でもなんでもいいけど、TRUEにしてみた
SET RESULTOK=TRUE
REM 右空白トリムされてしまうがログにだす影響は少ないはず
echo %%i>>log.log
) ELSE (
echo %%i>>log.log
)
echo --------処理開始直後 >> log.log

REM forが終わってここに来たら、判定用フラグがTRUEかそれ以外かで判定OKかNGを判定してGOTOで飛ばす
IF "%RESULTOK%"=="TRUE" (
GOTO SESSIONOK
) ELSE (
GOTO SESSIONNG
)

:SESSIONOK
ECHO Match info=%RESULTOK% >> log.log
pause
exit 0

:SESSIONNG
ECHO NG VPN Disconnected >> log.log
%VPNCMDDISCONNECT% >> log.log
ECHO VPN Connect >> log.log
%VPNCMDCONNECT% >> log.log
pause
exit 0
REM exit /b


------
bbb.bat
------

@echo off

REM VPNコマンドを実行するときに、環境変数にSETする
REM VPNCMDPATHに本来のVPNコマンドのフルパスをセットすればいい。
SET VPNCMDPATH=dummyvpn.bat
SET DESTINATIONID=192.168.11.123
SET USERID=KIKU
SET PASSWORD=PASS

SET VPNCMD2=CALL %VPNCMDPATH% connect -s %DESTINATIONID% -u %USERID% -p %PASSWORD%

REM 詳しく調べてないので確証がないが、:がbatで特殊なのかも。だから""でくくった
SET CHECKSTRING=status: Idle

REM for で標準出力を一行ずつチェックしている、一個見つかったらGOTOで飛ぶ。
REM 一個も見つからなかったら for が終わる
REM 比較させたい CHECKSTRINGが""で括られているので、%%iも""でくくっている
setlocal enabledelayedexpansion
set VPNRESULT=
for /f "usebackq tokens=*" %%i in (`%VPNCMD2%`) do (
  set VPNRESULT=!VPNRESULT!^

%%i
)

echo !VPNRESULT!>log.log

SET RERE=echo !VPNRESULT!


for /f "usebackq tokens=*" %%i in (`%RERE%`) do IF "%%i"=="%CHECKSTRING%" (
GOTO SESSION_OK
) ELSE (
ECHO No match info=%%i
REM 実際ここは何もしなくていい
)
REM forが終わってここに来たら、チェック対象文字がVPNコマンドから出てないことが確定
GOTO SESSION_NG
endlocal




:SESSION_OK
ECHO Match info=OK


pause
exit /b

:SESSION_NG
ECHO NGNG
PAUSE


------
setenv_info.bat
------
SET ALREADYCON=Connection could not be established - Client is already connected
SET DISCON=Connection was successfully disconnected
SET NOTDISCON=Connection could not be disconnected
SET FILENAME="C:\scripts\QX\KB\log\VPNSessionLog.txt"
SET VPNEXE="C:\Program Files\CheckPoint\EndPoint Connect\"
SET VPNCMD=ECHO VPNRESULTOK




------
dummyvpn.bat
------
@echo off
echo kiku
echo tom
echo status: Idle
echo mio

------
log.log
------
--------処理開始直前
kiku
tom
status: Idle
mio
--------処理開始直後
NG VPN Disconnected
kiku
tom
status: Idle
mio
VPN Connect
kiku
tom
status: Idle
mio
--------処理開始直前
kiku
tom
status: Idle
mio
--------処理開始直後
Match info=TRUE




------
maintest.bat
------
@echo off

rem ①セッションステータス確認コマンドを実行した結果の標準出力を
rem 変数に格納して、その変数に特定の文字列が含まれていた場合毎に条件分岐させる
rem ②ERRORLEVELの値を判定して、条件分岐させる。
rem 0なら→認証OFFに成功した
rem -1000なら→認証OFF状態のエラー
call .\Config\setenv.bat
echo %ALREADYCON%
echo %DISCON%
echo %NOTDISCON%

echo %FILENAME%
echo %VPNEXE%
echo %VPNCMD%

rem *******************
rem startTime Log
rem *******************

echo startTime %DTSTR%-%TMSTR% >> %FILENAME%
echo .
echo %FILENAME%に開始時刻を追加
echo .
pause


rem *******************
rem ①VPNセッションのステータスを確認
rem *******************
ECHO %VPNEXE% info > %VPNCMD%
ECHO VPNCMD
FOR /f "DELIMS=" %%A IN ('%VPNCMD%') DO IF "%%A"=="VPNRESULTOK" (
ECHO SESSION_OK >> %FILENAME%
) ELSE (
ECHO SESSION_NG >> %FILENAME%
)
ECHO .
ECHO %FILENAME%に現在のセッションステータスを追加
ECHO .
PAUSE

IF ERRORLEVEL -1000 GOTO SESSION_OK ELSE GOTO SESSION_NG END

:SESSION_OK
ECHO .
ECHO .
ECHO VPNセッションステータス:  "OFF"状態です
ECHO .
ECHO .
REM %VPNEXE% disconnect
PAUSE
GOTO END

:SESSION_NG
ECHO VPNセッションステータス:  "ON"状態です
GOTO DOWN

rem *******************
rem ②VPNセッション切断(ステータスONであったため切断する)
rem *******************

:DOWN
REM "C:\Program Files (x86)\CheckPoint\EndPoint Connect\trac" connect -s
150.105.98.254 -u STSTEST2 -p 3iaCfNVB
REM %VPNEXE% connect -s %VPNIP% -u %VPNUSERID% -p %VPNPASSWD%
%VPNEXE% disconnect
ECHO 切断しました >> %FILENAME%

rem *******************
rem 処理③ VPNセッションのステータスを確認(切断されているか?)
rem *******************

SET VPNCMD=ECHO VPNRESULTOK
FOR /f "DELIMS=" %%A IN ('%VPNCMD%') DO IF "%%A"=="VPNRESULTOK" (
ECHO SESSION_OK >> %FILENAME%
) ELSE (
ECHO SESSION_NG >> %FILENAME%
)
ECHO .
ECHO %FILENAME%に現在のセッションステータスを追加
ECHO .
IF ERRORLEVEL -1000 GOTO SESSION_OK ELSE GOTO SESSION_NG END

:SESSION_OK
ECHO VPNセッションステータス:  "OFF"
REM %VPNEXE% disconnect
GOTO END

:SESSION_NG
ECHO VPNセッションステータス:  "ON"
GOTO DOWN

:END
ECHO セッションが切断されています >> %FILENAME%

rem *******************
rem endTime log
rem *******************

ECHO endTime   %DTSTR%-%TMSTR% >> %FILENAME%
ECHO .
ECHO %FILENAME%に終了時刻を追加
ECHO .
PAUSE

rem *******************
rem 終了コード
rem *******************

exit /b






------
vpn_session_offv2.bat
------
@echo off

rem *******************
rem 作成日20151015
rem VPN SESSION状態をOFFにする場合の処理
rem *******************

rem *******************
rem 環境変数
rem *******************

REM 日付 2015/10/15-09:30:14.49
REM ローテートが面倒なため、1つのファイルにログを追加していく仕様

SET DTSTR=%date%
SET TMSTR=%time%
ECHO %DTSTR%-%TMSTR%

REM SET DT=%date:~-10,4%%date:~-5,2%%date:~-2,2%
REM SET time=%time: =0%
REM SET TM=%time:~0,2%%time:~3,2%%time:~6,2%

REM ファイル名(yyyy-mm-dd)
REM SET FILENAME=FileName%DT%_%TM%.txt

SET FILENAME="C:\scripts\QX\KB\log\VPNSessionLog.txt"
SET VPNEXE="C:\Program Files\CheckPoint\EndPoint Connect\trac"
SET VPNCMD=ECHO VPNRESULTOK

REM 外部設定ファイルの読み込み
CALL C:\scripts\QX\KB\conf\setting.bat

rem *******************
rem startTime Log
rem *******************

echo startTime %DTSTR%-%TMSTR% >> %FILENAME%
echo .
echo %FILENAME%に開始時刻を追加
echo .
pause

rem *******************
rem ①VPNセッションのステータスを確認
rem *******************

SET VPNCMD=ECHO VPNRESULTOK
FOR /f "DELIMS=" %%A IN ('%VPNCMD%') DO IF "%%A"=="VPNRESULTOK" (
ECHO SESSION_OK >> %FILENAME%
) ELSE (
ECHO SESSION_NG >> %FILENAME%
)
ECHO .
ECHO %FILENAME%に現在のセッションステータスを追加
ECHO .
PAUSE

IF ERRORLEVEL -1000 GOTO SESSION_OK ELSE GOTO SESSION_NG END

:SESSION_OK
ECHO .
ECHO .
ECHO VPNセッションステータス:  "OFF"状態です
ECHO .
ECHO .
REM %VPNEXE% disconnect
PAUSE
GOTO END

:SESSION_NG
ECHO VPNセッションステータス:  "ON"状態です
GOTO DOWN

rem *******************
rem ②VPNセッション切断(ステータスONであったため切断する)
rem *******************

:DOWN
REM "C:\Program Files (x86)\CheckPoint\EndPoint Connect\trac" connect -s
150.105.98.254 -u STSTEST2 -p 3iaCfNVB
REM %VPNEXE% connect -s %VPNIP% -u %VPNUSERID% -p %VPNPASSWD%
%VPNEXE% disconnect
ECHO 切断しました >> %FILENAME%

rem *******************
rem 処理③ VPNセッションのステータスを確認(切断されているか?)
rem *******************

SET VPNCMD=ECHO VPNRESULTOK
FOR /f "DELIMS=" %%A IN ('%VPNCMD%') DO IF "%%A"=="VPNRESULTOK" (
ECHO SESSION_OK >> %FILENAME%
) ELSE (
ECHO SESSION_NG >> %FILENAME%
)
ECHO .
ECHO %FILENAME%に現在のセッションステータスを追加
ECHO .
IF ERRORLEVEL -1000 GOTO SESSION_OK ELSE GOTO SESSION_NG END

:SESSION_OK
ECHO VPNセッションステータス:  "OFF"
REM %VPNEXE% disconnect
GOTO END

:SESSION_NG
ECHO VPNセッションステータス:  "ON"
GOTO DOWN

:END
ECHO セッションが切断されています >> %FILENAME%

rem *******************
rem endTime log
rem *******************

ECHO endTime   %DTSTR%-%TMSTR% >> %FILENAME%
ECHO .
ECHO %FILENAME%に終了時刻を追加
ECHO .
PAUSE

rem *******************
rem 終了コード
rem *******************

exit /b








[2] bat

投稿者: aaa 投稿日:2015年11月 4日(水)00時35分16秒 em119-72-199-234.pool.e-mobile.ne.jp  通報   返信・引用

aaa.bat
-----------------------
@echo off

REM VPNコマンドを実行するときに、環境変数にSETする
REM VPNCMDPATHに本来のVPNコマンドのフルパスをセットすればいい。
SET VPNCMDPATH=dummyvpn.bat
SET DESTINATIONID=192.168.11.123
SET USERID=KIKU
SET PASSWORD=PASS

SET VPNCMDINFO=CALL %VPNCMDPATH% info
SET VPNCMDCONNECT=CALL %VPNCMDPATH% connect -s %DESTINATIONID% -u %USERID% -p %PASSWORD%
SET VPNCMDDISCONNECT=CALL %VPNCMDPATH% disconnect

REM 詳しく調べてないので確証がないが、:がbatで特殊なのかも。だから""でくくった
SET CHECKSTRING=status: Idle

REM for で標準出力を一行ずつチェックしている、一個見つかったらGOTOで飛ぶ。
REM 一個も見つからなかったら for が終わる
REM 比較させたい CHECKSTRINGが""で括られているので、%%iも""でくくっている

echo --------処理開始直前 >> log.log
for /f "usebackq tokens=*" %%i in (`%VPNCMDINFO%`) do IF "%%i"=="%CHECKSTRING%" (
REM 判定用フラグをセット 1でもなんでもいいけど、TRUEにしてみた
SET RESULTOK=TRUE
REM 右空白トリムされてしまうがログにだす影響は少ないはず
echo %%i>>log.log
) ELSE (
echo %%i>>log.log
)
echo --------処理開始直後 >> log.log

REM forが終わってここに来たら、判定用フラグがTRUEかそれ以外かで判定OKかNGを判定してGOTOで飛ばす
IF "%RESULTOK%"=="TRUE" (
GOTO SESSIONOK
) ELSE (
GOTO SESSIONNG
)

:SESSIONOK
ECHO Match info=%RESULTOK% >> log.log
pause
exit 0

:SESSIONNG
ECHO NG VPN Disconnected >> log.log
%VPNCMDDISCONNECT% >> log.log
ECHO VPN Connect >> log.log
%VPNCMDCONNECT% >> log.log
pause
exit 0
REM exit /b



[1] 掲示板が完成しましたキラキラ

投稿者: teacup.運営 投稿日:2015年11月 4日(水)00時32分55秒 em119-72-199-234.pool.e-mobile.ne.jp  通報   返信・引用

ご利用ありがとうございます。

teacup.掲示板は
ダイヤスレッド作り放題右上
ダイヤ画像・動画・音楽の投稿OK
ダイヤケータイ絵文字が使えるv▽v
ダイヤRSS対応ヒラメイタ!
ダイヤかわいいケータイテンプレハートx2

足跡足あと帳はコチラ
スレッド内容は管理画面内「スレッドの管理」から編集できます。


レンタル掲示板
3件の内、新着の記事から10件ずつ表示します。

お知らせ · よくある質問(FAQ) · お問合せ窓口 · teacup.レンタル掲示板

© GMO Media, Inc.