[PowerShell] Liste des services Windows en anglais et leur correspondance en français

Vous trouverez ici des scripts pour faciliter la gestion de votre ordinateur. Ils sont proposés tels quels par le rédacteur du message. La team ne vérifie pas la qualité de ces éléments et n'assure pas le support ni la maintenance. Vous les utilisez sous votre seule responsabilité.
Règles du forum
Pour les créateurs de scripts

Veuillez noter que les scripts que vous partagez ici sont proposés tels quels et la team ne vérifie pas leur qualité.
Nous vous rappelons que nous n'assurons ni le support ni la maintenance des scripts publiés.

Pour faciliter leur utilisation par les autres membres de la communauté, respectez ces consignes :
.
  • Utilisez les préfixes de langage pour taguer les messages.
  • Assurez-vous que vos scripts sont clairs et bien documentés
.
Merci de votre compréhension et de votre contribution.
Répondre
Avatar du membre
pboulanger
Administrateur du site
Administrateur du site
Messages : 1132
Enregistré le : mar. 17 mars 2020 11:49
A remercié : 108 fois
A été remercié : 111 fois
    Windows 10 Firefox

[PowerShell] Liste des services Windows en anglais et leur correspondance en français

Message par pboulanger »

:hi:

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..."
Que fait ce script ?

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.
Comment s'en servir ?
  • 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
 ! Message de : pboulanger
ATTENTION ! ce script est livré tel quel. Je l'ai juste testé sur mon windows 11 pro 23h2 build 22631.4112.
Vous pouvez le modifier comme vous le souhaitez.
Il vous appartient de prendre toutes les précautions de sauvegarde avant de l'exécuter.
Amicalement,

Pierre
Répondre