Commandes Simples pour Gérer les Services Windows
Découvrez les commandes de base pour gérer les services Windows, de la visualisation à l'arrêt forcé.
I
InSkillCoach
· min
Commandes Simples pour Gérer les Services Windows
Découvrez les commandes essentielles pour gérer les services Windows, que ce soit via PowerShell ou l’invite de commandes.
1. Visualisation des Services
Liste des Services
# Afficher tous les services
Get-Service
# Afficher un service spécifique
Get-Service -Name "Windows Update"
# Afficher les services en cours d'exécution
Get-Service | Where-Object {$_.Status -eq "Running"}
# Afficher les services arrêtés
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Informations Détaillées
# Afficher les détails d'un service
Get-Service -Name "Windows Update" | Format-List *
# Afficher les dépendances d'un service
Get-Service -Name "Windows Update" -DependentServices
# Afficher les services dont dépend un service
Get-Service -Name "Windows Update" -RequiredServices
2. Gestion des Services
Démarrage et Arrêt
# Démarrer un service
Start-Service -Name "Windows Update"
# Arrêter un service
Stop-Service -Name "Windows Update"
# Redémarrer un service
Restart-Service -Name "Windows Update"
# Suspendre un service (pause)
Suspend-Service -Name "Windows Update"
# Reprendre un service suspendu
Resume-Service -Name "Windows Update"
Arrêt Forcé (équivalent à kill -9)
# Arrêt forcé d'un service
Stop-Process -Name "svchost" -Force
# Arrêt forcé avec confirmation
Stop-Process -Name "svchost" -Force -Confirm
# Arrêt forcé d'un service et de ses processus enfants
Stop-Process -Name "svchost" -Force -IncludeChildProcess
Arrêt Normal (équivalent à kill -15)
# Arrêt normal d'un service
Stop-Service -Name "Windows Update"
# Arrêt normal avec attente
Stop-Service -Name "Windows Update" -Force
# Arrêt normal avec timeout
$service = Get-Service -Name "Windows Update"
$service.Stop()
Start-Sleep -Seconds 30
if ($service.Status -eq "Running") {
Stop-Process -Name "svchost" -Force
}
3. Configuration des Services
Type de Démarrage
# Définir le type de démarrage
Set-Service -Name "Windows Update" -StartupType Automatic
# Types disponibles :
# - Automatic (Démarrage automatique)
# - Manual (Démarrage manuel)
# - Disabled (Désactivé)
# Vérifier le type de démarrage
Get-Service -Name "Windows Update" | Select-Object Name, StartType
Permissions
# Voir les permissions d'un service
Get-Acl -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Windows Update"
# Modifier les permissions
$acl = Get-Acl -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Windows Update"
$rule = New-Object System.Security.AccessControl.ServiceAccessRule(
"Administrateurs",
"FullControl",
"Allow"
)
$acl.SetAccessRule($rule)
Set-Acl -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Windows Update" -AclObject $acl
4. Commandes CMD (Invite de Commandes)
Gestion Basique
# Démarrer un service
net start "Windows Update"
# Arrêter un service
net stop "Windows Update"
# Voir l'état d'un service
sc query "Windows Update"
# Voir tous les services
sc query state= all
Arrêt Forcé
# Arrêt forcé d'un service
taskkill /F /IM svchost.exe
# Arrêt forcé avec confirmation
taskkill /F /IM svchost.exe /T
# Arrêt forcé d'un service spécifique
taskkill /F /FI "SERVICES eq Windows Update"
5. Bonnes Pratiques
Vérification Avant Arrêt
# Vérifier si un service est critique
function Test-CriticalService {
param (
[string]$ServiceName
)
$criticalServices = @(
"LSASS",
"Winlogon",
"Services",
"RpcSs"
)
if ($criticalServices -contains $ServiceName) {
Write-Warning "Ce service est critique !"
return $true
}
return $false
}
# Exemple d'utilisation
if (-not (Test-CriticalService "Windows Update")) {
Stop-Service -Name "Windows Update"
}
Sauvegarde de Configuration
# Sauvegarder la configuration d'un service
function Backup-ServiceConfig {
param (
[string]$ServiceName
)
$backupPath = "C:\Backups\Services\$ServiceName_$(Get-Date -Format 'yyyyMMdd').txt"
# Créer le dossier si nécessaire
if (-not (Test-Path "C:\Backups\Services")) {
New-Item -ItemType Directory -Path "C:\Backups\Services"
}
# Sauvegarder la configuration
Get-Service -Name $ServiceName | Format-List * | Out-File $backupPath
return $backupPath
}
Conclusion
Points clés à retenir :
- Toujours vérifier si un service est critique avant de l’arrêter
- Préférer l’arrêt normal à l’arrêt forcé
- Sauvegarder la configuration avant modification
- Utiliser les commandes appropriées selon le contexte
- Documenter les modifications effectuées
Commandes essentielles :
Get-Service
: Lister les servicesStart-Service
: Démarrer un serviceStop-Service
: Arrêter un service normalementStop-Process -Force
: Arrêter un service de forceSet-Service
: Configurer un service
À propos de InSkillCoach
Expert en formation et technologies
Coach spécialisé dans les technologies avancées et l'IA, porté par GNeurone Inc.
Certifications:
- AWS Certified Solutions Architect – Professional
- Certifications Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
581
69
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion