0%
Commandes Simples pour Gérer les Services Windows

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 services
  • Start-Service : Démarrer un service
  • Stop-Service : Arrêter un service normalement
  • Stop-Process -Force : Arrêter un service de force
  • Set-Service : Configurer un service
InSkillCoach

À 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

Lien copié !