Windows servislerinin durdurulması ve yeniden başlatılması sistem adminleri için bazen oldukça gereklidir , hatta normal kullanıcılar bile gereksiz servisleri durdurmak sureti ile sistemlerini rahatlatma
yoluna başvurabilirler , acaba nette böyle bir script varmıdır diye araştırdım (Amerikayı yeniden keşfetmemek için) fakat malesef bulamadım , ve aşağıdaki scripti kodlamak durumunda kaldım , aşağıdakini bir notepad e yapistirip bir isim verin ve uzantısı .vbs olacak şekilde kaydedin
Birden fazla servisi aynı anda durduran vbs scripti:
strComputer = "." Dim strService(5) strService(1) = " 'TrkWks' " strService(2) = " 'FDResPub' " strService(3) = " 'CscService' " strService(4) = " 'DPS' " strService(5) = " 'WMPNetworkSvc' " Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colServiceList = objWMIService.ExecQuery _ ("Select * from Win32_Service Where Name ="_ & strService(nCounter) & " ") For nCounter = 1 to 5 Set colListOfServices = objWMIService.ExecQuery _ ("Select * from Win32_Service Where Name ="_ & strService(nCounter) & " ") For Each objService in colListOfServices objService.StopService() errReturnCode = objService.ChangeStartMode("Disabled") WScript.Echo "Your "& strService(nCounter) & " service has Stopped" Next Next
Üstteki script çalıştığında aşağıdaki servisleri otomatik olarak Durduracak (Service status : Stopped) ve Baslangıç tipini de durduruldu (Startup typ : Disabled) yapacaktır.
- Distributed Link Tracking Client
- Function Discovery Resource Publication
- Diagnostic Policy Service
- Offline Files
- Windows Media Player Network Sharing Service
Egerki üstteki scripti düzenlemek isterseniz , mesela otomatik olarak 3 servisi durdurmak istiyorsunuz ; bu durumda editlemeniz gereken kısımlar :
Dim strService(3)
strService(1) = " 'Servis ismi gelecek' "
strService(2) = " 'Servis ismi gelecek' "
strService(3) = " 'Servis ismi gelecek' "
...
For nCounter = 1 to 3
Eger servisleri durdurduktan sonra uyari vermesini istemiyorsanız aşağıdaki kısmı çıkarmanız yeterlidir
WScript.Echo "Your "& strService(nCounter) & " service has Stopped"
Uyarısız şekilde servisleri durduralım:
strComputer = "." Dim strService(5) strService(1) = " 'TrkWks' " strService(2) = " 'FDResPub' " strService(3) = " 'CscService' " strService(4) = " 'DPS' " strService(5) = " 'WMPNetworkSvc' " Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colServiceList = objWMIService.ExecQuery _ ("Select * from Win32_Service Where Name ="_ & strService(nCounter) & " ") For nCounter = 1 to 5 Set colListOfServices = objWMIService.ExecQuery _ ("Select * from Win32_Service Where Name ="_ & strService(nCounter) & " ") For Each objService in colListOfServices objService.StopService() errReturnCode = objService.ChangeStartMode("Disabled") Next Next
Eger üstteki servisleri toplu halde başlatmak istiyorsanız aşağıdaki satırı değiştirmeniz yeterlidir:
objService.StopService() errReturnCode = objService.ChangeStartMode("Disabled")
yerine aşağıdaki satırı kullanın
objobjService.StartService() errReturnCode = objService.ChangeStartMode("Automatic")
Tek bir servisi aşağıdaki script ile durdurabilirsiniz
strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colServiceList = objWMIService.ExecQuery _ ("Select * from Win32_Service where Name = 'DPS'") For Each objService in colServiceList If objService.State = "Running" Then objService.StopService() End If errReturnCode = objService.ChangeStartMode("Disabled") Next
11.11.2011 tarihli Velociraptor Çalışmasıdır
(Lütfen kaynak belirtmeden yazıyı ve kodları Paylaşmayınız)
Verdiğim kodlar Windows servislerinde sorunsuz çalışıyor sanırım sorun çıkartan vmware ile ilgili bir servis , bunun nedeni konusunda birşey demek güç belkide Vmware de meydana gelmiş olan bir arızadır , kodlarda bir hata görünmüyor
Selamlar,
kendim 2 tane ekleme yaptım fakat 1 tanesinde hata alıyorum vmnat servisinde çalışmayı kapatmıyor işlemiyor hiç ve tekrar başlatmak istediğimde yine hiçbir işlem yapılmıyor ben otomatik başlatma yerine manual yapmak istiyorum oda olmuyor..
KODLAR:
strComputer = "."
Dim strService(7)
strService(1) = " 'vmnetdhcp' "
strService(2) = " 'vmnat' "
strService(3) = " 'TrkWks' "
strService(4) = " 'FDResPub' "
strService(5) = " 'CscService' "
strService(6) = " 'DPS' "
strService(7) = " 'WMPNetworkSvc' "
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service Where Name ="_
& strService(nCounter) & " ")
For nCounter = 1 to 7
Set colListOfServices = objWMIService.ExecQuery _
("Select * from Win32_Service Where Name ="_
& strService(nCounter) & " ")
For Each objService in colListOfServices
objService.StopService()
errReturnCode = objService.ChangeStartMode("Disabled")
WScript.Echo "Belirlenen "& strService(nCounter) & " Servisler Durdu"
Next
Next