zoukankan      html  css  js  c++  java
  • 3389脚本开启代码(vbs版)

    将以下代码复制到记事本里并保存为rots.vbs

    on error resume next
    set utstreem=wscript.stdout
    set instreem=wscript.stdin
    if (lcase(right(wscript.fullname,11))="wscript.exe") then
       set bjShell=wscript.createObject("wscript.shell")
       objShell.Run("cmd.exe /k cscript. //nologo "&chr(34)&wscript.scriptfullname&chr(34))
       wscript.quit
    end if
    if wscript.arguments.count<3 then
       usage()
       wscript.echo "Not enough parameters."
       wscript.quit
    end if
    ipaddress=wscript.arguments(0)
    username=wscript.arguments(1)
    password=wscript.arguments(2)
    if wscript.arguments.count>3 then
       port=wscript.arguments(3)
    else
       port=3389
    end if
    if not isnumeric(port) or port<1 or port>65000 then
       wscript.echo "The number of port is error."
       wscript.quit
    end if
    if wscript.arguments.count>4 then
       reboot=wscript.arguments(4)
    else
       reboot=""
    end if
    usage()
    outstreem.write "Conneting "&ipaddress&" ...."
    set bjlocator=createobject("wbemscripting.swbemlocator")
    set bjswbemservices=objlocator.connectserver(ipaddress,"root/cimv2",username,password)
    objswbemservices.security_.privileges.add 23,true
    objswbemservices.security_.privileges.add 18,true
    showerror(err.number)
    outstreem.write "Checking OS type...."
    set colinstoscaption=objswbemservices.execquery("select caption from win32_operatingsystem")
    for each objinstoscaption in colinstoscaption
       if instr(objinstoscaption.caption,"Server")>0 then
          wscript.echo "OK!"
       else
          wscript.echo "OS type is "&objinstoscaption.caption
          outstreem.write "Do you want to cancel setup?[y/n]"
          strcancel=instreem.read
          if lcase(strcancel)<>"n" then wscript.quit
       end if
    next
    outstreem.write "Writing into registry ...."
    set bjinstreg=objlocator.connectserver(ipaddress,"root/default",username,password).get("stdregprov")
    HKLM=&h80000002
    with objinstreg
    .createkey ,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache"
    .setdwordvalue HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache","Enabled",0
    .createkey HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer"
    .setdwordvalue HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer","EnableAdminTSRemote",1
    .setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server","TSEnabled",1
    .setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermDD","Start",2
    .setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermService","Start",2
    .setstringvalue HKLM,".DEFAULT\Keyboard Layout\Toggle","Hotkey","1"
    .setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp","PortNumber",port
    end with
    showerror(err.number)
    rebt=lcase(reboot)
    if rebt="/r" or rebt="-r" or rebt="\r" then
       outstreem.write "Now, reboot target...."
       strwqlquery="select * from win32_operatingsystem where primary='true'"
       set colinstances=objswbemservices.execquery(strwqlquery)
       for each objinstance in colinstances
          objinstance.win32shutdown(6)
       next
       showerror(err.number)
    else
       wscript.echo "You need to reboot target."&vbcrlf&"Then,"
    end if
    wscript.echo "You can logon terminal services on "&port&" later. Good luck!"
    function showerror(errornumber)
    if errornumber Then
       wscript.echo "Error 0x"&cstr(hex(err.number))&" ."
       if err.description <> "" then
          wscript.echo "Error description: "&err.description&"."
       end if
       wscript.quit
    else
       wscript.echo "OK!"
    end if
    end function
    function usage()
    wscript.echo string(79,"*")
    wscript.echo "ROTS v1.01"
    wscript.echo "Remote Open Terminal services Script, by zzzEVAzzz"
    wscript.echo "Welcome to visite www.isgrey.com"
    wscript.echo "Usage:"
    wscript.echo "cscript. "&wscript.scriptfullname&" targetIP username password [port] [/r]"
    wscript.echo "port: default number is 3389."
    wscript.echo "/r: auto reboot target."
    wscript.echo string(79,"*")&vbcrlf
    end function

    #######################################################
    描述:远程启动终端服务的windows脚本。
    特点:不依赖于目标的ipc$开放与否。
    原理:直接访问目标的windows管理规范服务(WMI)。该服务为系统重要服务,默认启动。
    支持平台:win2kpro win2kserver winxp win.net
    使用方法:
    命令行方式下使用windows自带的脚本宿主程序cscript.exe调用脚本,例如:

    c:\>cscript ROTS.vbs <目标IP> <用户名> <密码> [服务端口] [自动重起选项]

    服务端口: 设置终端服务的服务端口。默认是3389。
    自动重起选项: 使用/r表示安装完成后自动重起目标使设置生效。使用此参数时,端口设置不能忽略。

    脚本会判断目标系统类型,如果不是server及以上版本,就会提示你是否要取消。
    因为pro版不能安装终端服务。
    如果你确信脚本判断错误,就继续安装好了。

    如果要对本地使用,IP地址为127.0.0.1或者一个点(用.表示),用户名和密码都为空
    ##################################
  • 相关阅读:
    MVVM框架-MVVMLight
    WPF多值绑定及多值转换(MultiBinding和IMultiValueConverter)
    WPF使用转换器(Converter)
    WPF绑定功能常用属性介绍
    WPF绑定属性
    Java工作笔记:工作中使用JNA调用C++库的一些细节(转载)
    关于使用sudo命令后找不到JAVA_HOME的问题
    IDEA入门级使用教程
    dubbo协议参考手册(转)
    Javascript 基础夯实 —— 使用 webWorker 实现多线程(转)
  • 原文地址:https://www.cnblogs.com/top5/p/1604753.html
Copyright © 2011-2022 走看看