Create shutdown.ps1
This commit is contained in:
parent
b111fb5fc1
commit
bb20226fbd
|
|
@ -0,0 +1,52 @@
|
|||
## Fonction pour lister les tâches planifiées
|
||||
function Get-ScheduledTasks {
|
||||
$tasks = schtasks /query /fo csv | ConvertFrom-Csv
|
||||
$tasks | Select-Object TaskName, NextRunTime
|
||||
}
|
||||
|
||||
## Fonction pour créer une tâche d'extinction
|
||||
function Create-ShutdownTask {
|
||||
param(
|
||||
[datetime]$TriggerTime
|
||||
)
|
||||
|
||||
$action = New-ScheduledTaskAction -Execute "shutdown.exe" -Argument "-s -t 0"
|
||||
$trigger = New-ScheduledTaskTrigger -Once -At $TriggerTime
|
||||
Register-ScheduledTask -TaskName "ShutdownTask_$($TriggerTime.ToString('HHmm'))" -Action $action -Trigger $trigger -RunLevel Highest
|
||||
}
|
||||
|
||||
## Menu principal
|
||||
function Show-Menu {
|
||||
Clear-Host
|
||||
Write-Host "================ Menu ================"
|
||||
Write-Host "1. Lister les tâches planifiées"
|
||||
Write-Host "2. Créer une tâche d'extinction pour 18h"
|
||||
Write-Host "3. Créer une tâche d'extinction pour 21h"
|
||||
Write-Host "Q. Quitter"
|
||||
Write-Host "======================================"
|
||||
}
|
||||
|
||||
## Boucle principale
|
||||
do {
|
||||
Show-Menu
|
||||
$choice = Read-Host "Veuillez faire un choix"
|
||||
|
||||
switch ($choice) {
|
||||
'1' {
|
||||
Write-Host "Tâches planifiées sur la machine :"
|
||||
Get-ScheduledTasks
|
||||
Pause
|
||||
}
|
||||
'2' {
|
||||
$shutdownTime = (Get-Date).Date.AddHours(18)
|
||||
Create-ShutdownTask -TriggerTime $shutdownTime
|
||||
}
|
||||
'3' {
|
||||
$shutdownTime = (Get-Date).Date.AddHours(21)
|
||||
Create-ShutdownTask -TriggerTime $shutdownTime
|
||||
}
|
||||
'q' {
|
||||
return
|
||||
}
|
||||
}
|
||||
} until ($choice -eq 'q')
|
||||
Loading…
Reference in New Issue