国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
初窺WMI
今天,我沼澤將給大家介紹個(gè)朋友,它就是Microsoft Windows Management Instrumentation (WMI)。中文名字叫Windows管理規(guī)范。從Windows 2000開始,WMI(Windows 管理規(guī)范)就內(nèi)置于操作系統(tǒng)中,并且成為了Windows系統(tǒng)管理的重要組成部分。所以大家很容易就能見到它的,因?yàn)槲覀冎辽僖矐?yīng)該是個(gè)Windows 2000的使用者了。下面我將詳細(xì)介紹它的每個(gè)細(xì)節(jié),讓你從不認(rèn)識它到喜歡上它。
WMI能做什么?
WMI不僅可以獲取想要的計(jì)算機(jī)數(shù)據(jù),而且還可以用于遠(yuǎn)程控制。遠(yuǎn)程控制計(jì)算機(jī)可是大家都喜歡的東西。很多遠(yuǎn)程監(jiān)視控制類軟件通常的做法是:在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行服務(wù)端后臺程序,在本地計(jì)算機(jī)上運(yùn)行一個(gè)客戶器端控制程序,通過這二個(gè)程序的勾結(jié)來實(shí)現(xiàn)對計(jì)算機(jī)的遠(yuǎn)程控制。這種作法的缺點(diǎn)是十分明顯的,當(dāng)服務(wù)端程序關(guān)了,這種遠(yuǎn)程監(jiān)控就無法實(shí)現(xiàn)了,因?yàn)闆]有內(nèi)線了。而WMI實(shí)現(xiàn)的遠(yuǎn)程監(jiān)視和控制完全不需要另外裝什么服務(wù)端的東西,系統(tǒng)默認(rèn)就將WMI服務(wù)給開了。具體說來,WMI的本領(lǐng)如下:
1.獲取本地和遠(yuǎn)程計(jì)算機(jī)的硬件軟件信息。
2.監(jiān)視本地和遠(yuǎn)程計(jì)算機(jī)的軟件和服務(wù)等運(yùn)行狀況。
3.控制本地和遠(yuǎn)程計(jì)算機(jī)的軟件和服務(wù)運(yùn)行。
4.高級應(yīng)用。
如何訪問WMI?
當(dāng)我們知道WMI的某些本領(lǐng)后,我們已經(jīng)很想知道如何認(rèn)識他并利用他了。利用WMI有許多途徑,簡單說來有三種了:
1.通過微軟給我們提供的各種工具來實(shí)現(xiàn)普通查詢和操作。主要包括命令提示符下面的WMIC,還有就是微軟給我們提供的WMI TOOL,大家可以到微軟的網(wǎng)站上免費(fèi)下載,當(dāng)然我也可以給大家免費(fèi)提供。
2.通過自己編寫腳本來實(shí)現(xiàn)更靈活操作。要想真正靈活實(shí)用,對WSH腳本的熟悉是必須的,當(dāng)然如果你不熟悉也沒有關(guān)系,稍后我會(huì)給大家詳細(xì)解釋的。
3. 通過編寫我們自己的程序來訪問并操作它。什么語言都行。如果用.NET類程序要簡單些了,如果用VC等要復(fù)雜些了,起碼我是這么認(rèn)為的。
4.還有個(gè)訪問它的方法,就是到它的一個(gè)巢穴。在C:\WINDOWS\system32\wbem目錄中的東西都和它有密切聯(lián)系,有日志和各種工具,在里面你可以找到很多答案的。不過這些東西一般都不適合我們新手玩了,感覺有點(diǎn)嚇人。
我們今天的任務(wù)?
今天我們的任務(wù)有五個(gè):
任務(wù)一:利用WMIC列出遠(yuǎn)程計(jì)算機(jī)上的所有進(jìn)程。
任務(wù)二:利用WMIC關(guān)閉本地進(jìn)程。
任務(wù)三:通過WMIC把遠(yuǎn)程主機(jī)的進(jìn)程信息保存在一個(gè)網(wǎng)頁中
任務(wù)四:利用腳本實(shí)時(shí)監(jiān)視對方進(jìn)程
任務(wù)五:利用腳本給對方開放共享
查看和監(jiān)視進(jìn)程,還要把進(jìn)程給殺掉,最后還要給對方開個(gè)共享,我們這位朋友快把壞事做盡了。明白了我們的任務(wù),我們就可以上路了。這次我們將主要借助WMIC和腳本來實(shí)現(xiàn)我們的任務(wù),所以我們將主要分為兩大部分來講解。在五個(gè)任務(wù)的實(shí)戰(zhàn)中我們將更加深入地理解它,沒有基礎(chǔ)沒有關(guān)系,我將盡力去解釋所有的所謂的基礎(chǔ),讓大家能很輕松地和這位朋友交流。
第一部分:利用WMIC來認(rèn)識WMI
WMIC是Windows Management Instrumentation Commandline的簡稱,WMIC擴(kuò)展WMI,提供了從命令行接口和批命令腳本執(zhí)行系統(tǒng)管理的支持。為WMI名稱空間提供了一個(gè)強(qiáng)大的、友好的命令行接口。有了WMIC,WMI就顯的平易近人了。
執(zhí)行“WMIC”命令將啟動(dòng)WMIC命令行環(huán)境。第一次執(zhí)行WMIC命令時(shí),Windows首先要安裝WMIC,然后顯示出WMIC的命令行提示符。在WMIC命令行提示符上,命令將以交互的方式執(zhí)行。如果你不知道該如何和它交互,請敲個(gè)“/?”,細(xì)細(xì)看完全部的說明,你就知道了。WMIC也可以按照非交互的模式運(yùn)行。如果要執(zhí)行某個(gè)單步的任務(wù),或者運(yùn)行批命令中的一系列WMIC命令,非交互模式就很有用。要使用非交互模式,只要在同一個(gè)命令行上啟動(dòng)WMIC并輸入要執(zhí)行的命令就可以了。
1.任務(wù)一:利用WMIC列出遠(yuǎn)程計(jì)算機(jī)上的所有進(jìn)程
這是一個(gè)實(shí)現(xiàn)起來很簡單的任務(wù),和你用一個(gè)DOS命令一樣簡單,因?yàn)槲覀円驖u進(jìn)嘛,所以安排了這么一個(gè)熱身任務(wù)。在命令提示符下敲入下面的命令,我們將看到。
WMIC /node:192.168.1.2 /user:net process
解說:
1)上面命令中的NODE和USER是全局開關(guān)。如果你不愿意另外輸一次密碼,你也可以用PASSWORD開關(guān),后面寫上密碼就可以了(WMIC /node:192.168.1.2 /user:net /password:password process)。千萬要注意,這里的用戶名和密碼都必須是管理員級別的,其它的無效。WMIC提供了大量的全局開關(guān)、別名、動(dòng)詞、命令和豐富的命令行幫助增強(qiáng)用戶接口。全局開關(guān)是用來配置整個(gè)WMIC會(huì)話的選項(xiàng)。
2)Process是個(gè)別名,執(zhí)行了一個(gè)Win32_process類的WQL查詢,至于說是WMI的類是什么東西,感興趣的就自己找資料多多了解,如果你很懶的話,就等我有時(shí)間給你開課講解。別名是用戶和WMI名稱空間一個(gè)簡化語法的中間層。當(dāng)你指定一個(gè)別名時(shí),動(dòng)詞(Verb)表示要執(zhí)行的動(dòng)作。
3)如果你愿意,你可以在該后面加上個(gè)動(dòng)詞等,比如 LIST FULL等(如:WMIC /node:192.168.1.2 /user:net /password:password process),這樣你就看得更清楚了。
小提示:安裝了WMIC的機(jī)器可以連接到任何一臺安裝了WMI的機(jī)器,被連接的機(jī)器不需要安裝WMIC。
2.任務(wù)二:利用WMIC關(guān)閉本地進(jìn)程
執(zhí)行下面的命令將關(guān)閉正在運(yùn)行的QQ。我比較膽小,所以不敢關(guān)別人的QQ,只能拿我的QQ試驗(yàn)了,如果你的智商還夠用的話,膽子比較大的話,你很快就會(huì)去關(guān)別人的了。
WMIC
process where name=”qq.exe” call terminate
解說:
1)這次我們是用交互式的方法來執(zhí)行任務(wù),具體界面我就不多說了,圖上畫的比我說的好多了。
2)Call也是個(gè)動(dòng)詞,這個(gè)動(dòng)詞可是厲害了,控制類的沒有不用它的,它就是可以調(diào)用各種類的各種方法的大將。這里我們調(diào)用了terminate方法。從字面上你就可以看出是惡狠狠的。
3)Where能夠讓你查詢和篩選。在超級多的實(shí)例中找到你想要的。實(shí)例就是指每個(gè)類的具體實(shí)現(xiàn)了。前面的例子中看到的各個(gè)進(jìn)程都分別算是WIN32_PROCESS中的一個(gè)實(shí)例。
3.任務(wù)三:通過WMIC把遠(yuǎn)程主機(jī)的進(jìn)程信息保存在一個(gè)網(wǎng)頁中
這個(gè)任務(wù)和任務(wù)一中的大致相同,是任務(wù)一的加強(qiáng)。在任務(wù)一中信息以文本的形式顯示出來了。其實(shí)除了文本形式的輸出之外,WMIC還能夠以其他形式返回命令執(zhí)行結(jié)果,例如XML、HTML或者CSV(逗號分隔的文本文件),如圖3所示。我們可以敲入下面的命令:
wmic /output:C:\1.html /node:192.168.1.2 /user:net process list full /format:hform.xsl
輸入密碼 :******
解釋:
1)全局開關(guān)OUTPUT指明將這些信息保存在什么地方。
2)全局開關(guān)FORMAT指明了用什么樣的格式,至于說有那些格式可以用,你可以參看C:\WINDOWS\system32\wbem目錄中的*.xsl文件,你甚至不用管它們從哪里來的,用就是了。挨著看看,一定可以找到你喜歡的。
第二部分:利用腳本來認(rèn)識WMI
命令提示符的工具確實(shí)好用,但是卻顯示不出我們是高手,高手都是能利用程序來實(shí)現(xiàn)目的的。下面我們就開始用腳本來實(shí)現(xiàn)我們的任務(wù),功能將更加強(qiáng)大,操作將更加靈活。
無論腳本還是真正意義上的程序,要檢索 WMI 托管資源信息進(jìn)而查詢并利用WMI,都需要遵循以下三個(gè)步驟的。
1.連接到 WMI服務(wù)。建立一個(gè)到目標(biāo)計(jì)算機(jī)上的 Windows 管理服務(wù)的連接。
2.檢索 WMI 托管資源的實(shí)例。主要取決于要執(zhí)行的任務(wù)。
3.顯示W(wǎng)MI 某實(shí)例屬性和調(diào)用其方法。
1.任務(wù)四:利用腳本實(shí)時(shí)監(jiān)視對方進(jìn)程
在任務(wù)一和任務(wù)三中我們都是在查看對方的進(jìn)程,出來的結(jié)果對我們意義不是很大,在這個(gè)任務(wù)中我們要從現(xiàn)在開始每當(dāng)他開一個(gè)任務(wù)我們就察覺到,并把它記錄下來。我們要在他開進(jìn)程的那一秒開始報(bào)告并記錄,我們要清楚他所開的程序所在的位置,我們要比他更清楚地知道這些信息。
現(xiàn)在我們就按照前面提到的三個(gè)步驟來實(shí)現(xiàn)任務(wù)。
首先,我們連接到對方的WMI。在這里我們首先調(diào)用 VBScript 的中的Createobject()來得到一個(gè)對象,然后利用這個(gè)特殊的對象的方法來連接到遠(yuǎn)程的計(jì)算機(jī)上。這個(gè)特殊的對象就是wbemscripting.swbemlocator。
set olct=createobject("wbemscripting.swbemlocator")
set wbemServices=olct.connectserver(strComputer,"root\cimv2",strUser,strPwd)
注意其中的strComputer就是你所要連接的計(jì)算機(jī)的名稱或者IP地址,strUser,strPwd當(dāng)然就是用戶名和密碼了,我們說過這個(gè)用戶必須是具有管理員權(quán)限的才可以。root\cimv2是WMI的命名空間,關(guān)于WMI的命名空間,大家可以到“計(jì)算機(jī)管理\WMI控件”中看到,這里面的學(xué)問就大了,得慢慢琢磨,為了我們的任務(wù)快速實(shí)現(xiàn),我就不多解釋了。用這種方法連接到WMI,返回一個(gè)對SWbemServices對象的引用,一旦有一個(gè)對 SWbemServices對象的引用。我們就可以進(jìn)行第二個(gè)步驟了。
在第二個(gè)步驟中,我們將得到WMI 托管資源的實(shí)例,我們利用WbemServices中的一個(gè)方法ExecNotificationQuery可以查詢我們所要的類,進(jìn)而可以得到該類中實(shí)例。
Set colMonitoredProcesses = wbemServices. _
ExecNotificationQuery("select * from __instancecreationevent " _
& " within 1 where TargetInstance isa ‘Win32_Process‘")
注意這里有個(gè)類似于SQL語言的查詢語言,這里叫做WQL語言,懂SQL的一看就明白了,不懂的就在網(wǎng)上找找它的資料,滿天都是。得到的colMonitoredProcesses是所查詢的類的實(shí)例的集合。有了這些我們的第三個(gè)步驟就可以開始了。
在第三個(gè)步驟中,我們將顯示出得到的實(shí)例中的屬性。剛才我們得到的是實(shí)例的集合,在這里我們通過colMonitoredProcesses.NextEvent來獲取每一個(gè)具體的實(shí)例,得到每一個(gè)具體的實(shí)例后,我們就可以顯示出他們的屬性,也就是我們想看的東西了。這里我們顯示了CommandLine的屬性值。
到現(xiàn)在你是否有些迷惑了,因?yàn)槟氵€不知道到底WMI里面有那些類,具體類又有哪些屬性,呵呵,沒有關(guān)系的,用一些工具可以很輕松的得到這些信息。比如系統(tǒng)自帶的wbemtest,在運(yùn)行中敲入這個(gè)程序名,你就可以看到這些了,它也遵循連接、查詢、枚舉這三個(gè)步驟。自己慢慢玩吧,很快你就會(huì)發(fā)現(xiàn)WMI太大了,單是命名空間就有10多個(gè),然后單是我們常用的空間root\CIMV2里面就有近1000個(gè)類,每個(gè)類里面又有好多的屬性,有些類還有好多方法。哈哈,頭暈了吧?沒關(guān)系,其實(shí)你只需要知道其中的一些就好了。
看到這些估計(jì)你的頭已經(jīng)很大了,但是恭喜你,我們的這個(gè)任務(wù)已經(jīng)完成了,是的,就是這么簡單,下面我將完整代碼奉獻(xiàn)出來。
Set colArgs = WScript.Arguments
If WScript.arguments.count < 3 then
WScript.Echo "USAGE:" & vbCrLf & " Monitor Computer User Password files"
WScript.quit
End If
strComputer = wscript.arguments(0)
strUser = wscript.arguments(1)
strPwd = wscript.arguments(2)
strFile = wscript.arguments(3)
set olct=createobject("wbemscripting.swbemlocator")
set wbemServices=olct.connectserver(strComputer,"root\cimv2",strUser,strPwd)
Set colMonitoredProcesses = wbemServices. _
ExecNotificationQuery("select * from __instancecreationevent " _
& " within 1 where TargetInstance isa ‘Win32_Process‘")
i = 0
Do While i = 0
Set objLatestProcess = colMonitoredProcesses.NextEvent
Wscript.Echo now & " " & objLatestProcess.TargetInstance.CommandLine
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objNewFile = objFS.OpenTextFile(strFile,8,true)
objNewFile.WriteLine Now() & " " & objLatestProcess.TargetInstance.CommandLine
objNewFile.Close
Loop
到這個(gè)程序的核心了吧?相信你已經(jīng)懂了其中的很多,剩余的部分代碼我稍后解釋。我們先來感性認(rèn)識一下,先看它該怎么用吧!把上面的代碼拷貝到記事本中,然后保存為monitor.vbs的文件,然后在命令提示符下輸入:
CSCRIPT monitor.vbs
回車,你就會(huì)看到幫助,下面舉例說明這個(gè)腳本的具體用法:
CSCRIPT monitor.vbs 192.168.1.2 user password C:\1.txt
在命令提示符下敲入上面的命令就OK了,每當(dāng)對方開一個(gè)程序的時(shí)候,你就可以看到時(shí)間,程序路徑和程序名。如果你沒有時(shí)間去看這些信息,你還可以等有時(shí)間的時(shí)候到C:\1.txt看到這些信息。
小知識:
每次使用腳本,都必須敲入CSCRIPT和腳本的后綴名,很麻煩。這是因?yàn)橄到y(tǒng)默認(rèn)的執(zhí)行引擎是WSCRIPT,可以將它改成CSCRIPT。另外一個(gè)讓人不爽的是腳本執(zhí)行后總要顯示微軟的說明,好像腳本不是我們寫的一樣。不過你可以通過在命令提示符下敲入下面的命令來解決這個(gè)問題:
cscript //nologo //h:cscript //s
這樣你以后再運(yùn)行這些腳本的時(shí)候就不用在敲入CSCRIPT了,也不用在寫入.vbs的后綴名了,就上面的例子來說,你可以這樣用:
monitor 192.168.1.2 user password C:\1.txt
解釋:
1)前面的那幾行,大概就是為了顯示幫助和處理我們在后面輸入的參數(shù)。應(yīng)用到了WScript.Arguments這個(gè)對象,利用它我們可以來獲取并處理腳本的參數(shù)。
2)那個(gè)死循環(huán)是為了讓我們一直監(jiān)視他(她),每當(dāng)他開一個(gè)程序,我們就得到一個(gè)新的實(shí)例,我們就可以知道他更多的信息,哈哈,夠狠吧。這樣你也就知道了,當(dāng)我們這個(gè)腳本運(yùn)行后,只有通過我們?nèi)藶橹兄共拍苤袛啾O(jiān)視,人為中止的方法大家可以用CTRL+C來完成,也可以用各種野蠻的方法來中止。
3)在代碼中出現(xiàn)的另外一個(gè)核心對象就是FileSystemObject,應(yīng)該是大家的老朋友了吧,我這里就不再做解釋了,我們在這里應(yīng)用它主要是為了將結(jié)果同時(shí)保存到一個(gè)文件中,我們利用它來創(chuàng)建或打開一個(gè)文件,將信息追加進(jìn)去。
4)至于那個(gè)NOW,雖然體積很小,但是卻正是它給我們提供了時(shí)間這個(gè)重要的信息。
5)如果你想要監(jiān)視的是自己的計(jì)算機(jī)而不是遠(yuǎn)程的計(jì)算機(jī)(據(jù)我所知,這個(gè)應(yīng)用還是很廣的)。那么請將計(jì)算機(jī)名的參數(shù)寫為一個(gè)小點(diǎn),用戶名和密碼留為空。如下所示:
monitor . "" "" C:\1.txt
2.任務(wù)五:利用腳本給對方開放共享
有了任務(wù)四的基礎(chǔ),這次我們就先看代碼吧:
Set colArgs = WScript.Arguments
If WScript.arguments.count < 5 then
WScript.Echo "USAGE:" & vbCrLf & " Rshare Computer User Password SharePath ShareName"
WScript.quit
End If
strComputer = wscript.arguments(0)
strUser = wscript.arguments(1)
strPwd = wscript.arguments(2)
strPath = wscript.arguments(3)
strShareName = wscript.arguments(4)
intMaximumAllowed = 1
strDescription = "Temporary share"
Const SHARED_FOLDER = 0
set olct=createobject("wbemscripting.swbemlocator")
set wbemServices=olct.connectserver(strComputer,"root\cimv2",strUser,strPwd)
Set objSWbemObject = wbemServices.Get("Win32_Share")
intReturnValue = objSWbemObject.Create(strPath, _
strShareName, _
SHARED_FOLDER, _
intMaximumAllowed, _
strDescription)
if(intReturnValue = 0) Then
WScript.Echo "The share have been created successfully"
End If
解說:
1)我們可以看出來前面的那幾行是為顯示幫助和處理輸入?yún)?shù)而存在的。
2)緊接著設(shè)置了幾個(gè)變量,為以后做參數(shù)用的。這里我們可以先不理會(huì)它。
3)連接到主機(jī)的WMI,然后就是查詢。前面已經(jīng)說的很詳細(xì)了。
4)這次得到實(shí)例集后,我們用了它的一個(gè)方法,也就是這個(gè)方法讓共享成為了可能,聯(lián)系到第二部分的內(nèi)容,我們不難知道第一個(gè)參數(shù)表示要共享的路徑和文件名,第二個(gè)參數(shù)表示共享名,第三個(gè)參數(shù)為0就可以了,第四個(gè)參數(shù)是指可以連接的人數(shù),第五個(gè)參數(shù)是共享描述了,而我們只關(guān)心前面的兩個(gè)參數(shù)。如果手頭有MSDN那就好辦了,到MSDN中可以查到該方法的更詳細(xì)的內(nèi)容。
5)這次我們根據(jù)第四步的返回值來得到共享是否成功,并給出提示。不同的返回值代表不同的意義。這個(gè)信息在MSDN中可以很清楚地查到。比如0代表成功返回,2代表拒絕訪問,9代表用戶名錯(cuò)誤,25代表主機(jī)名沒有找到等等。
6)這次我們要注意的是,用這個(gè)腳本來實(shí)現(xiàn)遠(yuǎn)程文件共享,要求遠(yuǎn)程存在這個(gè)文件,否則無法共享。當(dāng)然你也可以利用教本創(chuàng)建自己的文件夾,很容易的,自己創(chuàng)建吧。
7)如上腳本創(chuàng)建后的共享是完全共享。就是可以刪除修改文件的。
8)用法舉例:share netp net swswsw C:\dodo marsh
好了,到現(xiàn)在為止,大家應(yīng)該對這位朋友有些了解了,我的介紹任務(wù)也就告一段落了,如果大家想進(jìn)一步認(rèn)識它,那就主要靠大家的主動(dòng)性了。這次我們主要通過WMIC和腳本來認(rèn)識它,下次我將帶領(lǐng)大家通過真正的程序代碼來認(rèn)識它,讓它也有個(gè)象Windows一樣漂亮的臉蛋。今天我所提到的估計(jì)只能算是WMI的萬分之一,都算不上是冰山一角。剩余的要靠自己來發(fā)揮了。如果你肯利用你的所學(xué),那么奇跡就會(huì)產(chǎn)生。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
系統(tǒng)小技巧:隱藏再深也不懼 WMI木馬查殺實(shí)戰(zhàn)
如何更改Windows XP操作系統(tǒng)序列號
VC知識庫文章 - WMI 常見問題解答
wmic的文件使用詳解
WMI問題全解(Windows管理規(guī)范)<轉(zhuǎn)>
深入挖掘Windows腳本技術(shù)(三)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服