寻找将 telnet 到一个 IP 地址的 Windows 批处理文件,自动提供在批处理文件中指定的用户名和密码,执行一系列命令并退出 telnet。
@echo off
SET username=abc
SET password=xyz@1234
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。成功登录后,它应该执行 adbc& (这将在后台运行必要的服务)命令和退出命令。 完成此批处理文件后,如果我检查 adbc 服务是否在服务器上运行,它会显示未在服务器上运行。
批处理文件完成后得到的输出。
Welcome to Microsoft Telnet Client
Escape Character is 'CTRL+]'
c:\Users\vshah\Desktop>
预期输出:
root@pqrs:/ # ps | grep adbd
shell 31899 31828 1348 148 ffffffff 00013348 S adbd
执行批处理文件后的实际输出:
root@pqrs:/ # ps | grep adbd
1|root@pqrs:/ #
请帮助我实现这个场景。
非常感谢您。
最佳答案
它实际上不是批处理,而是一个vbscript,它使用 sleep ,所以在高延迟情况下,它很容易失败,但我已经使用以下脚本测试通过telnet发送电子邮件
smtpadr = InputBox("SMTP server address", "","192.168.1.35" , 100, 200)
localname = InputBox("SMTP", "","mx01.domain.com" , 100, 200)
emailadr = InputBox("Email address", "","jonbdk@domain.com" , 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
关于windows - 需要一个 Windows 批处理脚本,它将远程登录到服务器并运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39465836/