免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

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

開(kāi)通VIP
WMI腳本初級(jí)讀本
譯者按]本人今日著迷于腳本,成天呆在Microsoft的網(wǎng)站上。遂決定將部分文件翻譯過(guò)來(lái),以茲共享。也希望大家能加入這個(gè)行列。另外,在翻譯的過(guò)程中,只會(huì)注重重要的部分,某些無(wú)所謂的或者客套的東西就不花時(shí)間了,請(qǐng)?jiān)彙_€有,翻譯水平和技術(shù)水平有限,不要見(jiàn)笑。


WMI腳本初級(jí)讀本:第一部分
Greg Stemp, Dean Tsaltas, and Bob Wells
Microsoft Corporation

Ethan Wilansky
Network Design Group

June 13, 2002

摘要:Scripting Guys的第一個(gè)Scripting Clinic專欄。本文介紹了如何使用WMI腳本庫(kù)創(chuàng)建有用的Windows系統(tǒng)管理腳本

WMI(Windows® Management Instrumentation)是Microsoft保持得最好的秘密,或者曾經(jīng)被這樣告知過(guò)。就是這樣,沒(méi)錯(cuò)的。WMI是Windows的主要管理允許技術(shù)。這對(duì)你意味著什么?好,如果你管理者Windows服務(wù)器和工作站,或者你創(chuàng)建Windows管理程序,你需要知道WMI.本文是教授WMI系列的第一部分,說(shuō)準(zhǔn)確點(diǎn),是怎樣使用WMI腳本庫(kù)賴創(chuàng)建Windows大量的系統(tǒng)管理腳本。

(以下省略。主要是一些客套,感謝Andrew Clinick,不知是什么人。然后是介紹作者自己, Scripting Guys以及他們的業(yè)務(wù))

What Is WMI?
WMI最初是作為Windows NT4.0 SP4的附加組件發(fā)布的,現(xiàn)在已成為Windows 2000,Windows XP,Windows.NET操作系統(tǒng)服務(wù)器家族的核心管理允許(management-enabling)技術(shù)?;诋a(chǎn)業(yè)標(biāo)準(zhǔn)(由分布式管理任務(wù)組DMTF(Distributed Management Task Force )監(jiān)督),WMI可以訪問(wèn),配置,管理和檢測(cè)所有-好,幾乎所有-的Windows資源。

為掌握WMI的強(qiáng)大功能,想想你在去年甚至是今天是如何管理和檢測(cè)Windows工作站和服務(wù)器的。可能你曾經(jīng)用過(guò)或正在使用大量的圖形界面的管理工具管理Windows資源,例如磁盤,事件日志,文件,文件夾,文件系統(tǒng)網(wǎng)絡(luò)組件,操作系統(tǒng)設(shè)置,性能數(shù)據(jù),打印機(jī),等等

盡管圖形化工具提供了功能管理解決方案,但他們的共同點(diǎn)就是依賴Win32應(yīng)用程序可編程接口(API)來(lái)訪問(wèn)和管理Windows資源。為什么?因?yàn)榫幊淘L問(wèn)Windows資源的唯一方法就是通過(guò)Win32 API.這樣Windows系統(tǒng)管理員沒(méi)有簡(jiǎn)易的方法通過(guò)腳本語(yǔ)言來(lái)實(shí)現(xiàn)自動(dòng)化的通用管理任務(wù),因?yàn)榇蠖鄶?shù)的腳本語(yǔ)言不能直接調(diào)用Win32 API.WMI改變了這一點(diǎn),它提供了一個(gè)統(tǒng)一的模型和框架,通過(guò)這所有的Windows資源被暴露和描述。最好的事,系統(tǒng)管理員可以使用WMI腳本庫(kù)來(lái)創(chuàng)建系統(tǒng)管理腳本,從而管理任何Windows資源。

使用Windows Script Host 和Microsoft Visual Basic® Scripting Edition (VBScript),或者任何支持COM自動(dòng)化的腳本語(yǔ)言(例如,ActiveState Corporation‘s ActivePerl),可以為管理和自動(dòng)化你的企業(yè)系統(tǒng),應(yīng)用程序網(wǎng)絡(luò)書寫下列所述的腳本:

· Windows .NET Server, Windows XP Professional, and Windows 2000系統(tǒng)管理. 可以書寫腳本來(lái)獲取性能數(shù)據(jù),管理事件日志,文件系統(tǒng),打印機(jī),矗立起,注冊(cè)表,等等(下面的自己翻譯吧 scheduler, security, services, shares, and numerous other operating system components and configuration settings.)

· 網(wǎng)絡(luò)管理. 可以書寫腳本來(lái)管理網(wǎng)絡(luò)服務(wù),例如DNS, DHCP, and SNMP-enabled devices.

· 實(shí)時(shí)監(jiān)控. 通過(guò)使用事件訂閱(event subscriptions),可以書寫腳本來(lái)對(duì)以下資源監(jiān)控并做出回應(yīng),如事件日志,文件系統(tǒng)和注冊(cè)表更改,以及其他實(shí)時(shí)的操作系統(tǒng)更改。從概念上講,WMI事件訂閱和通告之于WMI與SNMP中段之于SNMP相同。

· Windows .NET Enterprise Server 管理. 可以書寫腳本來(lái)管理Microsoft® Application Center, Operations Manager, Systems Management Server, Internet Information Server, Exchange Server, and SQL Server.

Quick Start to WMI Scripting
為對(duì)WMI腳本有初步了解,首先舉個(gè)例子,獲取遠(yuǎn)程基于Windows平臺(tái)的電腦上安裝的物理內(nèi)存。在WMI之前,這個(gè)任務(wù)是不可能通過(guò)腳本簡(jiǎn)單地完成的,除非借助第三方的工具。事實(shí)上,在WMI之前,為以獲取電腦安裝物理內(nèi)存的唯一方法就是通過(guò)System Properties對(duì)話框?,F(xiàn)在,假定WMI安裝在目標(biāo)電腦并且你有權(quán)限操作目標(biāo)電腦,就可以利用Listing 1那樣簡(jiǎn)單的腳本完成該任務(wù)。

Listing 1. Retrieving total physical memory using WMI and VBScript

strComputer = "atl-dc-01"

Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_LogicalMemoryConfiguration")

For Each wbemObject In wbemObjectSet
  WScript.Echo "Total Physical Memory (kb): " & wbemObject.TotalPhysicalMemory
Next


將上述腳本復(fù)制到文本編輯器,并且改變strComputer變量的值,然后保存以.vbs的擴(kuò)展保存文件。按圖一所示運(yùn)行腳本



Figure 1. GetMemory.vbs output

神奇的現(xiàn)象出現(xiàn)了,你應(yīng)該看到了目標(biāo)電腦的物理內(nèi)存。

假定你想獲取遠(yuǎn)程電腦的所有服務(wù)的名字,狀態(tài)和啟動(dòng)類型。見(jiàn)Listing 2的樣例。注意Listing 2與Listing 1的步驟一致。

Listing 2. Retrieving services information using WMI and VBScript

strComputer = "atl-dc-01"

Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_Service")

For Each wbemObject In wbemObjectSet
  WScript.Echo "Display Name: " & wbemObject.DisplayName & vbCrLf & _
         "  State:   " & wbemObject.State    & vbCrLf & _
         "  Start Mode: " & wbemObject.StartMode
Next


運(yùn)行Listing 2的輸出參見(jiàn)Figure 2.



Figure 2. GetServices.vbs output

假設(shè)你的興趣不在于服務(wù),而在于Windows事件日志。使用Listing 1的腳本模板,Listing 3可以輕易的實(shí)現(xiàn)。必須指出的事,如果日志包含上千條記錄,可能會(huì)花費(fèi)大量的時(shí)間運(yùn)行。

Listing 3. Reading Windows event log records

strComputer = "atl-dc-01"

Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_NTLogEvent")

For Each wbemObject In wbemObjectSet
  WScript.Echo "Log file:    " & wbemObject.LogFile    & vbCrLf & _
         "Record Number:  " & wbemObject.RecordNumber  & vbCrLf & _
         "Type:      " & wbemObject.Type      & vbCrLf & _
         "Time Generated: " & wbemObject.TimeGenerated & vbCrLf & _
         "Source:     " & wbemObject.SourceName   & vbCrLf & _
         "Category:    " & wbemObject.Category    & vbCrLf & _
         "Category String: " & wbemObject.CategoryString & vbCrLf & _
         "Event:      " & wbemObject.EventCode   & vbCrLf & _
         "User:      " & wbemObject.User      & vbCrLf & _
         "Computer:    " & wbemObject.ComputerName  & vbCrLf & _
         "Message:     " & wbemObject.Message    & vbCrLf
Next


仔細(xì)考察Listings 1, 2和3,可以得出兩個(gè)非常重要的結(jié)論。第一個(gè)結(jié)論是三個(gè)腳本執(zhí)行了相同的三個(gè)步驟:腳本連接WMI,獲取WMI管理資源,然后返回資源屬性。第二個(gè)重要的結(jié)論是唯一改變的是類名(即,Win32_LogicalMemoryConfiguration, Win32_Service和 Win32_NTLogEvent)和資源的相應(yīng)屬性。

三步驟對(duì)WMI腳本是通用的。下面仔細(xì)考察每一個(gè)步驟。

Step One: 連接WMI Service
任何腳本的第一個(gè)步驟就是與目標(biāo)電腦上的Windows管理服務(wù)建立連接。連接本地或遠(yuǎn)程電腦的WMI很簡(jiǎn)單,調(diào)用VBScript的Getobject函數(shù),其參數(shù)為WMI腳本庫(kù)的標(biāo)記名(即"winmgmts:")和目標(biāo)電腦名

用這種方式連接WMI,會(huì)返回對(duì)SWbemServices對(duì)象的引用,在Listings 1, 2, 和 3中用變量名wbemServices引用。SWbemServices是在WMI腳本庫(kù)中定義的。WMI腳本庫(kù)提供通用功能對(duì)象集,腳本使用他們來(lái)訪問(wèn)WMI infrastructure。一旦引用了SWbemServices 對(duì)象,就可以調(diào)用SWbemServices提供的任何方法。InstancesOf就是這樣一種方法

Step Two: 獲取WMI管理資源
不可否認(rèn),第二步絕大程度上取決于要執(zhí)行的任務(wù)。在獲取有關(guān)WMI管理資源的信息時(shí),第二步很簡(jiǎn)單,調(diào)用SWbemServices對(duì)象的InstancesOf方法。如同名字暗示的那樣,InstancesOf 返回所有的由資源類名標(biāo)識(shí)的管理資源。InstancesOf按SWbemObjectSet集合的方式返回請(qǐng)求的資源。再Listing 1,2和3中,使用變量名wbemObjectSet來(lái)引用。SWbemObjectSet是WMI腳本庫(kù)定義的另外一個(gè)腳本對(duì)象

Step Three: 顯示W(wǎng)MI管理資源的屬性
最后一步是列舉SWbemObjectSet 集合的內(nèi)容。SWbemObjectSet 內(nèi)的每一項(xiàng)是一個(gè) SWbemObject (WMI腳本庫(kù)的對(duì)象),他表示請(qǐng)求資源的單個(gè)實(shí)例。可以使用SWbemObject 來(lái)訪問(wèn)管理資源類定義中定義的方法和屬性。

但如果獲取WMI信息的腳本步驟是相同的,Win32_LogicalMemoryConfiguration, Win32_Service, 和 Win32_NTLogEvent的類是什么呢?更進(jìn)一步,他們來(lái)自哪里,還有其他什么類,怎樣使用他們呢?問(wèn)題的答案在與下述的WMI體系的組件。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
PowerShell和VBS腳本轉(zhuǎn)化為bat腳本
如何確定哪些用戶在驅(qū)動(dòng)器上使用的磁盤空間最多?
初窺WMI
使用腳本程序管理Windows網(wǎng)絡(luò) 第三部分:理解WMI
如何使用腳本鎖定任務(wù)欄?
用WMI對(duì)象列出系統(tǒng)所有進(jìn)程和mac地址信息
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服