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