Sauvegarde de la configuration du type de démarrage des services Windows 10

2016-09-19 17:40:27
Principal·Microsoft·Sauvegarde de la configuration du type de démarrage des services Windows 10

Après avoir effectué une nouvelle installation de Windows 10, la désactivation des services Windows inutilisés est l'une des tâches chronophages que vous effectuez. Une fois configuré, vous pouvez sauvegarder l'état de démarrage du service à l'aide d'un script afin qu'il puisse être utilisé pour des installations ultérieures ou si vous devez automatiser la tâche sur plusieurs ordinateurs.

Les sauvegardes d'état des services peuvent également vous aider lorsque vous dépannez des services Windows et souhaitez annuler rapidement les modifications que vous avez apportées.

CONNEXES: Supprimer un service dans Windows à l'aide de la ligne de commande, Regedit ou Autoruns

Configuration des services de sauvegarde (type de démarrage) dans Windows

Voici une sauvegarde de la configuration de démarrage des services Windows VBScript que j'ai écrite. Le script sauvegarde l'état de démarrage de tous les services en générant la configuration des services dans deux formats de fichier - .reg (entrées d'enregistrement) et .bat (fichier Windows Batch) pour vous permettre de restaurer la configuration des services ultérieurement.

 'Description: ce script sauvegarde la configuration de démarrage des services Windows dans un fichier REG. 'Pour Windows 10, Windows Server 2016' © 2016-2019 Ramesh Srinivasan 'Site Web: https://www.winhelponline.com/blog/' Révisé le 7 juillet 2019 Option explicite si WScript.Arguments.length = 0 Alors Dim objShell : Set objShell = CreateObject ("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, objService Set WshShell = CreateObject (") Wscript 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 & "SbatFr GFile, True) r.WriteLine "Windows Registry Editor Version 5.00" r.WriteBlankLines 1 r.WriteLine "; Services Startup Configuration Backup" & Now r.WriteBlankLines 1 Set b = objFSO.CreateTextFile (sBATFile, True) b.WriteLine "@ echo Restore Service Startup State enregistré dans "& Now b.WriteBlankLines 1 strComputer =". " iSvcCnt = 0 Dim sStartState, sSvcName, sSkippedSvc Set objWMIService = GetObject ("winmgmts:" _ & "{impersonationLevel = impersonate}! \\" & strComputer & "\ root \ cimv2") Set colListOfService = _obEx "Select * from Win32_Service ") Pour chaque objService dans colListOfServices iSvcCnt = iSvcCnt + 1 r.WriteLine" [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ "& trim (objService.Name) &"] "sStartStateService = lcaseService objService.Name Select Case 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 s'il est automatique (démarrage différé) r.WriteLine chr (34) & "Start" & Chr (34) & "= dword: 00000002" If objService.DelayedAutoStart = True Then r.WriteLine chr (34) & "DelayedAutostart" & Chr (34) & "= dword: 00000001" b.WriteLine "config sc.exe" & sSvcName & "start = retardé-auto" Sinon 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" désactivée "r.WriteLine chr (34) &" Start "& Chr (34) &" = dword: 00000004 "b.WriteLine" sc.exe config "& sSvcName &" start = disabled "Case" unknown "sSkippedSvc = sSkippedSvc & ", " & sSvcName 'Case Else End Select r.WriteBlankLines 1 Next If trim (sSkippedSvc) "" Then WScript.Echo iSvcCnt & "Services found. Les services "& sSkippedSvc &" n'ont pas pu être sauvegardés. "Sinon WScript.Echo iSvcCnt &" Services trouvés et leur configuration de démarrage sauvegardée. "Fin Si r.Close b.WriteLine" @pause "b.Close WshShell.Run" notepad.exe "& sREGFile WshShell.Run" notepad.exe "& sBATFile Set objFSO = Nothing Set WshShell = Nothing End If 

Comment utiliser le VBScript?

  1. Copiez les lignes de code ci-dessus dans le Bloc-notes
  2. Enregistrez le fichier avec l'extension .vbs - par exemple, services_startup_config_backup.vbs .
  3. Double-cliquez pour exécuter le script.

Le script se relance en tant qu'administrateur (élevé) et interroge la liste des services Windows et leur configuration de type de démarrage. Les résultats sont écrits dans des fichiers .reg et .bat pour une restauration ultérieure. Les deux fichiers sont créés dans le même dossier que le script.

Les fichiers de sortie auront le préfixe svc_curr_state _ puis seront suivis de la date actuelle au format aaaammjj - par exemple, svc_curr_state_20190706.reg & svc_curr_state_20190706.bat

Remarque: Le script prend également en compte si un service est configuré pour un démarrage différé ou non. Pour les services avec un type de démarrage automatique (démarrage différé), une valeur de registre supplémentaire nommée DelayedAutoStart est utilisée. Si DelayedAutoStart est défini sur 1 et que la valeur de démarrage est définie sur 2 (automatique), le service sera configuré comme automatique (démarrage différé) . Et le fichier Batch aura l' delayed-auto comme mode de démarrage pour ces services.

CONNEXES: Comment sauvegarder complètement le registre automatiquement dans Windows 10

Restauration de la configuration du type de démarrage des services

Pour restaurer la configuration du type de démarrage des services à partir de la sauvegarde, choisissez l'un des deux formats.

Fichier .reg

Si vous utilisez le fichier .reg pour restaurer les préférences de démarrage du service, vous devrez redémarrer Windows après avoir appliqué le fichier .reg pour que la configuration des services soit actualisée. C'est la méthode préférée, cependant.

fichier .bat

Le fichier Batch contient des commandes SC qui changeront la configuration de démarrage des services en temps réel. Vous n'avez pas besoin d'un redémarrage si vous utilisez la méthode. Assurez-vous d'exécuter le fichier batch à partir d'une fenêtre d'invite de commandes admin.

CONNEXES: Configuration des services par défaut de Windows 10

Notes complémentaires

  1. Pour certains services, vous pouvez rencontrer des erreurs comme [SC] ChangeServiceConfig FAILED 5: ou similaire. Cela est dû aux autorisations de service ou aux descripteurs de sécurité qui verrouillent les services. Dans ce cas, vous pouvez lancer une fenêtre d'invite de commandes comme sous le compte LOCALSYSTEM et exécuter le fichier batch.
  2. Dans Windows 10, vous pouvez voir de nombreux noms de service qui ont un trait de soulignement ( _ ) et suivis de quelques chiffres. Ces chiffres (suffixe) peuvent ne pas correspondre à ceux d'autres ordinateurs Windows 10. Voici quelques exemples:
    • 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

    Les suffixes 8561415 dans les noms ( 8561415 de services ci-dessus peuvent ne pas être les mêmes sur d'autres ordinateurs Windows 10. C'est une chose à laquelle vous devez faire attention lors de la restauration des paramètres sur un autre ordinateur Windows 10. De plus, la restauration de ces services à l'aide de la commande SC.exe peut provoquer l'erreur ChangeServiceConfig FAILED 87: le paramètre est incorrect .

Pour les anciennes versions de Windows

Pour les versions de Windows antérieures à Windows 10 (Windows Vista à Windows 8.1), utilisez le script services_conf_backup.zip. Notez que l'ancien script ne prend pas en charge le type de démarrage automatique (démarrage différé) - en raison d'une limitation WMI. Il traite Automatique et Automatique (démarrage différé) de la même manière.

Choix De L'Éditeur