国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

用vbs實現禁用服務

2020-06-26 18:07:21
字體:
來源:轉載
供稿:網友
問: 
您好,腳本專家!如何禁用服務? 
-- DS 
答: 
您好,DS。您知道嗎,腳本專家似乎無意中發現了一個好主意。在上期專欄中,我們向大家介紹了如何禁用 LMHosts 文件。今天,我們將向大家介紹如何禁用服務。如果我們這樣繼續下去的話,不久,我們便可將如何禁用計算機上的一切介紹給大家。請想象一下:不再有網絡問題,不再有客戶服務中心呼叫,不再有用戶覆蓋了不應覆蓋的文件。我們所要做的就是禁用一切,從而所有這些問題都將消失!這可以是我們通往幸福時光的入場券。 
不可否認,禁用計算機上的一切可能導致貴組織出現其他問題。但這只是需要由你們來處理的內部事務。  
此外,我們可能忙于數錢而無法幫助您。 
當然,在鈔票開始滾滾而來之前,我們仍不得不編寫此專欄,我們仍不得不付帳。正因為明確這一點,我們在下面提供了在計算機上禁用 Alerter 服務的腳本: 
復制代碼代碼如下:

strComputer = "."  
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/cimv2")  
Set colServiceList = objWMIService.ExecQuery _  
    ("Select * from Win32_Service where Name = 'Alerter'")  
For Each objService in colServiceList  
    If objService.State = "Running" Then  
        objService.StopService()  
        Wscript.Sleep 5000  
    End If  
    errReturnCode = objService.ChangeStartMode("Disabled")     
Next 
如您所見,禁用服務并不需要很多代碼,并且所需的一小段代碼都是很基礎的代碼。不過,有一個棘手的部分,這就是我們為什么將花幾分鐘時間逐步向您介紹此腳本的原因。  
除此以外,不管怎樣 Rolls Royce 經銷權都不會多開放一小時。 
腳本開始并沒什么奇特之處:我們只是連接到本地計算機上的 WMI 服務(盡管我們也可以禁用遠程計算機上的服務)。然后,我們發出以下查詢,該查詢返回一個僅包含一項的集合:Alerter 服務: 
Set colServiceList = objWMIService.ExecQuery _ 
    ("Select * from Win32_Service where Name = 'Alerter'") 
順便說一下,請確保包括了如上所示的 Where 子句。為什么?設想一下,假設您省略了 Where 子句。在這種情況下,您的集合將包含安裝在計算機上的所有服務,那么,你的腳本將盡職盡責地試圖禁用每個服務。 
您說對了:這通常不是什么好事。此外,腳本專家可能會控告您;畢竟,禁用計算機上的一切是我們的主意! 
得到集合后,我們建立一個 For Each 循環以遍歷該集合內的所有項。(是的,我們知道:集合中只有一項。但我們仍需使用 For Each 循環。)以下是棘手部分。您可以禁用運行中的服務;但是,該服務在停止運行前實際并未被禁用。如果禁用運行中的服務,該服務會一如既往地繼續運行;更改將在服務停止后才生效。 
正因為如此,我們使用下面這行代碼來查看 Alerter 服務是否正在運行: 
If objService.State = "Running" Then 
如果該服務正在運行,那么我們就調用 StopService() 方法來停止該服務。之后我們暫停 5 秒(5,000 毫秒);使得服務有時間在我們繼續操作以禁用它之前真正停止。我們就是照下面這樣做的: 
objService.StopService() 
Wscript.Sleep 5000 
注意:為了使該示例腳本盡可能簡短,我們做了些手腳。我們假設您的服務僅處于“運行”或“停止”狀態。實際上,服務還可能包含其他狀態,最顯著地是“暫停”或“繼續”。要編寫一個更穩妥的腳本,您或許還應該檢查這些狀態(并采取相應的措施)。但是,因為在 99.9% 情況下,服務都處于運行或停止狀態,所以您通常可以使用我們給出的腳本蒙混過去。 
服務停止后,我們就可以使用下面這行代碼禁用它: 
errReturnCode = objService.ChangeStartMode("Disabled") 
如您所見,我們只是使用 ChangeStartMode 方法更改 StartMode 屬性的值。我們要禁用該服務,所以我們將參數“Disabled”傳遞給 ChangeStartMode。我們還可以將 StartMode 設置為“Manual”或“Automatic”;這樣會將 StartMode 設置為“手動”或“自動”。 
請記住,服務被停止并禁用后,將無法再啟動;重新啟動該服務的唯一方法是重新啟用它(通過將 StartMode 更改為“手動”或“自動”)。但是,我們會等到說服每個人禁用其計算機上的一切后,才介紹如何重新啟用這些東西。畢竟,我們也許能夠對這些腳本收取雙倍的費用。 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 古浪县| 金溪县| 瑞金市| 嘉义县| 广州市| 咸丰县| 进贤县| 年辖:市辖区| 莱西市| 葵青区| 蓝田县| 定陶县| 双辽市| 定襄县| 周口市| 泽库县| 荣成市| 科技| 商丘市| 宁陵县| 茂名市| 安国市| 霍山县| 桦川县| 松滋市| 榆树市| 涡阳县| 雷山县| 平定县| 贵德县| 岳普湖县| 长子县| 固镇县| 南投县| 虹口区| 易门县| 花垣县| 米易县| 衡南县| 瑞金市| 湘潭市|