Kun olet suorittanut uuden Windows 10 -asennuksen, käyttämättömien Windows-palveluiden poistaminen käytöstä on yksi suorittamasi aikaa vievistä tehtävistä. Kun asetukset on määritetty, voit varmuuskopioida palvelun käynnistystilan komentosarjan avulla, jotta sitä voidaan käyttää seuraavissa asennuksissa tai jos sinun on automatisoitava tehtävä useilla tietokoneilla.
Palveluiden valtion varmuuskopiot voivat myös auttaa, kun vianmääritys tapahtuu Windows-palveluissa ja haluat palauttaa tekemäsi muutokset nopeasti.
LIITTYVÄT: Poista palvelu Windowsista komentorivillä, Regedit tai AutorunsVarmuuskopiointipalveluiden määritykset (Käynnistystyyppi) Windowsissa
Tässä on kirjoittamasi Windows Services -käynnistyskonfiguraation varmuuskopio VBScript. Skripti varmuuskopioi kaikkien palvelujen käynnistystilan tulostamalla palvelumääritykset kahtena tiedostomuodona - .reg
(rekisteröintimerkinnät) ja .bat
(Windows Batch-tiedosto), jotta voit palauttaa palvelumääritykset myöhemmin.
'Kuvaus: Tämä skripti varmuuskopioi Windows Services -yrityksen käynnistysmääritykset REG-tiedostoon. 'Windows 10, Windows Server 2016' © 2016-2019 Ramesh Srinivasan 'Verkkosivusto: https://www.winhelponline.com/blog/' Tarkistettu: 07.7.2019 Vaihtoehto eksplisiittinen Jos WScript.Arguments.length = 0 Sitten Dim objShell : Aseta objShell = LuoObject ("Shell.Application") objShell.ShellExecute "wscript.exe", Chr (34) & _ WScript.ScriptFullName & Chr (34) & "uac", "", "runas", 1 Else Dim WshShell, objFSO, strNow, intServiceType, intStartupType, strDisplayName, iSvcCnt Dim sREGFile, sBATFile, r, b, strComputer, objWMIService, colListOfServices. FilesystemObject ") strNow = Vuosi (päivämäärä) ja oikea (" 0 "& kuukausi (päivämäärä), 2) ja oikea (" 0 "& päivä (päiväys), 2) himmentää objFile: Aseta objFile = objFSO.GetFile (WScript.ScriptFullName ) sREGFile = objFSO.GetParentFolderName (objFile) & "\ svc_curr_state_" & strNow & ".reg" sBATFile = objFSO.GetParentFolderName (objFile) & "\ svc_curr_state_". GFile, True) r.WriteLine "Windows Registry Editor Version 5.00" r.WriteBlankLines 1 r.WriteLine "; Services Startup Configuration Backup" & Now r.WriteBlankLines 1 Aseta b = objFSO.CreateTextFile (sBATFile, True) b.WriteLine "@ echo Restore Service -käynnistystila tallennettu kohtaan "& Now b.WriteBlankLines 1 strComputer =". " iSvcCnt = 0 Himmennä sStartState, sSvcName, sSkippedSvc Aseta objWMIService = GetObject ("winmgmts:" _ & "{impersonationLevel = esiintyä}! \\" & strComputer & "\ root \ cimv2") Aseta colListOfSer. * Win32_Service: stä)) Jokaiselle objService-palvelulle objService.Name Valitse tapaus sStartState Case "boot" r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000000" b.WriteLine "sc.exe config" & sSvcName & "start = boot" Case "system" r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000001" b.WriteLine "sc.exe config" & sSvcName & "start = system" Case "auto" 'Check jos se on automaattinen (viivästynyt käynnistys) r.WriteLine chr (34) & "Käynnistä" & Chr (34) & "= sana: 00000002" Jos objService.DelayedAutoStart = True sitten r.WriteLine chr (34) & "DelayedAutostart" & Chr (34) & "= sana: 00000001" b.WriteLine "sc.exe config" & sSvcName & "start = viivästynyt-auto" Muu r.WriteLine chr (34) & "DelayedAutostart" & Chr (34) & "= -" b.WriteLine "sc.exe config" & sSvcName & "start = auto" Lopeta tapaus "manuaalinen" r.WriteLine chr (34) & "Start" & Chr (34) & "= sanasana: 00000003" b.WriteLine "sc.exe config" & sSvcName & "start = demand "Asia" poistettu käytöstä "r.WriteLine chr (34) &" Käynnistä "& Chr (34) &" = sana: 00000004 "b.WriteLine" sc.exe config "& sSvcName &" start = Disabled "Case" unknown "sSkippedSvc = sSkippedSvc & ", " & sSvcName 'Asia Else End Valitse r.WriteBlankLines 1 Seuraava Jos trim (sSkippedSvc) "" Sitten WScript.Echo iSvcCnt & "Palvelut löytyi. Palveluita "& sSkippedSvc &" ei voitu varmuuskopioida. "Else WScript.Echo iSvcCnt &" Palvelut löytyvät ja niiden käynnistysasetukset varmuuskopioidaan. "Lopeta Jos r.Close b.WriteLine" @pause "b.Close WshShell.Run" notepad.exe "& sREGFile WshShell.Run" notepad.exe "& sBATFile Set objFSO = Mikään joukko WshShell = Ei loppua, jos
Kuinka käyttää VBScriptiä?
- Kopioi yllä olevat koodirivit Muistioon
- Tallenna tiedosto tiedostopääte .vbs - esim.
services_startup_config_backup.vbs
. - Kaksoisnapsauta suorittaaksesi komentosarjan.
Skripti käynnistyy uudelleen järjestelmänvalvojana (korotettuna) ja kysyy Windows-palveluiden luetteloa ja niiden käynnistystyyppien määrityksiä. Tulokset kirjoitetaan .reg
ja .bat
tiedostoihin myöhempää palauttamista varten. Nämä kaksi tiedostoa luodaan samassa kansiossa kuin skripti.
Tulostiedostoilla on etuliite svc_curr_state _, ja niitä seuraa nykyinen päivämäärä muodossa svc_curr_state_20190706.reg
- esim. svc_curr_state_20190706.reg
ja svc_curr_state_20190706.bat
Huomaa: Skripti ottaa myös huomioon, määritetäänkö palvelu viivästyneelle käynnistykselle vai ei. Palveluissa, joissa on automaattinen (viivästynyt käynnistys) tyyppi, käytetään ylimääräistä rekisteriarvoa, nimeltään DelayedAutoStart
. Jos DelayedAutoStart on asetettu arvoon 1 ja käynnistysarvoksi on asetettu 2 (automaattinen), palvelu määritetään automaattiseksi (viivästynyt käynnistys) . Ja Batch-tiedostossa on delayed-auto
näiden palvelujen käynnistysmoodina.
Services Startup -tyyppisen kokoonpanon palauttaminen
Voit palauttaa palvelujen käynnistystyyppien kokoonpanot varmuuskopiosta valitsemalla yhden kahdesta muodosta.
.reg-tiedosto
Jos palautat .reg-tiedoston palvelun käynnistysasetusten palauttamiseksi, sinun on käynnistettävä Windows uudelleen, kun olet asentanut .reg-tiedoston palveluasetusten päivittämistä varten. Tämä on kuitenkin edullinen menetelmä.
.bat-tiedosto
Batch-tiedosto sisältää SC-komentoja, jotka muuttavat palveluiden käynnistysmäärityksiä reaaliajassa. Et tarvitse uudelleenkäynnistystä, jos menetelmää käytetään. Varmista, että suoritat Erä-tiedoston järjestelmänvalvojan komentorivi-ikkunassa.
LIITTYVÄT: Windows 10 -palvelun oletusasetuksetLisämerkinnät
- Joissakin palveluissa saatat kohdata virheitä, kuten [SC] ChangeServiceConfig FAILED 5: tai vastaava. Tämä johtuu palvelujen käyttöoikeuksista tai suojauskuvaajista, jotka lukitsevat palvelut. Tässä tapauksessa voit käynnistää komentokehoteikkunan LOCALSYSTEM-tilin alla ja suorittaa eräajotiedoston.
- Windows 10: ssä voit nähdä monia palvelunimiä, joissa on alaviiva (
_
) ja joita seuraa numero. Nämä numerot (jälkiliite) eivät välttämättä vastaa toisten Windows 10 -tietokoneiden numeroita. Tässä muutama esimerkki:- AarSvc_8561415
- BcastDVRUserService_8561415
- BluetoothUserService_8561415
- CaptureService_8561415
- cbdhsvc_8561415
- CDPUserSvc_8561415
- ConsentUxUserSvc_8561415
- CredentialEnrollmentManagerUserSvc_8561415
- DeviceAssociationBrokerSvc_8561415
- DevicePickerUserSvc_8561415
- DevicesFlowUserSvc_8561415
- LxssManagerUser_8561415
- MessagingService_8561415
- OneSyncSvc_8561415
- PimIndexMaintenanceSvc_8561415
- PrintWorkflowUserSvc_8561415
- UnistoreSvc_8561415
- UserDataSvc_8561415
- WpnUserService_8561415
Edellä olevien palveluiden (lyhyt) nimien numerot
8561415
eivät saa olla samat muissa Windows 10 -tietokoneissa. Se on yksi asia, josta sinun on oltava varovainen, kun palautat asetukset toiseen Windows 10 -tietokoneeseen. Lisäksi näiden palveluiden palauttaminen SC.exe-komennolla voi aiheuttaa virheen ChangeServiceConfig FAILED 87: Parametri on väärä .
Vanhemmille Windows-versioille
Windows-versioissa, jotka ovat aiempia kuin Windows 10 (Windows Vista kautta Windows 8.1), käytä komentosarjaa services_conf_backup.zip. Huomaa, että vanhempi komentosarja ei tue automaattista (viivästynyt käynnistys) aloitustyyppiä - WMI-rajoituksen vuoksi. Se kohtelee automaattista ja automaattista (viivästynyt käynnistys) samoina.