本文的目的很简单,半自动化,半自动化哟。

就拿我们最经常干的一件事情开刀:修改远程桌面的端口号。

正常流程是这样的:

1、打开注册表编辑器

2、巴拉巴拉点击鼠标到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Terminal Server\WinStations\RDP-Tcp]这个长的不行的键值上

3、将右侧名为PortNumber的键值的值(默认是3389)修改成自己需要的端口。

上面的方法我们可以算算需要点击鼠标多少次,好吧,其实虽然过程很简单,但是确实很麻烦是吧?

今天的目的是做一个脚本,只要运行之后,根据提示输入需要更改的端口,就算ok,高科技外带牛X的节奏。怎么做的很简单,完全看代码吧,不会看的也可以直接用。

以下保存为cmd或者bat文件,切记要以管理员身份运行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@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%!!hex!
goto :d2h



本文转自 九叔 51CTO博客,原文链接:http://blog.51cto.com/jiushu/1332093,如需转载请自行联系原作者