J'ai la question suivante. Comment désactiver certains services en mode sécurisé uniquement - ils doivent fonctionner au démarrage normal mais pas en mode sécurisé. Nous parlons de Win 7 64bit. Le problème est que l'ordinateur démarre normalement en mode normal, mais redémarre à l'écran de connexion lorsque vous essayez de démarrer en mode sans échec, j'ai fait un démarrage propre et j'ai trouvé que tout était ok pour se connecter en mode sans échec, donc il y a un certain service qui (je n'ai pas encore identifié) dépend d'un autre service qui n'est pas en cours d'exécution et qui provoque le crash du système. C'est tout à fait normal et correct si tous les services que je dois exécuter en démarrage normal, mais ils devraient être désactivés en mode sans échec (en dehors du strict minimum). Je veux donc désactiver et donc empêcher certains services de démarrer lorsque je passe en mode sans échec uniquement. Meilleures salutations.
Réponses
Trop de publicités?Regardez dans le registre sous
HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot
Cette clé de registre permet à Windows de savoir quels services charger lors d'un démarrage en mode sans échec (Safe Mode). Minimal
), ou Safe Mode w/ Networking ( Network
). Toutes les sous-clés sous ces deux clés représentent les noms des services du système tels qu'ils sont enregistrés dans le fichier HKLM\SYSTEM\CurrentControlSet\Services
.
Si vous voulez empêcher un service particulier de s'exécuter en mode sans échec, il suffit de le supprimer de la liste des services. Minimal
clé. Si vous voulez ajouter un service, trouvez son nom dans la section HKLM\SYSTEM\CurrentControlSet\Services
et l'ajouter en suivant les exemples fournis par les autres clés qui sont déjà là.
Par exemple, si vous avez besoin que le service Windows Installer soit exécuté en mode sans échec (comme cela a déjà été le cas pour moi), vous ajouterez une clé appelée msiserver
下 Minimal
et définir sa valeur par défaut à Service
. La prochaine fois que vous démarrerez en mode sans échec, le service Windows Installer sera en cours d'exécution.
Il va sans dire que vous devez sauvegarder la clé avant de la modifier.
Le problème tel que vous le formulez est probablement insoluble.
Je conseille donc de regarder à l'envers : Comment activer certains services uniquement en démarrage normal.
La réponse serait de désactiver ces services, mais de créer une .bat
script qui s'exécutera au démarrage et les fera fonctionner. Ce script ne sera pas exécuté lors du démarrage en mode sans échec.
La commande à utiliser dans le script est départ net pour chaque service.
C'est plus simple et je pense que c'est faisable.
Vous pouvez essayer ce script de powershell, Il a été testé sur powershell v5.1, veuillez créer une tâche qui exécute ce script après le démarrage sur le planificateur de tâches :
function Disable_Process( [Parameter(Mandatory=$true)][string]$process_name ) {
$machine_state = Get-WmiObject win32_computersystem | Select-Object -ExpandProperty BootupState
if ( $machine_state -match "Fail-safe boot" ) {
Stop-Process -Name "$process_name" -Force
} elseif ( $machine_state -match "Fail-safe with network boot") {
Stop-Process -Name "$process_name" -Force
}
Write-Host "Process(es) stopped:"
Get-Process | Where-Object {$_.HasExited} | Out-File C:\processes_stoped.txt
}
Disable_Process "process_name_you_want_to_stop" #You can repeat this line as many times as necessary
Si vous voulez vérifier le vrai nom du service, vous devez exécuter "services.msc", puis cliquer droit sur le service, puis cliquer sur propriétés et copier le champ "Nom du service".