主頁 > 知識庫 > 用vbs列出注冊表中 Run 項中的所有項目

用vbs列出注冊表中 Run 項中的所有項目

熱門標(biāo)簽:拉薩外呼系統(tǒng)業(yè)務(wù) 怎么看地圖標(biāo)注 外呼線路中繼線是什么 深圳外呼系統(tǒng)收費(fèi) 廣州ai電銷機(jī)器人一般多少錢 合肥高德地圖標(biāo)注 百度地圖標(biāo)注是什么意思 外呼系統(tǒng)免費(fèi)招代理 外呼系統(tǒng)telrobot
問:
您好,腳本專家!如何列出注冊表中 Run 項中的所有項目?
-- JW
答:
您好,JW。如何列出注冊表中 Run 項中的所有項目?坦白地講,我們不打算告訴您。真的很抱歉。不是因為我們不喜歡您,而是因為我們認(rèn)為我們有一個更好的答案給您。(如果我們錯了,那好,我們只能說這不會是第一次。) 
由于您對 Run 項感興趣,因此我們假定您真正想知道的是如何找出哪些程序被配置為在每次 Windows 啟動時自動運(yùn)行。您一定可以從 Run 項中讀取到該信息,不要對此產(chǎn)生懷疑。實際上,您可以從 Run 項中讀取到該信息,查看一下是否 HKEY_CURRENT_USER 和 HKEY_LOCAL_MACHINE 中都具有 Run 項。它們中都具有 RunOnce 項。接下來是 Startup 文件夾、All Users Startup 文件夾等等。
您已經(jīng)找到問題的答案了。試圖找出哪些程序被配置為在每次 Windows 啟動時自動運(yùn)行的問題時所牽涉到的問題就是該信息可能存儲在數(shù)量眾多的不同位置中的任一位置中。我們可以編寫一個腳本來檢查這些為數(shù)眾多的位置中的每個位置嗎?肯定可以這樣做。但我們認(rèn)為以下這段腳本更好:
復(fù)制代碼 代碼如下:

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\"  strComputer  "\root\cimv2") 
Set colStartupCommands = objWMIService.ExecQuery _ 
    ("Select * from Win32_StartupCommand") 
For Each objStartupCommand in colStartupCommands 
    Wscript.Echo "Command: "  objStartupCommand.Command 
    Wscript.Echo "Description: "  objStartupCommand.Description 
    Wscript.Echo "Location: "  objStartupCommand.Location 
    Wscript.Echo "Name: "  objStartupCommand.Name 
    Wscript.Echo "User: "  objStartupCommand.User 
    Wscript.Echo 
Next 

不是四處查找并視圖找到 Windows 用來保存自動運(yùn)行程序信息的位置,我們已決定讓 WMI 為我們完成所有此項工作。WMI 類 Win32_StartupCommand 用于查找自動運(yùn)行程序的信息,而不管該信息是存儲在注冊表中、Startup 文件夾中還是其他某個位置中。例如,運(yùn)行此腳本時,將返回類似于下面內(nèi)容的信息:
Command: Microsoft Office OneNote 2003 Quick Launch.lnk
Description: Microsoft Office OneNote 2003 Quick Launch
Location: Startup
Name: Microsoft Office OneNote 2003 Quick Launch
User: FABRIKAM\kenmyer
Command: C:\WINDOWS\System32\ctfmon.exe
Description: ctfmon.exe
Location: HKU\S-1-5-21-1987391165-1004336648-1605550848-8553\SOFTWARE\Microsoft\
Windows\CurrentVersion\Run
Name: ctfmon.exe
User: FABRIKAM\kenmyer
正如您所見,存在兩個不同的自動運(yùn)行程序:一個程序在 Startup 文件夾中有快捷方式,另一個程序是注冊表的 HKEY_USERS 部分中的 Run 中所列出的應(yīng)用程序。(還有另一個可能存儲了自動運(yùn)行信息的計算機(jī)上的位置。)我們的一個簡單的小腳本可以在數(shù)秒鐘內(nèi)調(diào)用并檢索到有關(guān)這兩個程序以及任何其他自動運(yùn)行應(yīng)用程序的信息。這就是我們?yōu)楹握J(rèn)為使用 Win32_StartupCommand 的腳本更好的原因。
那么,該腳本本身是如何工作的?是這樣,它幾乎同曾經(jīng)要編寫的 WMI 腳本一樣簡單。我們首先連接到本地計算機(jī)上的 WMI 服務(wù)。不用說,我們也可以使用此腳本連接到遠(yuǎn)程計算機(jī)上的 WMI 服務(wù)(這將返回已配置為在該計算機(jī)上自動運(yùn)行的程序的列表)。然后我們調(diào)用 ExecQuery 方法并發(fā)出以下查詢,此查詢可調(diào)用并獲取它所能找到的所有自動運(yùn)行程序的集合:
Set colStartupCommands = objWMIService.ExecQuery _
    ("Select * from Win32_StartupCommand")
現(xiàn)在,剩下要做的事情就是建立一個 For Each 循環(huán)來遍歷程序的集合,并回顯諸如應(yīng)用程序名稱和位置(可在其中找到自動運(yùn)行信息)這樣的數(shù)據(jù)。該方法簡單快捷,最大的優(yōu)勢在于,其返回的信息遠(yuǎn)遠(yuǎn)多于只通過讀取單個注冊表項下所填充的值所能獲取的信息。很不錯吧?
我們希望其會對您有所幫助,JW。如果其未奏效,當(dāng)您真地確實需要只讀取 Run 項并通過使用它來搞定一切時,請告訴我們,這樣我們可以知道我們能夠為您做些什么。還有問題嗎?我們知道最后一塊蛋糕(就是您為您自己保留的那塊蛋糕)被誰吃了嗎?是這樣,我們能夠回答這個問題,JW。但我們不打算這樣做。

標(biāo)簽:臺灣 漳州 六安 周口 延安 玉林 廣安 嘉興

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用vbs列出注冊表中 Run 項中的所有項目》,本文關(guān)鍵詞  用,vbs,列出,注冊,表中,Run,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用vbs列出注冊表中 Run 項中的所有項目》相關(guān)的同類信息!
  • 本頁收集關(guān)于用vbs列出注冊表中 Run 項中的所有項目的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章