Después de realizar una nueva instalación de Windows 10, deshabilitar los Servicios de Windows no utilizados es una de las tareas que lleva mucho tiempo realizar. Una vez configurado, puede hacer una copia de seguridad del estado de inicio del servicio utilizando un Script para que pueda usarse en instalaciones posteriores o si necesita automatizar la tarea en varias computadoras.
Las copias de seguridad del estado de los servicios también pueden ayudar cuando soluciona problemas de los servicios de Windows y desea deshacer rápidamente los cambios que realizó.
RELACIONADO: Eliminar un servicio en Windows usando la línea de comandos, Regedit o AutorunsConfiguración de servicios de copia de seguridad (tipo de inicio) en Windows
Aquí hay una copia de seguridad de la configuración de inicio de Windows Services VBScript que escribí. El script realiza una copia de seguridad del estado de inicio de todos los Servicios al generar la configuración de los servicios en dos formatos de archivo: .reg
(entradas de registro) y .bat
(archivo Batch de Windows) para que pueda restaurar la configuración de los servicios más adelante.
Descripción: Este script realiza una copia de seguridad de la configuración de inicio de los Servicios de Windows en un archivo REG. 'Para Windows 10, Windows Server 2016' © 2016-2019 Ramesh Srinivasan 'Sitio web: https://www.winhelponline.com/blog/' Revisado: 07 de julio de 2019 Opción explícita si WScript.Arguments.length = 0 Entonces Dim objShell : Establecer objShell = CreateObject ("Shell.Application") objShell.ShellExecute "wscript.exe", Chr (34) y _ WScript.ScriptFullName & Chr (34) y "uac", "", "runas", 1 Else Dim WshShell, objFSO, strNow, intServiceType, intStartupType, strDisplayName, iSvcCnt Dim sREGFile, sBATFile, r, b, strComputer, objWMIService, colListOfServices, objService Set WshShell = CrearObjeto. FilesystemObject ") strNow = Year (Date) & Right (" 0 "& Month (Date), 2) & Right (" 0 "& Day (Date), 2) Dim objFile: Set objFile = objFSO.GetFile (WScript.ScriptFullName ) sREGFile = objFSO.GetParentFolderName (objFile) & "\ svc_curr_state_" & strNow & ".reg" sBATFile = objFSO.GetParentFolderName (objFile) & "\ svc_curr_state_" & strNow & ".Text. GFile, True) r.WriteLine "Editor del Registro de Windows Versión 5.00" r.WriteBlankLines 1 r.WriteLine "; Servicios Startup Configuration Backup" & Now r.WriteBlankLines 1 Set b = objFSO.CreateTextFile (sBATFile, True) b.WriteLine "@ echo Restore Service Startup State guardado en "& Now b.WriteBlankLines 1 strComputer =". " iSvcCnt = 0 Dim sStartState, sSvcName, sSkippedSvc Set objWMIService = GetObject ("winmgmts:" _ & "{impersonationLevel = impersonate}! \\" & strComputer & "\ root \ cimv2") Establecer colListOfServices = objWcer ". * from Win32_Service ") Para cada objService en colListOfServices iSvcCnt = iSvcCnt + 1 r.WriteLine" [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ "& trim (objService.Name) &"] "sStartState = lcase.S obrtSerde = scase = obsequio objService.Name Seleccionar caso sStartState Caso "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" 'Verificar si es automático (inicio retrasado) r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000002" If objService.DelayedAutoStart = True Entonces r.WriteLine chr (34) & "DelayedAutostart" & Chr (34) & "= dword: 00000001" b.WriteLine "sc.exe config" & sSvcName & "start = delayed-auto" Else r.WriteLine chr (34) & "DelayedAutostart" & Chr (34) & "= -" b.WriteLine "sc.exe config" & sSvcName & "start = auto" End If Case "manual" r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000003" b.WriteLine "sc.exe config" & sSvcName & "start = demand "Case" deshabilitado "r.WriteLine chr (34) &" Start "& Chr (34) &" = dword: 00000004 "b.WriteLine" sc.exe config "& sSvcName &" start = disabled "Case" unknown "sSkippedSvc = sSkippedSvc & ", " & sSvcName 'Caso Else End Seleccione r.WriteBlankLines 1 Siguiente If trim (sSkippedSvc) "" Entonces WScript.Echo iSvcCnt & "Servicios encontrados. No se pudo realizar una copia de seguridad de los servicios "& sSkippedSvc &". notepad.exe "& sREGFile WshShell.Run" notepad.exe "& sBATFile Set objFSO = Nothing Set WshShell = Nothing End If
¿Cómo usar el VBScript?
- Copie las líneas de código anteriores al Bloc de notas
- Guarde el archivo con la extensión .vbs, por ejemplo,
services_startup_config_backup.vbs
. - Haga doble clic para ejecutar el script.
El script se reinicia como administrador (elevado) y consulta la lista de servicios de Windows y su configuración de tipo de inicio. Los resultados se escriben en archivos .reg
y .bat
para su posterior restauración. Los dos archivos se crean en la misma carpeta que el script.
Los archivos de salida tendrán el prefijo svc_curr_state _ y luego la fecha actual en formato aaaammdd, por ejemplo, svc_curr_state_20190706.reg
& svc_curr_state_20190706.bat
Nota: El script también tiene en cuenta si un servicio está configurado para un inicio diferido o no. Para los servicios con tipo de inicio Automático (inicio retrasado), se utiliza un valor de registro adicional denominado DelayedAutoStart
. Si DelayedAutoStart se establece en 1 y el valor de Inicio se establece en 2 (Automático), el servicio se configurará como Automático (inicio retrasado) . Y el archivo Batch tendrá el delayed-auto
como modo de inicio para esos servicios.
Restauración de la configuración del tipo de inicio de servicios
Para restaurar la configuración del tipo de inicio de servicios desde la copia de seguridad, elija uno de los dos formatos.
archivo .reg
Si usa el archivo .reg para restaurar las preferencias de inicio del servicio, deberá reiniciar Windows después de aplicar el archivo .reg para que se actualice la configuración de los servicios. Sin embargo, este es el método preferido.
archivo .bat
El archivo Batch contiene comandos SC que cambiarán la configuración de inicio de los servicios en tiempo real. No necesita reiniciar si usa el método. Asegúrese de ejecutar el archivo Batch desde una ventana del símbolo del sistema de administración.
RELACIONADO: Configuración de servicios predeterminados de Windows 10Notas adicionales
- Para algunos servicios, puede encontrar errores como [SC] ChangeServiceConfig FAILED 5: o similar. Esto se debe a los permisos de servicio o descriptores de seguridad que bloquean los servicios. En ese caso, puede iniciar una ventana del símbolo del sistema como en la cuenta LOCALSYSTEM y ejecutar el archivo Batch.
- En Windows 10, puede ver muchos nombres de servicios que tienen un guión bajo (
_
) y seguido de algunos números. Es posible que estos números (sufijo) no coincidan con los de otras computadoras con Windows 10. Aquí hay unos ejemplos:- 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
Los sufijos de números
8561415
en los nombres de servicios (cortos) anteriores pueden no ser los mismos en otras computadoras con Windows 10. Eso es algo que debe tener en cuenta al restaurar la configuración a otra computadora con Windows 10. Además, la restauración de estos servicios utilizando el comando SC.exe puede causar el error ChangeServiceConfig FAILED 87: el parámetro es incorrecto .
Para versiones anteriores de Windows
Para versiones de Windows anteriores a Windows 10 (Windows Vista a Windows 8.1), use el script services_conf_backup.zip. Tenga en cuenta que la secuencia de comandos anterior no admite el tipo de inicio Automático (inicio retrasado), debido a una limitación de WMI. Trata Automático y Automático (inicio retrasado) como lo mismo.