2016-09-13 152 views
3

1つのIPアドレスにtelnetするWindowsバッチファイルを探して、バッチファイルで指定されたユーザ名&のパスワードを自動的に入力し、一連のコマンドを実行して終了しますtelnetから。サーバにtelnetしてコマンドを実行するWindowsバッチスクリプトが必要

@echo off 
SET username=abc 
SET [email protected] 
SET servername=192.168.1.40 

echo user %username%> telnetcmd.dat 
echo %password%>> telnetcmd.dat 
echo adbd^& >> telnetcmd.dat 
echo exit>> telnetcmd.dat 
telnet %servername% < telnetcmd.dat 

del telnetcmd.dat 

ここでは、ユーザ名&のパスワードでIPにtelnet接続しようとしています。ログインに成功したら、adbc &(これはバックグラウンドで必要なサービスを実行する)コマンドと終了コマンドを実行する必要があります。 一度このバッチファイルを完成させて、サーバー上で実行されているadbcサービスをチェックするかどうかは、サーバで実行されていないことを示しています。

出力バッチファイルの完成後に取得しています。

Welcome to Microsoft Telnet Client 

Escape Character is 'CTRL+]' 


c:\Users\vshah\Desktop> 

予想される出力:バッチファイルを実行した後

[email protected]:/ # ps | grep adbd 
shell  31899 31828 1348 148 ffffffff 00013348 S adbd 

実際の出力は:

[email protected]:/ # ps | grep adbd 
1|[email protected]:/ # 

は親切に、このシナリオを実現するために、この上で私を助けます。

ありがとうございます。

+0

を経由してメールを送信テストするには、次のスクリプトを使用していました私はS上で実行中のプロセスを確認すると、\ Users \ユーザーvshah \デスクトップ> :バッチファイルは、Microsoft Telnetクライアントにcmdを ようこそ エスケープ文字は 'CTRL +]' Cで物事を次のように私を示すことを完了したら、エラーが表示されていないかどうかは、サーバー上でプロセスが実行されていないことを示している –

+0

マシンにエラーメッセージがないかどうかを確認するために "@echo off"を使わずに試してみましたか?そこにログインしていますか? – Dominique

+0

質問から、元のTelnetコンタクトやどのポートにどのサービスが対応するのか分かりません。しかし、たぶん私は電子メールのためだけに使っているので、おそらくTelnetをよく理解していないでしょう。 – Neutrino

答えて

0

それは実際にバッチではなく、VBScriptの、および遅延の大きい状況で、それは簡単に失敗するので、それは、睡眠を使用しますが、私はtelnetの

smtpadr = InputBox("SMTP server address", "","192.168.1.35" , 100, 200) 
localname = InputBox("SMTP", "","mx01.domain.com" , 100, 200) 
emailadr = InputBox("Email address", "","[email protected]" , 100, 200) 
if smtpadr & "" = "" OR localname & "" = "" OR emailadr & "" = "" then 
    wscript.quit 
end if 

set Shell=CreateObject("WScript.Shell") 

Shell.run "cmd /K" 
wscript.sleep(1000) 
sendkeys ("telnet "&smtpadr&" 25{ENTER}") 
wscript.sleep(4000) 
'sendkeys ("quit{ENTER}") 
sendkeys ("HELO "&localname&"{ENTER}") 
wscript.sleep(2000) 
sendkeys ("MAIL FROM:<"&emailadr&">{ENTER}") 
wscript.sleep(1000) 
sendkeys ("RCPT TO:<"&emailadr&">{ENTER}") 
wscript.sleep(1000) 
sendkeys ("DATA{ENTER}") 
wscript.sleep(1000) 
sendkeys ("FROM:<"&emailadr&">{ENTER}") 
wscript.sleep(100) 
sendkeys ("TO:<"&emailadr&">{ENTER}") 
wscript.sleep(100) 
sendkeys ("Date:16-05-2010{ENTER}") 
wscript.sleep(100) 
sendkeys ("{ENTER}") 
wscript.sleep(100) 
sendkeys ("Hello World{ENTER}") 
wscript.sleep(100) 
sendkeys (".{ENTER}") 


function sendkeys (strkeys) 
on error resume next 
' BACKSPACE {BACKSPACE}, {BS}, or {BKSP} 
' BREAK {BREAK} 
' CAPS LOCK {CAPSLOCK} 
' DEL or DELETE {DELETE} or {DEL} 
' DOWN ARROW {DOWN} 
' END {END} 
' ENTER {ENTER} or ~ 
' ESC {ESC} 
' HELP {HELP} 
' HOME {HOME} 
' INS or INSERT {INSERT} or {INS} 
' LEFT ARROW {LEFT} 
' NUM LOCK {NUMLOCK} 
' PAGE DOWN {PGDN} 
' PAGE UP {PGUP} 
' PRINT SCREEN {PRTSC} 
' RIGHT ARROW {RIGHT} 
' SCROLL LOCK {SCROLLLOCK} 
' TAB {TAB} 
' UP ARROW {UP} 
' F1 {F1} 
    shell.sendkeys(strKeys) 
if err.number <> 0 then debug "Failed to sendkeys """ & strkeys &"""" 
on error goto 0 
end function 
関連する問題