« PowerShell/Menu interactif » : différence entre les versions
Page créée avec « {{Sommaire}} Un menu interactif pour accéder rapidement aux outils récurrents. == Menu interactif, exemple 1 == <source> <# 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 #> $continuer = $true while ($continuer) { Clear-Host Write-Ho... » |
mAucun résumé des modifications |
||
| Ligne 2 : | Ligne 2 : | ||
Un menu interactif pour accéder rapidement aux outils récurrents. | Un menu interactif pour accéder rapidement aux outils récurrents. | ||
__TOC__ | |||
== Menu interactif, exemple 1 == | == Menu interactif, exemple 1 == | ||
| Ligne 15 : | Ligne 16 : | ||
- 1.0 (05/09/2026) : création du script | - 1.0 (05/09/2026) : création du script | ||
#> | #> | ||
Set-Location "C:\Support\" | |||
$continuer = $true | $continuer = $true | ||
| Ligne 33 : | Ligne 36 : | ||
Invoke-Command -ScriptBlock {Get-ChildItem} ; Pause } | Invoke-Command -ScriptBlock {Get-ChildItem} ; Pause } | ||
'1' { Write-Host "Exécution du script A..." -ForegroundColor Green | '1' { Write-Host "Exécution du script A..." -ForegroundColor Green | ||
& ".\PSHTAC001.ps1" | |||
Pause } | Pause } | ||
'2' { Write-Host "Exécution du script B..." -ForegroundColor Green | '2' { Write-Host "Exécution du script B..." -ForegroundColor Green | ||
| Ligne 45 : | Ligne 48 : | ||
Pause } | Pause } | ||
'Q' { Write-Host `r"Fermeture du menu..." -ForegroundColor Yellow ; $continuer = $false } | 'Q' { Write-Host `r"Fermeture du menu..." -ForegroundColor Yellow ; $continuer = $false } | ||
default { Write-Host "Choix invalide, veuillez réessayer." -ForegroundColor Red ; Start-Sleep -Seconds | default { Write-Host "Choix invalide, veuillez réessayer." -ForegroundColor Red ; Start-Sleep -Seconds 1 } | ||
} | } | ||
} | } | ||
</source> | |||
=== Un des menus === | |||
<source> | |||
<# | |||
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 | |||
</source> | </source> | ||
Version du 1 octobre 2026 à 08:06
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