MenuPSH
🧩 Syntax:
# eaa.ps1
# Eaa Powershell pour menu 6 options
# Mon script est fait pour etre executer sur Windows Server 2022 Evalutation Edition - Vous pouvez executer cette commande IRM pour executer automatiquement: irm https://gist.githubusercontent.com/XavierMenard/2afaddd89a9b099ab120db76bc52c8b0/raw/b07e380576a6e272baf7c4fdd0507a5cc82c7db7/gistfile1.txt | iex
Clear-Host
# Boucle principale pour revenir au menu après chaque action
do {
# Affichage du menu
Write-Host "======================================================================================" -ForegroundColor Magenta
Write-Host "
_____ _____
( ___ ) ( ___ )
| |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| |
| | __ __ ____ _ _ _ | |
| | | \/ | ___ _ __ _ _ | _ \ _____ _____ _ __ ___| |__ ___| | | | |
| | | |\/| |/ _ \ '_ \| | | | | |_) / _ \ \ /\ / / _ \ '__/ __| '_ \ / _ \ | | | |
| | | | | | __/ | | | |_| | | __/ (_) \ V V / __/ | \__ \ | | | __/ | | | |
| | |_| |_|\___|_| |_|\__,_| |_| \___/ \_/\_/ \___|_| |___/_| |_|\___|_|_| | |
|___|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|___|
(_____) (_____)
╔═══════════════════════════════════════════╗
║ ____ __ __ _ ║
║| __ ) _ _ \ \/ /__ ___ _(_) ___ _ __ ║
║| _ \| | | | \ // _` \ \ / / |/ _ \ '__| ║
║| |_) | |_| | / \ (_| |\ V /| | __/ | ║
║|____/ \__, | /_/\_\__,_| \_/ |_|\___|_| ║
║ |___/ ║
╚═══════════════════════════════════════════╝"
Write-Host " 2025/06/20" -ForegroundColor Green
Write-Host "======================================================================================" -ForegroundColor Magenta
Write-Host "Choisissez une des options suivantes"
Write-Host "1 - Créer un utilisateur local" -ForegroundColor DarkYellow
Write-Host "2 - Créer un groupe local" -ForegroundColor DarkYellow
Write-Host "3 - Afficher les utilisateurs existants" -ForegroundColor DarkYellow
Write-Host "4 - Afficher les groupes existants" -ForegroundColor DarkYellow
Write-Host "5 - Supprimer un utilisateur" -ForegroundColor DarkYellow
Write-Host "6 - Supprimer un groupe" -ForegroundColor DarkYellow
Write-Host "
0 - Quitter" -ForegroundColor Red
Write-Host "
======================================================================================" -ForegroundColor Magenta
# Demander le choix de l'utilisateur
$choix = Read-Host "Entrez votre choix (0 à 6)"
# Réagir selon le choix
switch ($choix) {
"1" {
# Option 1 : Creation d'un utilisateur local
$userName = Read-Host "Entrez le nom d'utilisateur à créer"
$UserPassword = Read-Host "Entrez le mot de passe du nouveau compte" -AsSecureString
New-LocalUser -Name $userName -FullName $userName -Password $UserPassword -Description "none"
Write-Host "L'utilisateur '$userName' a été créé avec succès !" -ForegroundColor Green
}
"2" {
# Option 2 : Creation d'un groupe local
$groupelocal = Read-Host "Entrez le nom du groupe local à créer"
New-LocalGroup -Name $groupelocal -Description "none"
Write-Host "Le groupe local '$groupelocal' a été créé avec succès !" -ForegroundColor Green
}
"3" {
# Option 3 : Afficher les utilisateurs existants
$UtilisateurActif = Get-LocalUser | Where-Object { $_.Enabled -eq $true }
$UtilisateurTrié = $UtilisateurActif | Sort-Object -Property Name -Descending
$UtilisateurTrié | Format-Table Name, Enabled
}
"4" {
# Option 4 : Afficher les groupes existants
$GroupeLocalTrié = Get-LocalGroup | Sort-Object -Property Name -Descending
$GroupeLocalTrié | Format-Table Name
}
"5" {
# Option 5 : Supprimer un utilisateur
$UtilisateurSupprimer = Read-Host "Entrez le nom de l'utilisateur à supprimer"
$confirmation = Read-Host "Êtes-vous certain de vouloir supprimer l'utilisateur '$UtilisateurSupprimer' ? (Oui/Non)"
if ($confirmation -eq "Oui" -or $confirmation -eq "oui") {
Remove-LocalUser -Name $UtilisateurSupprimer
Write-Host "L'utilisateur '$UtilisateurSupprimer' a été supprimé avec succès !" -ForegroundColor Green
}
}
"6" {
# Option 6 : Supprimer un groupe
$GroupeSupprimer = Read-Host "Entrez le nom du groupe à supprimer"
$confirmation = Read-Host "Êtes-vous certain de vouloir supprimer le groupe '$GroupeSupprimer' ? (Oui/Non)"
if ($confirmation -eq "Oui" -or $confirmation -eq "oui") {
Remove-LocalGroup -Name $GroupeSupprimer
Write-Host "Le groupe '$GroupeSupprimer' a été supprimé avec succès !" -ForegroundColor Green
}
}
"0" {
Write-Host "Au revoir!" -ForegroundColor Cyan
break # Sortie de la boucle et fin du script
}
default {
Write-Host "Option invalide, veuillez entrer un numéro valide entre 0 et 6." -ForegroundColor Red
}
}
} while ($choix -ne "0") # Revenir au menu sauf "0"