电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Win2000自動化管理的實現

瀏覽:5日期:2023-09-14 17:19:00

與以前的操作系統相比,Windows 2K/XP的優點之一是具有更好的可管理性。例如它支持Windows 2000服務器終端服務下的遠程管理模式,支持Microsoft管理控制臺(MMC), 再有一個就是支持WMI。WMI是Windows Management Instrumentation的縮寫,即Windows 管理規范。WMI有許多用途,其中之一就是通過腳本編程實現管理自動化。

一、為什么要用腳本?

回顧九十年代,Windows NT之所以獲得成功,原因之一就在于相對而言這個操作系統比較容易使用,任何能夠使用Windows 3.1的用戶差不多就可以管理一個簡單的NT網絡(這在今天聽起來有點不可思議,但事實是,NT 3.1比Windows 2K/XP功能少得多,因而簡單得多)。只要看看NT的控制面板,這個操作系統可以做些什么就大致有個印象了。

隨著操作系統的發展,原來友好的界面變得更加友好。在Windows 2K/XP中,幾乎每一個操作過程都有向導,每一個操作系統級的對象都有圖形化的屬性頁;不同的操作選擇引導你到達最終完成任務的對話框,MMC允許你把常用的工具(甚至是第三方的工具)插入到定制的工具集。

然而,高級用戶感到友好的GUI實在太繁瑣了。另外,盡管在命令行上也可以執行某些任務,但命令行沒有圖形工具那樣完備的功能。為了讓Windows 2K/XP下的操作任務自動化,一種較好的途徑是通過腳本程序直接訪問圖形化工具訪問的管理接口。WMI允許用戶通過一個統一的接口,用腳本語言訪問操作系統的幾乎任意一個部分。當然,用腳本對WMI編程也有一些限制,例如不能直接訪問Win32 API。

二、WMI是什么?

WMI是Windows 2K/XP管理系統的核心;對于其他的Win32操作系統,WMI是一個有用的插件。WMI以CIMOM為基礎,CIMOM即公共信息模型對象管理器(Common Information Model Object Manager),是一個描述操作系統構成單元的對象數據庫,為MMC和腳本程序提供了一個訪問操作系統構成單元的公共接口。有了WMI,工具軟件和腳本程序訪問操作系統的不同部分時不需要使用不同的API;相反,操作系統的不同部分都可以插入WMI,如圖一所示(該圖來自MSDN),工具軟件和WMI可以方便地讀寫WMI。

圖一

Windows 2K/XP和Windows 98 都支持WMI;如果為NT 4.0和Windows 95加上了 Service Pack 4或更高版本,NT 4.0和Win95也支持WMI。因此,用WMI進行遠程管理時,并非一定要用Windows 2K/XP(當然,如果WMI腳本在一臺沒有性能監視器的Win9x機器上運行,就不能在遠程Win9x系統上查詢Windows 2K/XP的性能監視器。

如前所述,WMI允許通過一個公共的接口訪問多種操作系統構成單元,因此不必分別對待各種底層接口或所謂的“提供者”。利用WMI可以高效地管理遠程和本地的計算機;與此相對,并非所有的Windows 2K/XP命令行工具都支持遠程運行。

WMI是WBEM模型的一種實現。WBEM即Web-Based Enterprise Management,或基于Web的企業管理,WBEM由DMTF(Distributed Management Task Force,分布式管理任務組)在許多廠商的幫助下創立,包括Compaq、Sun、Microsoft等。WBEM的目標是,為管理企業環境開發一個標準的接口集。WBEM模型最關鍵的部分是它的數據模型(或描述和定義對象的方式)、編碼規范(Encoding Specification),以及在客戶端和服務器端之間傳輸數據的模式。

WBEM的數據模型是CIM(Common Information Model,公共信息模型)。CIM是一個用來命名計算機的物理和邏輯單元的標準的命名系統(或稱為命名模式),例如硬盤的邏輯分區、正在運行的應用的一個實例,或者一條電纜。

CIM是一個面向對象的模型,使用一組面向對象的術語進行描述。CIM包含類(Class),類是被管理單元的模板。類的實例稱為對象(Object),對象代表著底層系統的一個具體單元。名稱空間(Namespace)是一個類的集合,每個名稱空間面向一個特定的管理領域。類包含屬性(Property)和方法(Method)。

三、WMI軟件開發包

利用WMI軟件開發包(SDK)可以方便地查看可用的CIM和Win32類。WMI SDK可以從http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/001/566/msdncompositedoc.xml下載,有8M多,可謂不小。

WMI SDK要求操作系統必須是Windows 2K/XP或者NT 4.0 SP4或更高版本;盡管Win9x系統上可以安裝WMI支持軟件,但SDK不能在Win9x上運行。另外,為支持SDK的ActiveX控件,SDK還要求有IE 5.0或更高版本。SDK對機器性能的最低要求是:Pentium處理器,32 Mb的RAM,40 Mb的磁盤空間,以及至少要有800 x 600、256色的顯示設備。對于運行Windows 2K/XP的機器來說,這些要求應該不會成為問題。CIMOM默認以服務的形式運行,但如果機器沒有網卡,CIMOM不能作為服務運行,不過此時可以作為一個應用運行,只需執行winmgmt.exe即可。winmgmt.exe在%systemroot%system32wbem的WMI主目錄下。

SDK必須由管理員組的成員安裝。安裝過程很簡單,執行WMISdk.exe啟動向導,指定安裝的目標目錄(默認是program fileswmi)。選擇要安裝的可選組件(默認安裝除了SNMP支持以外的所有組件),最后點擊Finish。安裝SDK不需要重新啟動。安裝完成后,“開始/程序”菜單上會增加一個WMI SDK組。

點擊WMI SDK程序組的WMI CIM Studio。CIM Studio提示連接名稱空間,并顯示默認連接的名稱空間是rootcimv2,確認即可。如果你用Administrator身分登錄Windows,再次點擊確定以當前身份登錄;如果你用其他的身份登錄Windows,請改用Administrator登錄。

現在,假設我們要在當前的機器上查找一個對象:C:驅動器。我們不知道C:驅動器在CIM或WMI中的具體名稱,瀏覽CIM Studio列出的數百個類又太麻煩,怎么辦呢?可以使用Find按鈕(左邊上方的望遠鏡,參見圖三)。圖二顯示了點擊Find按鈕后顯示的Search for Class對話框,在這里輸入我們猜想C:驅動器的類名稱中應當包含的單詞,然后點擊Go!按鈕。由于我們正在尋找一個命名的磁盤分區,而且我們知道Windows把這種分區叫做logical disk或logical drive,因此這里的搜索關鍵詞可以是logical。當然,搜索關鍵詞也可以是disk,但這時會有大量的搜索結果出現。

圖二

圖二顯示了搜索關鍵詞logical得到的結果。選擇Win32_LogicalDisk并點擊OK,圖三的窗口出現(為什么不選擇CIM_LogicalDisk?前面已經提到,WMI管理的所有對象都帶有Win32前綴。如果選擇CIM_LogicalDisk然后要求顯示出它的實例,不可能看到可用邏輯驅動器的任何具體信息,只能看到對應每一個可用邏輯驅動器的Win32_LogicalDisk條目)。現在,窗口的右邊顯示出Win32_logicalDisk類的屬性。可以看到,屬性的值都為空,這是因為我們正在查看的是一個類,而不是類的具體實例。要顯示出Win32_LogicalDisk類的實例,點擊右邊上面的Instances按鈕(右數第四)。

圖三

點擊Instances按鈕之后,窗口顯示出當前機器上所有邏輯驅動器的實例,包括網絡邏輯驅動器。點擊設備ID為“C:”的實例,顯示出圖四的結果。右邊窗格包含了當前實例的屬性和方法,當前邏輯驅動器的名稱顯示在右邊窗格的上方。

圖四

利用腳本可以修改這些屬性或調用這些方法。如果對某個屬性的含義不太清楚,只需選擇Win32_LogialDisk類或Win32_LogicalDisk.DeviceID='C:'實例,再點擊Help按鈕。大多數對象的屬性和方法都有詳細的說明。

CIM分三層。第一層是核心模型(Core Model),這一層包含的類定義對于所有管理領域來說都是共同的。第二層是公共模型(Common Model),這一層包含的類定義對于特定的管理領域來說是公共的,但與具體的操作系統和系統設計無關。第三層是擴展模型(Extension model),這一層包含的類定義與特定的操作系統或技術有關。

WMI是Microsoft擴展CIM 2.0得到的面向Win32系統的擴展模型。引用WMI類和屬性的形式是“擴展前綴_類名稱.屬性名稱”,例如Win32_ComputerSystem.Name,其中Win32是CIM模式cimv2名稱空間內WMI擴展類的前綴,ComputerSystem是類,Name是屬性。

編寫WMI腳本的很大一部分工作涉及到讀取和設置屬性值。當前,WMI提供的方法還很有限,但隨著時間的推移,相信WMI和CIM提供的方法都會越來越豐富。

四、腳本編程初步

前面我們通過SDK查看了Win32_LogicalDisk類和它的屬性,下面來看看如何在腳本中訪問這些信息。如果你的系統上安裝了Microsoft Windows 2000 Resource Kit,program filesresource kit文件夾下默認會有一個listfreespace.vbs腳本。這個腳本查詢Win32_LogicalDisk類的各個對象,分別提取一組屬性值:DeviceID,即驅動器標識符;FreeSpace,驅動器空閑空間的字節數。假設一臺機器的A:是軟盤驅動器,D:是CD-ROM驅動器,listfreespace.vbs的輸出類如:

A: not availableC: 8,243,381,248 bytesD: not available

下面顯示了getfree.vbs腳本程序的代碼,它用更少的代碼獲取類似的信息。啟動getfree.vbs時要指定驅動器標識符,getfree.vbs將顯示出驅動器空閑空間和文件系統類型。

' 變量聲明Dim driveArg, dObject, driveName' 創建文件系統對象,并將該對象賦值' 給dObject變量(drive object的縮寫)Set dObject = CreateObject('Scripting.FileSystemObject')' 如果用戶沒有在命令行指定待查詢的驅動器標識符,' 則顯示錯誤信息并停止運行腳本If Wscript.Arguments.Count < 1 Then _ Wscript.Echo '請在命令行參數中指定要查詢的驅動器,例如C:',_ Wscript.Quit(1)' 把用戶指定的驅動器標識符提供給文件系統對象,' 在driveArg中保存對應的絕對路徑名driveArg = dObject.GetAbsolutePathName(Wscript.Arguments(0))' 獲取用戶指定的驅動器的名字driveName = dObject.GetDriveName(driveArg)' 提取指定驅動器的屬性信息' 在對話框中顯示這些信息With dObject.GetDrive(driveName) Wscript.Echo '驅動器', .DriveLetter,':空閑空間是',.Freespace / 1024,_ 'KB,文件系統是', .FileSystem End With' 結束...Set dObject = Nothing

在Windows命令行窗口中,執行“Wscript getfree.vbs c:”將顯示出類如圖五的結果。如果執行“Cscript getfree.vbs c:”,則提示信息以字符方式顯示。

圖五

又如,下面的VBScript腳本提示輸入遠程機器的名字,然后關閉指定的遠程機器:

MachineName = InputBox('輸入要關閉的遠程機器名字')Set OSSet = GetObject('winmgmts:{(Debug,RemoteShutdown)}//'& MachineName &'/root/cimv2').ExecQuery('select * from Win32_OperatingSystem where Primary=true')for each OpSys in OSSet OpSys.Shutdown()next

當然,如果只有本文的知識,你還不能算是一個WMI腳本編程的高手。但現在你已經了解了如何用SDK查詢信息,如何通過腳本訪問對象的屬性和方法。繼續努力吧!

主站蜘蛛池模板: 闪蒸干燥机-喷雾干燥机-带式干燥机-桨叶干燥机-[常州佳一干燥设备] | 仿古瓦,仿古金属瓦,铝瓦,铜瓦,铝合金瓦-西安东申景观艺术工程有限公司 | 食品无尘净化车间,食品罐装净化车间,净化车间配套风淋室-青岛旭恒洁净技术有限公司 | 旗杆生产厂家_不锈钢锥形旗杆价格_铝合金电动旗杆-上海锥升金属科技有限公司 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 臭氧实验装置_实验室臭氧发生器-北京同林臭氧装置网 | 电主轴,车床电磨头,变频制动电机-博山鸿达特种电机 | 武汉高温老化房,恒温恒湿试验箱,冷热冲击试验箱-武汉安德信检测设备有限公司 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 刘秘书_你身边专业的工作范文写作小秘书 | 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 合肥角钢_合肥槽钢_安徽镀锌管厂家-昆瑟商贸有限公司 | 涂层测厚仪_光泽度仪_uv能量计_紫外辐照计_太阳膜测试仪_透光率仪-林上科技 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 橡胶接头|可曲挠橡胶接头|橡胶软接头安装使用教程-上海松夏官方网站 | 壹作文_中小学生优秀满分作文大全 | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 耐驰泵阀管件制造-耐驰泵阀科技(天津)有限公司 | 拖鞋定制厂家-品牌拖鞋代加工厂-振扬实业中国高端拖鞋大型制造商 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 高低温万能试验机-复合材料万能试验机-馥勒仪器 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 高压包-点火器-高压发生器-点火变压器-江苏天网| 活性炭厂家-蜂窝活性炭-粉状/柱状/果壳/椰壳活性炭-大千净化-活性炭 | 神超官网_焊接圆锯片_高速钢锯片_硬质合金锯片_浙江神超锯业制造有限公司 | 滚塑PE壳体-PE塑料浮球-警示PE浮筒-宁波君益塑业有限公司 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 淘剧影院_海量最新电视剧,免费高清电影随心观看 | 模具钢_高速钢_不锈钢-万利钢金属材料 | 中医中药治疗血小板减少-石家庄血液病肿瘤门诊部 |