本文的目的很简单,半自动化,半自动化哟,就拿我们最经常干的一件事情开刀:修改远程桌面的端口号。
正常流程是这样的:
1、 打开注册表编辑器
2、 巴拉巴拉点击鼠标到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Terminal Server\WinStations\RDP-Tcp]这个长的不行的键值上
3、 将右侧名为PortNumber的键值的值(默认是3389)修改成自己需要的端口。
上面的方法我们可以算算需要点击鼠标多少次,好吧,其实虽然过程很简单,但是确实很麻烦是吧?
今天的目的是做一个脚本,只要运行之后,根据提示输入需要更改的端口,就算ok,高科技外带牛X的节奏。
以下保存为cmd或者bat文件,切记要以管理员身份运行。
-
@echo off 修改远程端口号,写入注册表
-
::::::::::::::::::::::::::::
-
:必须要管理员权限
-
:首先写入一个注册表文件
-
:提醒用户输入需要更改的端口号
-
:由于这里需要十六进制数据,但是用户不会记录这个,所以要有一个转换过程
-
:转换完毕后继续写入注册表,然后运行该注册表,最后删除
-
echo Windows Registry Editor Version 5.00 >t1.reg
-
echo.
-
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] >>t1.reg
-
:::::::::::::::::::::::::::::::::::::十进制转换十六进制
-
setlocal enabledelayedexpansion
-
set hexstr=0 1 2 3 4 5 6 7 8 9 A B C D E F
-
set d=0
-
for %%i in (%hexstr%) do (set d!d!=%%i&set/a d+=1)
-
set/p scanf=请输入需要改变的RDP端口号,不可超过65535:
-
if not defined scanf exit/b
-
set dec=%scanf%
-
call :d2h
-
if not defined hex set hex=0
-
::echo %dec% 的十六进制为:0x%hex%
-
echo "PortNumber"=dword:0%hex% >>t1.reg
-
regedit /s t1.reg
-
del /q t1.reg
-
:d2h
-
if %scanf% equ 0 exit/b
-
set/a tscanf=%scanf%"&"15
-
set/a scanf">>="4
-
set hex=!d%tscanf%!!
-
goto :d2h
阅读(160262) | 评论(2) | 转发(0) |