小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

WSH

 那些小山 2011-03-17

WSH

目錄

簡介
WSH 是什么
WSH的推廣
WSH 有什么用
舉例
WSH 是怎樣工作的
WSH 怎么用
WSH 有不足嗎

編輯本段簡介

  
  

  

WSH--這個(gè)在詞典中都很難找尋的名詞,對(duì)許多朋友來講也許還比較陌生。但正是WSH ,使 Windows 操作系統(tǒng)具備了更為強(qiáng)大的功能。它讓我們?cè)谑褂孟到y(tǒng)時(shí)擁有了許多的便利,但同時(shí),也讓我們的電腦遭遇了不少的麻煩。下面,就讓我們一步步走進(jìn) WSH 的神秘世界,共同評(píng)判它的是非功過。

編輯本段WSH 是什么

  WSH 是“Windows Scripting Host”的縮略形式,其通用的中文譯名為“Windows 腳本宿主”。對(duì)于這個(gè)較為抽象的名詞,我們可以先作這樣一個(gè)籠統(tǒng)的理解:它是內(nèi)嵌于 Windows 操作系統(tǒng)中的腳本語言工作環(huán)境。
  Windows Scripting Host 這個(gè)概念最早出現(xiàn)于 Windows 98 操作系統(tǒng)。大家一定還記得 MS-Dos 下的批處理命令,它曾有效地簡化了我們的工作、帶給我們方便,這一點(diǎn)就有點(diǎn)類似于如今大行其道的腳本語言。但就算我們把批處理命令看成是一種腳本語言,那它也是 98 版之前的 Windows 操作系統(tǒng)所唯一支持的“腳本語言”。而此后隨著各種真正的腳本語言不斷出現(xiàn),批處理命令顯然就很是力不從心了。面臨這一危機(jī),微軟在研發(fā) Windows 98 時(shí),為了實(shí)現(xiàn)多類腳本文件在 Windows 界面或 Dos 命令提示符下的直接運(yùn)行,就在系統(tǒng)內(nèi)植入了一個(gè)基于 32 位 Windows 平臺(tái)、并獨(dú)立于語言的腳本運(yùn)行環(huán)境,并將其命名為“Windows Scripting Host”。WSH 架構(gòu)于 ActiveX 之上,通過充當(dāng) ActiveX 的腳本引擎控制器,WSH 為 Windows 用戶充分利用威力強(qiáng)大的腳本指令語言掃清了障礙。
  再具體一點(diǎn)描述:你自己編寫了一個(gè)腳本文件,如后綴為 .vbs 或 .js 的文件,然后在 Windows 下雙擊并執(zhí)行它,這時(shí),系統(tǒng)就會(huì)自動(dòng)調(diào)用一個(gè)適當(dāng)?shù)某绦騺韺?duì)它進(jìn)行解釋并執(zhí)行,而這個(gè)程序,就是 Windows Scripting Host,程序執(zhí)行文件名為 Wscript.exe (若是在命令行下,則為 Cscript.exe)。

編輯本段WSH的推廣

  WSH 誕生后,在 Windows 系列產(chǎn)品中很快得到了推廣。除 Windows 98 外,微軟在 Internet Information Server 4.0、Windows Me、Windows 2000 Server,以及 Windows 2000 Professional 等產(chǎn)品中都嵌入了 WSH?,F(xiàn)在,早期的 Windows 95 也可單獨(dú)安裝相應(yīng)版本的 WSH。(附:各種版本 WSH 的安裝程序可以從 http://msdn.microsoft.com/scripting 站點(diǎn)下載)。

編輯本段WSH 有什么用

  WSH 的設(shè)計(jì),在很大程度上考慮到了“非交互性腳本(noninteractive scripting)”的需要。在這一指導(dǎo)思想下產(chǎn)生的 WSH,給腳本帶來非常強(qiáng)大的功能,例如:我們可以利用它完成映射網(wǎng)絡(luò)驅(qū)動(dòng)器、檢索及修改環(huán)境變量、處理注冊(cè)表項(xiàng)等工作;管理員還可以使用 WSH 的支持功能來創(chuàng)建簡單的登陸腳本,甚至可以編寫腳本來管理活動(dòng)目錄。
  而事實(shí)上,上述功能的實(shí)現(xiàn),均與 WSH 內(nèi)置的多個(gè)對(duì)象密切相關(guān),這些內(nèi)置對(duì)象肩負(fù)著直接處理腳本指令的重任。因此,我們也可以通過了解 WSH 的內(nèi)置對(duì)象來探尋 WSH 可以實(shí)現(xiàn)的功能。

編輯本段舉例

  圖 1 是 WSH 的內(nèi)置對(duì)象構(gòu)成情況。
  從圖中我們可以看出,WSH 共有 14 個(gè)內(nèi)置對(duì)象,它們各自有著明確分工。具體而言,位于最底部的 Wscript ,主要作用是提取命令行變量,確定腳本文件名,確定 WSH 執(zhí)行文件名(wscript.exe 還是 cscript.exe),確認(rèn) host 版本信息,創(chuàng)建、關(guān)連及分離 COM 對(duì)象,寫入事件,按程序結(jié)束一個(gè)腳本文件的運(yùn)行,向默認(rèn)的輸出設(shè)備(如對(duì)話框、命令行)輸出信息等;WshArguments 的作用是獲取全部的命令行變量; WshNamed 負(fù)責(zé)獲取指定的命令行參數(shù)集;WshUnnamed 負(fù)責(zé)獲取未經(jīng)指定的命令行參數(shù)集;WshNetwork 的主要作用是開放或關(guān)閉網(wǎng)絡(luò)共享,連接或斷開網(wǎng)絡(luò)打印機(jī),映射或取消網(wǎng)絡(luò)中的共享,獲取當(dāng)前登陸用戶的信息;WshController 可以創(chuàng)建一個(gè)遠(yuǎn)程腳本對(duì)象;WshRemote 可以實(shí)現(xiàn)網(wǎng)絡(luò)中對(duì)計(jì)算機(jī)系統(tǒng)的遠(yuǎn)程管理,也可按計(jì)劃對(duì)其它程序/腳本進(jìn)行處理;WshRemote Error 的作用在于:當(dāng)一個(gè)遠(yuǎn)程腳本(WshRemote 對(duì)象)因腳本錯(cuò)誤而終止時(shí),獲取可用的錯(cuò)誤信息;WshShell 主要負(fù)責(zé)程序的本地運(yùn)行,處理注冊(cè)表項(xiàng)、創(chuàng)建快捷方式、獲取系統(tǒng)文件夾信息,處理環(huán)境變量;WshShortcut 主要用于按計(jì)劃創(chuàng)建快捷方式;WshSpecialfolders 用于獲取任意一個(gè) Windows 特殊文件夾的信息;WshURLShortcut 用于按程序要求創(chuàng)建進(jìn)入互聯(lián)網(wǎng)資源的快捷方式;WshEnvironment 用于獲取任意的環(huán)境變量(如 WINDIR, PATH, 或 PROMPT);WshScriptExec 用于確定一個(gè)腳本文件的運(yùn)行狀態(tài)及錯(cuò)誤信息。
  在這些內(nèi)置對(duì)象的幫助下,我們就可以利用 WSH 充分發(fā)揮 VBScript 及 JScript 等腳本的強(qiáng)大威力,極大地提高我們的工作效率。

編輯本段WSH 是怎樣工作的

  WSH的工作流程,實(shí)際上就是腳本文件被解析并執(zhí)行的過程。我們知道,現(xiàn)在腳本經(jīng)常會(huì)被植入網(wǎng)頁,其中包括 HTML 頁面(客戶機(jī)端)和 ASP 頁面(服務(wù)器端)。對(duì)于植入 HTML 頁面的腳本,其所需的解析引擎會(huì)由 IE 這樣的網(wǎng)頁瀏覽器載入;對(duì)于植入 ASP 頁面的腳本,其所需的解析引擎會(huì)由 IIS(Internet Information Services)提供。
  而對(duì)于出現(xiàn)在 HTML 和 ASP 頁面之外的腳本(它們常以獨(dú)立的文件形式存在),就需要經(jīng)由 WSH 來處理了。在這里要插一句“廢話”:WSH 的正常工作的前提,是你必須安裝了微軟 3.0 或更高版本的 IE,因?yàn)?WSH 在工作時(shí)會(huì)調(diào)用 IE 中的 VBScript 和 JScript 解析引擎。
  現(xiàn)在,就讓我們來看看腳本文件經(jīng)由 WSH 執(zhí)行的過程。為了更加直觀,筆者根據(jù)有關(guān)資料繪制了一幅工作流程圖(圖2),從圖中大家能對(duì) WSH 在腳本文件運(yùn)行中所起到的作用有個(gè)理性認(rèn)識(shí)。對(duì)于這個(gè)流程圖,還需要補(bǔ)充兩點(diǎn):1、圖中第(2、3)步,WSH 根據(jù)腳本文件后綴名,到系統(tǒng)注冊(cè)表中查詢所需的腳本引擎時(shí),VBScript 和 JScript 兩種語言的解析引擎是 Windows 系統(tǒng)中原有的,而其它腳本語言的解析引擎,如 PERL、TCL等,需要用戶另行定義;2、第(5)步執(zhí)行腳本命令時(shí),一些腳本指令會(huì)使用到 WSH 內(nèi)置對(duì)象所提供的服務(wù)(參見本文第二部分),例如處理注冊(cè)表項(xiàng)。這時(shí),腳本指令就會(huì)向 WSH 提出請(qǐng)求,并由 WSH 完成所需任務(wù)。也正是在這一步,WSH 的功用得到了淋漓盡致的發(fā)揮。

編輯本段WSH 怎么用

  談到這個(gè)問題,就不太好講了。正如前面所述,WSH 實(shí)際上是一個(gè)腳本語言的運(yùn)行環(huán)境,它之所以具備強(qiáng)大的功能,是在于充分挖掘了腳本語言的潛力。因此,如果拋開腳本語言而空談 WSH ,那實(shí)際上就沒有了意義。而如果再展開來講述腳本語言,顯然就離開了今天的主題。
  在這種情況下,只好采取一種折衷的方法:給大家推薦幾個(gè)腳本文件利用 WSH 執(zhí)行任務(wù)的實(shí)例,希望大家能通過這些例子對(duì) WSH 的使用有一個(gè)初步的了解。
  腳本文件的編寫十分方便,你可以選用任意一個(gè)文字編輯軟件進(jìn)行編寫,寫完后,你只需將它保存為 WSH 所支持的文件名就行了(如 ..js 文件、.vbs 文件)。最常用的編輯器當(dāng)然就是我們的記事本(Notepad)了,下面的實(shí)例都是以它作為工具編寫的。
  準(zhǔn)備好了嗎?讓我們先來看一個(gè)最簡單的例子吧。打開記事本,在上面寫下:
  WScript.Echo("走近 WSH")
  好了,將它保存為以 ..vbs 或 .js 為后綴名(可千萬不要弄成了 ..txt)的文件并退出記事本。雙擊執(zhí)行這個(gè)文件,看看結(jié)果吧,是不是很有意思?
  有了第一印象后,我們繼續(xù)往下看。
  這一次,我們要利用 WSH 完成一次創(chuàng)建十個(gè)文件夾的工作。代碼如下:
  dim objdir
  set objdir=wscript.createobject("scripting.filesystemobject")
  for k=1 to 10
  anewfolder="c:\chapter" & k
  objdir.createfolder(anewfolder)
  next
  同樣,將它存為 .vbs 文件并退出。運(yùn)行后,我們會(huì)發(fā)現(xiàn),C 盤根目錄下一次性多出了十個(gè)新文件夾。
  最后,再舉一個(gè)在服務(wù)器上的運(yùn)用。下面的代碼將幫助你重新啟動(dòng)指定的 IIS 服務(wù):
  ' define a constant for stopped services
  Const ADS_SERVICE_STOPPED = 1
  ' get an ADSI object for a computer
  Set objComputer = GetObject("WinNT://MYCOMPUTER,computer")
  ' get an object for a service
  Set objService = objComputer.GetObject("Service","MYSERVICE")
  ' check to see if the service is stopped
  If (objService.Status = ADS_SERVICE_STOPPED) Then
  ' if the service is stopped, then start it
  objService.Start
  End If
  將它以 startsvc.vbs 為名保存在 C: 盤根目錄。并通過如下命令執(zhí)行:CSCRIPT C:\STARTSVC.VBS 。運(yùn)行后,經(jīng)你指定的 IIS 服務(wù)項(xiàng)將被重新開啟。
  已經(jīng)舉了三個(gè)例子,其實(shí),在 Windows 的 samples 目錄下,有個(gè) WSH 文件夾,那里面有不少很具代表性的 .vbs 和 .js 腳本文件。大家有空可以打開來看看,相信會(huì)受益匪淺的。
  此外,利用 WSH ,我們還可以自己編寫腳本文件來提高網(wǎng)絡(luò)管理方面的效率。但由于受條件限制,本人在這方面的使用心得并不多,因此也就不好多說了^_^。不過,網(wǎng)上這方面現(xiàn)成的代碼倒是很多,大家有興趣可以去研究一下。

編輯本段WSH 有不足嗎

  答案當(dāng)然是肯定的。任何事物都有兩面性,WSH 也不例外。應(yīng)該說,WSH 的優(yōu)點(diǎn)在于它使我們可以充分利用腳本來實(shí)現(xiàn)計(jì)算機(jī)工作的自動(dòng)化;但不可否認(rèn),也正是它的這一特點(diǎn),使我們的系統(tǒng)又有了新的安全隱患。許多計(jì)算機(jī)病毒制造者正在熱衷于用腳本語言來編制病毒,并利用 WSH 的支持功能,讓這些隱藏著病毒的腳本在網(wǎng)絡(luò)中廣為傳播。2000年曾名燥一時(shí)的 I Love You 便是一個(gè)典型代表。因此,大家對(duì)于來歷不明、尤其是郵件附件里的一些腳本文件還是應(yīng)該保持戒備。至于相應(yīng)的防范措施,筆者在別的文章中已有論述,在此就不再羅嗦了。
  以上文字,希望能對(duì)大家認(rèn)識(shí) WSH 有所幫助。在運(yùn)用過程中,大家若有什么心得或發(fā)現(xiàn),別望了一起分享哦。
  看不清圖片請(qǐng)到這里看原文http://www./20040423/ca240413.htm

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多