Why does my virtualbox script doesnt work?

Hi everyone, can someone pls tell me why when I execute my script is does task ready and scheduled but when the time come I didn’t start.I executed it as admin and all but it didnt do anything I let u check it and help me thanks a lot! :
$Nomvm = “Windows 2019 server”
$cheminvirtualbox = “C:\Program Files\Oracle\VirtualBox”
$heureDemarrage = “17:30” # Heure de démarrage (24 heures)

function Schedule-VMStart {
param (
[string]$Nomvm,
[string]$heureDemarrage
)$$
# Construire le nom de la tâche
$NomTache = “StartVM_$Nomvm”

# Obtenir le chemin complet de VBoxManage.exe
$cheminVBoxManage = Join-Path $cheminvirtualbox "VBoxManage.exe"

# Ajouter un délai avant d'ajuster l'heure de démarrage
Start-Sleep -Seconds 5

# Convertir l'heure de démarrage en objet DateTime avec la date actuelle
$heureDemarrageObjet = [datetime]::parseexact($heureDemarrage, "HH:mm", $null)

# Si l'heure de démarrage est déjà passée aujourd'hui, ajouter 1 jour
if ($heureDemarrageObjet -lt (Get-Date)) {
    $heureDemarrageObjet = $heureDemarrageObjet.AddDays(1)
}

# Créer une tâche planifiée pour démarrer la VM chaque jour à l'heure spécifiée
$action = New-ScheduledTaskAction -Execute "$cheminVBoxManage" -Argument "startvm '$Nomvm'"
$trigger = New-ScheduledTaskTrigger -Once -At $heureDemarrageObjet -RepetitionInterval ([TimeSpan]::FromDays(1))
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $NomTache -User "NT AUTHORITY\SYSTEM" -Force

}

Appeler la fonction pour planifier le démarrage quotidien de la VM à l’heure spécifiée

Schedule-VMStart -Nomvm $Nomvm -heureDemarrage $heureDemarrage

Hi rv213!

Welcome! When you have a moment, please go back and format your code: Formatting your code: How to format code on PowerShell.org. It seems part of your code is formatted but make sure it all is, as sometimes funky things can happen and it helps everyone with readability!

1 Like

Hi dotVo, here it is:

$Nomvm = "Windows 2019 server"
$cheminvirtualbox = "C:\Program Files\Oracle\VirtualBox"
$heureDemarrage = "23:30"  # Heure de démarrage (24 hours format)

function Schedule-VMStart {
    param (
        [string]$Nomvm,
        [string]$heureDemarrage )
   
    $NomTache = "StartVM_$Nomvm"

    $cheminVBox = Join-Path $cheminvirtualbox "VirtualBox.exe"

    # Convertir l'heure de démarrage en objet DateTime avec la date actuelle
    $heureDemarrageObjet = [datetime]::parseexact($heureDemarrage, "HH:mm", $null)

    # Si jamais l'heure de démarrage est deja passée
    if ($heureDemarrageObjet -lt (Get-Date)) {
        $heureDemarrageObjet = $heureDemarrageObjet.AddDays(1)
    }

    # Faire en sorte que ces commande se fassent tous les jours à la même heure
    $action = New-ScheduledTaskAction -Execute "$cheminVBox" -Argument "startvm '$Nomvm'"
    $trigger = New-ScheduledTaskTrigger -Once -At $heureDemarrageObjet -RepetitionInterval ([TimeSpan]::FromDays(1))
    Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $NomTache -User "NT AUTHORITY\SYSTEM" -Force
}

#  Planifier le démarrage quotidien de la VM à l'heure spécifiée
Schedule-VMStart -Nomvm $Nomvm -heureDemarrage $heureDemarragePreformatted text

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.