
Liste des services Windows en anglais et leur correspondance en français
Ce script PowerShell a été conçu pour gérer de manière efficace l'affichage et l'exportation des services Windows en cours d'exécution sur une machine.
Il offre une vue claire et structurée des services avec leur nom système (en anglais) et leur nom d'affichage (en français), tout en permettant une gestion simple des fichiers de sortie.
Code
Code : Tout sélectionner
# Récupérer les services
$services = Get-WmiObject -Class Win32_Service
# Définir dynamiquement le chemin du fichier sur le bureau de l'utilisateur courant
$desktopPath = [Environment]::GetFolderPath('Desktop')
$outputFile = Join-Path -Path $desktopPath -ChildPath 'services.txt'
$outputFileOld = Join-Path -Path $desktopPath -ChildPath 'services.txt.old'
# Supprimer le fichier services.txt.old s'il existe
if (Test-Path -Path $outputFileOld) {
Remove-Item -Path $outputFileOld -Force
Write-Host "Le fichier 'services.txt.old' existait déjà et a été supprimé." -ForegroundColor Yellow
}
# Vérifier si le fichier services.txt existe et le renommer s'il existe
if (Test-Path -Path $outputFile) {
Rename-Item -Path $outputFile -NewName $outputFileOld -Force
Write-Host "Le fichier 'services.txt' existait déjà et a été renommé en 'services.txt.old'." -ForegroundColor Yellow
}
# Calculer la largeur maximale pour chaque colonne
$maxWidthEnglish = ($services | Measure-Object -Property Name -Maximum).Maximum.Length
$maxWidthFrench = ($services | Measure-Object -Property DisplayName -Maximum).Maximum.Length
# Inclure les largeurs des titres
$maxWidthEnglish = [math]::Max($maxWidthEnglish, "Nom du service (Anglais)".Length) + 20 # Ajouter 20 caractères à la largeur de la première colonne
$maxWidthFrench = [math]::Max($maxWidthFrench, "Nom du service (Français)".Length)
# Ajouter les titres pour les colonnes avec un alignement
$header = "{0} | {1}" -f "Nom du service (Anglais)".PadRight($maxWidthEnglish), "Nom du service (Français)".PadRight($maxWidthFrench)
# Créer une liste personnalisée avec le nom anglais suivi d'un pipe et du nom français, avec alignement
$formattedServices = $services | ForEach-Object {
"{0} | {1}" -f $_.Name.PadRight($maxWidthEnglish), $_.DisplayName.PadRight($maxWidthFrench)
}
# Ajouter l'en-tête au début des résultats
$formattedServices = $header + "`n" + ($formattedServices -join "`n")
# Afficher le résultat à l'écran
Write-Host $formattedServices
# Pause pour lire le résultat à l'écran
Read-Host "Les résultats ont été affichés. Appuyez sur Entrée pour les enregistrer dans services.txt sur le bureau."
# Enregistrer le résultat formaté dans un fichier texte sur le bureau
$formattedServices | Out-File -FilePath $outputFile -Encoding UTF8
# Afficher le chemin complet du fichier
Write-Host "Les résultats ont été enregistrés dans le fichier suivant :" -ForegroundColor Green
Write-Host $outputFile -ForegroundColor Yellow
# Pause finale
Read-Host "Appuyez sur Entrée pour terminer..."
Voici les principales fonctionnalités de ce script :
- Suppression des fichiers obsolètes :
Au lancement, le script vérifie l'existence d'un fichier services.txt.old sur le bureau de l'utilisateur. Si ce fichier est présent, il est automatiquement supprimé pour éviter toute confusion avec des données obsolètes.
- Renommage sécurisé des fichiers de sortie :
Si un fichier services.txt existe déjà sur le bureau, le script le renomme en services.txt.old pour conserver une copie de sauvegarde avant de générer un nouveau fichier.
- Récupération des informations des services Windows :
Le script utilise la commande Get-WmiObject pour récupérer la liste des services Windows en cours d'exécution, y compris leur nom système (en anglais) et leur nom d'affichage (en français).
- Formatage des résultats avec alignement :
Les informations des services sont formatées en deux colonnes alignées pour faciliter la lecture. La première colonne affiche le nom du service en anglais avec une largeur étendue de 10 caractères pour plus de lisibilité, suivie par une barre verticale (|), puis le nom du service en français. Les titres des colonnes sont également ajoutés pour clarifier les informations affichées.
- Affichage des résultats et sauvegarde dans un fichier :
Les résultats formatés sont d'abord affichés à l'écran pour que l'utilisateur puisse les visualiser. Ensuite, sur demande, ils sont enregistrés dans un fichier texte (services.txt) sur le bureau de l'utilisateur avec un encodage UTF-8 pour garantir la compatibilité.
- Interaction utilisateur :
Le script est interactif, invitant l'utilisateur à appuyer sur "Entrée" après l'affichage des résultats et à la fin du processus pour terminer l'exécution.
- Enregistrer le code dans un fichier txt avec l'extension .ps1 par exemple services-us-fr.ps1
- Clic droit sur l'icône du fichier et commande Exécuter avec PowerShell
- Des messages de confirmation apparaissent au fur et à mesure de l'exécution du script
- Le script se ferme à la fin des opérations.
- Le fichier services.txt est affiché sur le bureau