[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络工具] WMIC的应用:一个远程开启TELNET服务的批处理

记得以前见过一个命令行程序OpenTelnet.exe,好像是个黑客工具,还有一个是VBS的脚本吧,不记得了

这个脚本和它是一样的功能。当然,我发这个脚本的目的不是让大家拿去搞别人的电脑^_^

这个脚本纯粹是批处理,没有第三方,只有一个外部命令WMIC,其余都是内部命令(考虑到兼容性);

具体使用看帮助吧,都是中文,呵呵,需要说明的是,需要管理员权限,但并不是有管理员密码就行了(远程访问权限),2003的系统默认不用做任何修

改,XP的稍做修改就行(加入域的不用)。之所以说是以“标准方式”,是因为在某些系统上管理员将Telnet服务删掉了而这个脚本并不会安装一个新的Telnet服务...

代码某些地方可能不是很完善,效率有点低...

不多说了。代码:
  1. @ECHO OFF
  2. IF "%1" EQU "/?" GOTO :HELP
  3. IF "%1"# EQU ""# GOTO :HELP
  4. SET "TEMP_HOST=%1"
  5. SET "TEMP_PORT=%4"
  6. SET "TEMP_NTLM=%5"
  7. SET "TEMP_ITEM=Software\Microsoft\TelnetServer\1.0"
  8. SET "WMIC_REGEDIT=WMIC /NODE:"%TEMP_HOST:~2%" /USER:"%2" /PASSWORD:"%~3" /NAMESPACE:\\ROOT\DEFAULT PATH STDREGPROV CALL"
  9. SET "WMIC_SERVICE=WMIC /NODE:"%TEMP_HOST:~2%" /USER:"%2" /PASSWORD:"%~3" /NAMESPACE:\\ROOT\CIMV2 PATH WIN32_SERVICE WHERE NAME"
  10. IF "%TEMP_PORT%" EQU "" SET "TEMP_PORT=23"
  11. IF "%TEMP_NTLM%" EQU "" SET "TEMP_NTLM=01"
  12. IF %TEMP_PORT% GTR 1024 ECHO.错误的连接端口,应该小于1024.&EXIT /B
  13. IF %TEMP_NTLM% GTR 0002 ECHO.错误的 NTLM 验证方式[0,1,2].&EXIT /B
  14. IF "%TEMP_NTLM%" EQU "0" SET "TEMP_NTLM=4"
  15. IF "%TEMP_NTLM%" EQU "1" SET "TEMP_NTLM=6"
  16. IF "%TEMP_NTLM%" EQU "2" SET "TEMP_NTLM=2"
  17. FOR /F "USEBACKQ SKIP=3 TOKENS=2,* DELIMS==" %%A IN (`"(WMIC /NODE:"%TEMP_HOST:~2%" /USER:"%2" /PASSWORD:%3 OS GET NAME)2<&1"`) DO (ECHO.错误...%%A&EXIT /B)
  18. SET "SEARCH____,#1=FOR /F "USEBACKQ SKIP=6 TOKENS=3 DELIMS= " %%A IN (`"%WMIC_REGEDIT% GETDWORDVALUE ^^^&H80000002^,"%TEMP_ITEM%"^,"#1""`) DO (SET DEFAULT_=%%A)"
  19. SET "SEARCH____,#2=FOR /F "USEBACKQ SKIP=1 TOKENS=1,2 DELIMS= " %%A IN (`"%WMIC_SERVICE%='#2' GET STARTMODE,STATE 2^>NUL"`) DO (SET MODE_#2=%%A&SET STAT_#2=%%B)"
  20. %SEARCH____,#1:#1=TelnetPort%
  21. SET DEFAULT_PORT=%DEFAULT_:~0,-1%
  22. %SEARCH____,#1:#1=SecurityMechanism%
  23. SET DEFAULT_NTLM=%DEFAULT_:~0,-1%
  24. %SEARCH____,#2:#2=TLNTSVR%
  25. SET MODE_TLNTSVR=%MODE_TLNTSVR%
  26. SET STAT_TLNTSVR=%STAT_TLNTSVR%
  27. IF "%STAT_TLNTSVR%" EQU "" ECHO.TELNET 服务不存在.&EXIT /B
  28. %SEARCH____,#2:#2=NTLMSSP%
  29. SET MODE_NTLMSSP=%MODE_NTLMSSP%
  30. SET STAT_NTLMSSP=%STAT_NTLMSSP%
  31. SET "CHANGE_PORT=%WMIC_REGEDIT% SETDWORDVALUE ^&H80000002,"%TEMP_ITEM%","TelnetPort","%TEMP_PORT%""
  32. SET "CHANGE_NTLM=%WMIC_REGEDIT% SETDWORDVALUE ^&H80000002,"%TEMP_ITEM%","SecurityMechanism","%TEMP_NTLM%""
  33. FOR /F "USEBACKQ SKIP=5 TOKENS=3 DELIMS= " %%A IN (`"%CHANGE_PORT%"`) DO (SET RETURN=%%A)
  34. IF NOT "%RETURN%" EQU "0;" ECHO.错误...%RETURN%更改连接端口失败.&EXIT /B
  35. FOR /F "USEBACKQ SKIP=5 TOKENS=3 DELIMS= " %%A IN (`"%CHANGE_NTLM%"`) DO (SET RETURN=%%A)
  36. IF NOT "%RETURN%" EQU "0;" ECHO.错误...%RETURN%更改 NTLM 验证方式失败.&EXIT /B
  37. CLS
  38. CALL :HELP
  39. ECHO.-------------------------------------------------------------------------------
  40. ECHO.正在连接到: %TEMP_HOST:~2%, 端口: %TEMP_PORT% ...
  41. %WMIC_SERVICE%='ntlmssp' CALL CHANGESTARTMODE >NUL 2>NUL
  42. %WMIC_SERVICE%='tlntsvr' CALL CHANGESTARTMODE >NUL 2>NUL
  43. IF /I "%STAT_NTLMSSP%" EQU "Stopped" %WMIC_SERVICE%='ntlmssp' CALL STARTSERVICE>NUL 2>NUL
  44. IF /I "%STAT_TLNTSVR%" EQU "Running" %WMIC_SERVICE%='tlntsvr' CALL STOPSERVICE >NUL 2>NUL
  45. FOR /F "USEBACKQ SKIP=4 TOKENS=3 DELIMS= " %%A IN (`"%WMIC_SERVICE%='tlntsvr' CALL STARTSERVICE"`) DO (SET RETURN=%%A)
  46. IF NOT "%RETURN%" EQU "0;" ECHO.错误...%RETURN%TELNET 服务无法启动.&EXIT /B
  47. IF EXIST %WINDIR%\SYSTEM32\TELNET.EXE (TELNET %TEMP_HOST:~2% %TEMP_PORT%) ELSE (ECHO.'Telnet.exe' 文件丢失.)
  48. IF "%6" EQU "/R" (
  49. ECHO.
  50. ECHO.正在恢复默认配置 ...
  51. %WMIC_REGEDIT% SETDWORDVALUE ^&H80000002,"%TEMP_ITEM%","TelnetPort","%DEFAULT_PORT%" >NUL 2>NUL
  52. %WMIC_REGEDIT% SETDWORDVALUE ^&H80000002,"%TEMP_ITEM%","SecurityMechanism","%DEFAULT_NTLM%" >NUL 2>NUL
  53. %WMIC_SERVICE%='ntlmssp' CALL CHANGESTARTMODE %MODE_NTLMSSP% >NUL 2>NUL
  54. %WMIC_SERVICE%='tlntsvr' CALL CHANGESTARTMODE %MODE_TLNTSVR% >NUL 2>NUL
  55. %WMIC_SERVICE%='tlntsvr' CALL STOPSERVICE >NUL 2>NUL
  56. IF /I "%STAT_TLNTSVR%" EQU "Running" %WMIC_SERVICE%='tlntsvr' CALL STARTSERVICE>NUL 2>NUL
  57. IF /I "%STAT_NTLMSSP%" EQU "Stopped" %WMIC_SERVICE%='ntlmssp' CALL STOPSERVICE >NUL 2>NUL
  58. )
  59. EXIT /B
  60. :HELP
  61. CLS
  62. ECHO.
  63. ECHO. 作者:lxzzr E-mail:lxzzr@21cn.com 2010/02/07/21:00
  64. ECHO.
  65. ECHO. 这是一个以标准方式开启远程 TELNET 服务的脚本.
  66. ECHO. 需要 RPC 服务支持及管理员权限,不依赖 IPC 服务,可以自定义 NTLM 验证方式及连接端口,默认连接端口:23.
  67. ECHO.
  68. ECHO. NTLM 验证方式:
  69. ECHO. 0.不使用 NTLM 验证;
  70. ECHO. 1.先使用 NTLM 验证,如果失败再使用用户名和密码 (默认);
  71. ECHO. 2.只使用 NTLM 验证;
  72. ECHO.
  73. ECHO. 如果指定了 /R 参数,那么则在退出时恢复远程主机的默认配置.
  74. ECHO.
  75. ECHO. 格式: %~n0 \\远程IP ^<用户名^> ^<密码^> Telnet端口 NTLM验证方式 /R
  76. GOTO :EOF
复制代码

哗,lxzzr出手了,我网络一窍不通,看着好膜拜啊~

TOP

汗,好久没来了,有愧啊....

TOP

晕。。这么好的东西怎么没人顶呢。。。。。。。。。

TOP

晕。这么邪恶的东西。。怎么会没人顶呢...

TOP

这个东西,执行不了啊,怎么回事了。。。

TOP

一闪而过就木有了,怎么回事?

TOP

6楼、7楼:将代码保存为 oten.bat, 命令提示符下跳转到 oten.bat 所在目录,再执行:oten.bat /?

TOP

回复 7楼 的帖子

先检查一下你的电脑上有没有WMIC:
开始
运行
cmd
wmic
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

怎么没有用啊?一闪而过就没有了?怎么搞啊?

TOP

这么好的东西怎么没人顶呢。。。。。。。。。

TOP

这个脚本有什么用?

TOP

无从下手。从哪修改都不知道

TOP

返回列表