« PowerShell/Menu interactif » : différence entre les versions
mAucun résumé des modifications |
|||
| Ligne 84 : | Ligne 84 : | ||
# Affichage du résultat | # Affichage du résultat | ||
$TacheListe | $TacheListe | ||
</source> | |||
== Menu interactif, exemple 2 == | |||
<source> | |||
function Show-Menu { | |||
param ( | |||
[string]$Titre = "Menu d'administration" | |||
) | |||
Clear-Host | |||
Write-Host "============ $titre ============" | |||
Write-Host "1 : Répertoire courant, contenu" | |||
Write-Host "2 : AD" | |||
Write-Host "3 : DHCP" | |||
Write-Host "4 : Autre" | |||
Write-Host "5 : Calculatrice" | |||
Write-Host "Q : Quitter" | |||
} | |||
do { | |||
Show-Menu | |||
$Touche = Read-Host "Votre sélection" | |||
Switch ($Touche) { | |||
'1' { Get-ChildItem } | |||
'2' {"Choix numéro 2"} | |||
'3' {"Choix numéro 3"} | |||
'4' {"Choix numéro 4"} | |||
'5' {"Choix numéro 5"} | |||
} | |||
Pause | |||
} | |||
until ($Touche -eq "q") | |||
</source> | </source> | ||
Dernière version du 1 octobre 2026 à 22:17
Un menu interactif pour accéder rapidement aux outils récurrents.
Menu interactif, exemple 1
<#
Nom : PSHMNU001
Description : création d'un menu interactif pour l'accès à des outils
Usage : exercice en PowerShell
Particularité : néant
Auteur : fylip22
Version : 1.0
Révisions :
- 1.0 (05/09/2026) : création du script
#>
Set-Location "C:\Support\"
$continuer = $true
while ($continuer) {
Clear-Host
Write-Host "==== MENU PRINCIPAL ====" -ForegroundColor Cyan
Write-Host "0. Répertoire courant"
Write-Host "1. Accès AD"
Write-Host "2. DHCP"
Write-Host "3. Bureau distant"
Write-Host "8. Calculatrice"
Write-Host "Q. Quitter"
$choix = Read-Host "Faites votre choix (1-9 ; Q)"
switch ($choix) {
'0' { Write-Host "Contenu du répertoire courant" -ForegroundColor Green
Invoke-Command -ScriptBlock {Get-ChildItem} ; Pause }
'1' { Write-Host "Exécution du script A..." -ForegroundColor Green
& ".\PSHTAC001.ps1"
Pause }
'2' { Write-Host "Exécution du script B..." -ForegroundColor Green
#& "C:\Chemin\Vers\ScriptB.ps1"
Pause }
'3' { Write-Host "Exécution du script C..." -ForegroundColor Green
#& "C:\Chemin\Vers\ScriptC.ps1"
Pause }
'8' { Write-Host "Calculatrice" -ForegroundColor Green
Start-Process calc.exe
Pause }
'Q' { Write-Host `r"Fermeture du menu..." -ForegroundColor Yellow ; $continuer = $false }
default { Write-Host "Choix invalide, veuillez réessayer." -ForegroundColor Red ; Start-Sleep -Seconds 1 }
}
}
<#
Nom : PSHTAC001
Description : liste des tâches planifiées avec indication du compte d'exécution
Usage : exercice en PowerShell
Particularité : en modifiant le filtre, il est possible de n'afficher que certaines tâches.
Exemple :
* Where {$_.TaskName -like "*"} : pour afficher toutes les tâches
* Where {$_.TaskName -like "Opti*"} : pour n'afficher que les tâches dont le nom commence par "Opti"
Auteur : fylip22
Version : 1.0
Révisions :
- 1.0 (31/10/2024) : fylip22, création du script
#>
Clear-Host
Write-Host "Liste des tâches planifiées avec indication du compte d'exécution"
Write-Host "================================================================="
$TacheListe =
@(Get-ScheduledTask -TaskPath \ | Where {$_.TaskName -like "*"}) |
ForEach-Object {
[pscustomobject]@{
Tache = $_.taskname;
CompteExecution = $_.CimInstanceProperties.Value.userid[1]
}
}
# Affichage du résultat
$TacheListe
Menu interactif, exemple 2
function Show-Menu {
param (
[string]$Titre = "Menu d'administration"
)
Clear-Host
Write-Host "============ $titre ============"
Write-Host "1 : Répertoire courant, contenu"
Write-Host "2 : AD"
Write-Host "3 : DHCP"
Write-Host "4 : Autre"
Write-Host "5 : Calculatrice"
Write-Host "Q : Quitter"
}
do {
Show-Menu
$Touche = Read-Host "Votre sélection"
Switch ($Touche) {
'1' { Get-ChildItem }
'2' {"Choix numéro 2"}
'3' {"Choix numéro 3"}
'4' {"Choix numéro 4"}
'5' {"Choix numéro 5"}
}
Pause
}
until ($Touche -eq "q")