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())
{
}
}
}