當前位置:成語大全網 - 書法字典 - 您沒有權限在此計算機上執行windows腳本宿主。請聯系系統管理員。

您沒有權限在此計算機上執行windows腳本宿主。請聯系系統管理員。

是否禁止腳本運行,即在互聯網選項的安全標簽中打開用戶自定義級別,查看ActiveX小工具和服務的禁用選項。運行regsvr 32 scrrun.dll的最後壹個關鍵步驟是查看註冊表HKEY _本地_機器\軟件\微軟\ Windows腳本主機\設置中的這個位置。

右邊的窗口中是否有壹個名為Enabled的DWORD鍵?如果有,將其刪除或將值設置為1即可正常運行。早年使用過DOS系統的用戶都知道,MS-DOS操作系統允許普通用戶編寫批處理文件實現簡單編程。它有效地簡化了我們的工作,給我們帶來了很多便利。當時甚至還有壹些專門寫批處理文件的程序員。

其實壹個操作系統除了提供壹個易於操作的用戶界面,還應該有壹套內置的腳本語言才算完整。從某種角度來說,批處理文件可以說是MS-DOS下的壹種腳本語言。在Windows時代,雖然Windows系統仍然保留了批處理,但是Windows中批處理的功能過於簡單,無法滿足用戶的需求——比如修改註冊表,可以進行批處理嗎?事實上,Windows 98之後的Windows系統,除了保留原有的批處理系統之外,開始增加對腳本語言的支持,這就是“Windows Scripting Host”,中文翻譯為“Windows Scripting Host”,簡稱WSH。

WSH本身不是腳本語言,而是腳本語言的操作環境。WSH支持的腳本語言有JScript(微軟JavaScript,和真正的JavaScript不太壹樣)和VBScript——這個東西想必大家都很熟悉,也常用在網頁上。

CScript.exe腳本引擎有兩種方式,壹種是命令模式下的WScript.exe,另壹種是Windows模式下的。我們編寫的腳本程序(擴展名為.的純文本文件)。js“和”。vbs”)必須通過它們中的任何壹個來加載和運行。

WSH雖然支持JScript和VBScript語言,但還是需要配合WSH自己提供的壹些對象,以及對象的屬性和方法,才能發揮最大的作用。這裏就不多說JScript和VBScript的編程了。現在讓我們把註意力集中在WSH這個對象上。其實本文涉及的註冊表編程幾乎不需要任何VBScript方面的知識,我們只需要簡單套用現成的語句就可以了。

WSH中的對象主要有:WScirpt、WshArguments、WshShell、WshUrlShortcut、WshNetwork、WshSpecialFolders、WshCollection、WshEnvironment、WshShort等。

每個對象都有自己的屬性和方法。這裏,我們只簡單介紹訪問註冊表所涉及的對象的方法和屬性。

第壹個是WshShell對象。該對象可用於設置系統環境變量和修改註冊表數據。要修改註冊表數據,需要使用WshShell對象的三個方法:RegDelete(刪除註冊表數據)、RegWrite(寫入或創建新的註冊表數據)和RegRead(讀取註冊表數據)。

通常我們只需要使用前兩種方法,它們的具體使用方法如下:

I RegWrite(寫入或創建新的註冊表數據)

*創建壹個新的子主鍵

語法是:WshShell。RegWrite“子主鍵名”

例如,如果我們想創建壹個新的主鍵“HKEY _當前_用戶\我的用戶”,我們可以使用下面的語句:

WshShell。RegWrite“HKCU \邁雷格”

描述:子主鍵名必須以反斜杠(\)結尾。如果您不小心忘記輸入這個(\),該方法將返回鍵值,這意味著您希望在HKEY當前用戶下創建壹個名為MyReg的鍵值。這壹點壹定要高度重視!

請註意,引號中的子主鍵必須以下列根鍵名之壹開頭:

HKEY _當前_用戶(縮寫為HKCU)、HKEY _本地_機器(HKLM)、HKEY _類_根(HKCR)、HKEY _用戶和HKEY _當前_配置。

*在子主鍵下創建壹個新鍵值(或重寫現有鍵值的數據)。

語法是:WshShell。RegWrite“子主鍵名\鍵名”、“鍵值數據”和“鍵值類型”

例如,如果我們想在子主鍵“HKEY _當前_用戶\我的註冊”下創建壹個新的字符串KeyValue,並將keyvalue的數據設置為“str”,我們可以使用下面的語句:

WshShell。RegWrite " HKCU \邁雷格\鍵值","字符串"

(註意:鍵值是字符串值,所以可以省略“鍵值類型”的聲明。)

如果構建了二進制值或DWORD值,並且數據為“1”,則還必須聲明鍵值的類型,如下所示:

WshShell。RegWrite " HKCU \邁雷格\鍵值",1," REG_BINARY "

WshShell。RegWrite " HKCU \邁雷格\鍵值",1," REG_DWORD "

請註意,二進制值和DWORD值的數據不能被引用,而字符串值的數據必須被引用。

第二,RegDelete(刪除註冊表數據)

*刪除壹個子主鍵。

語法是:WshShell。RegDelete“子主鍵名”

例如,如果我們想刪除子主鍵“HKEY _當前_用戶\我的註冊”,我們可以使用下面的語句:

WshShell。RegDelete“HKCU \邁雷格”

*刪除子主鍵的鍵值。

語法是:WshShell。RegDelete“子主鍵名\鍵名”。

例如,如果我們想刪除子主鍵“HKEY _當前_用戶\我的註冊”的鍵值,我們可以使用下面的語句:

Wshshell。regdelete "hkcu \ myreg \ keyvalue "類似於RegWrite,有壹個\ "符號表示刪除子主鍵,沒有\ "符號表示刪除子主鍵下的鍵值。

除了WshShell對象,我們還必須了解WScirpt對象。WScirpt對象代表腳本引擎,只要啟動引擎就會自動生成。WScript對象提供了創建和讀取對象的方法。要使用WSH的其他對象(如WshShell對象),必須先用WScript對象的相關方法(CreateObject,GetObject)創建和讀取它們。

創建對象的語法如下:

WScript。CreateObject(strProgID)

其中strProgID是我們要創建的對象的標識名。

例如,如果我們要使用WshShell對象及其屬性和方法,我們必須先用CreateObject的方法創建壹個WshShell對象,語句如下:

設置WSHShell = WScript。CreateObject("WScript。外殼”)

舉個例子。眾所周知,如果妳在“開始”菜單中使用“運行”,Windows會在列表框中記錄妳的“罪行”。事實上,這些數據都記錄在註冊表HKEY _當前_用戶\軟件\微軟\視窗\

在CurrentVersion\Explorer\RunMRU子項下,我們只需要刪除這個子項,然後重新建立,不是就可以了嗎?

現在我們可以寫壹個腳本了。以VBS為例,我們可以用記事本新建壹個文件,然後輸入(“//”後面的文字是註釋,不需要輸入):

//定義對象。要編輯註冊表,我們需要使用WSHShell對象及其方法。

昏暗的WSHShell

//對象的方法CreateObject來創建WSHShell對象。

設置WSHShell = WScript。CreateObject("WScript。外殼”)

//然後RegDelete HKEY _當前_用戶\軟件\微軟\

windows \ current version \ explorer \ run mru子項

WSHShell。RegDelete“HKCU \軟件\微軟\

windows \ current version \ Explorer \ run mru \ "

//最後我們恢復主鍵,恢復主鍵下的字符串值“MRUList”,將其數據設置為空字符串。

WSHShell。RegWrite“HKCU \軟件\微軟\

windows \ current version \ Explorer \ run mru \ mru list ",""

節目到此結束。我們可以將文件保存為CleanMRU.vbs,現在我們可以使用腳本引擎來執行這個程序。假設我們只是將這個文件保存在D:\TEMP中,我們可以在啟動menu-Wcript.exe D:\ TEMP \ clean mru . VBS中使用Run,重新啟動怎麽樣?“跑”已經空了!

如果我們辛辛苦苦編譯程序,最後還要手動運行,不如每次都直接用註冊表編輯器!其實我們可以讓它每次開機都自動加載。所以說,大家壹定知道——我們可以使用註冊表編輯器,在“HKEY _本地_機器\軟件\微軟\視窗\

在“CurrentVersion\Run”的子項下建立壹個字符串值“CleanMRU”,並將其數據設置為“wccript . exe d:\ temp \ clean mru . VBS”。嘿,嘿,這就是妳做的。以後每次開機,Windows都會自動執行腳本,清除“運行”中的歷史。

限於篇幅,本文只介紹了與註冊表修改相關的WSH對象的初步使用。我們只要在腳本中加入壹些簡單的句子,就可以輕松實現交互操作——當然,這需要大家掌握更多關於WSH和VBScript的知識。如果妳有興趣,妳可以從微軟網站下載關於WSH和VBScript的幫助文檔。網址分別為/China/scripting/Windows Host/wsh doc . exe和/China/scripting/VBScript/download/vbsdoc . exe(均為中文)。此外,在Windows示例目錄下,有壹個WSH文件夾,其中包含許多。vbs和。js套路。可以打開看看(右擊圖標選擇“編輯”)。相信會有很多收獲。

最後,如果Windows Scripting Host已經安裝在您的機器上而VBS程序仍然不能運行,很可能您或其他應用程序已經修改了關聯的。VBS。據我所知,幾乎每臺機器上安裝的“超級街霸”都會修改聯想的。VBS檔案。沒關系。妳只需要從控制面板-添加/刪除程序-Windows Installer-附件-詳細信息中卸載它,然後重新安裝Windows Scripting Host。首先,我的vbs文件協會已經被Hero查封了。我雙擊Deploy.vbs它就會打開Hero,挺郁悶的。但我用了打開模式,試了瀏覽器和cmd,都無濟於事。

今天想了這個問題之後,有了在微軟的新聞組上問壹下的想法。然後我去全文搜索CSDN。果然我的關鍵字只有vbs,執行的時候發現了很多我想要的東西。我了解到wscript.exe被用來執行這份文件。

我在cmd中鍵入了wscript.exe部署. vbs,但返回的錯誤是沒有用於文件擴展名的腳本引擎。vbs。這時候我想到了谷歌。果然發現了很多有用的信息,第壹條就找到了解決辦法。原因是我的vbs關聯丟失了,必須顯示賦值。

在cmd中鍵入wscript.exe//e: VBScript deploy . VBS。果然!!!

總結:使用wscript.exe來執行腳本文件,如vbs。如果文件關聯丟失。可以用//e:vbscript。