You don't need the Import-Module in there, remember module autoload will do that for you.
And you need to add some extra parameters on the powershell.exe for running a script as Scheduled Task.
You also need to tackle the connection to the vSphere server.
You can provide credentials inline, or you can use something like the entries created by New-VICredentialStoreItem.
And there are other possibilities.
I use PowerShell to create my Scheduled Tasks, including the ones with PowerCLI.
Something like this
$psExe = "$($PSHOME)\powershell.exe"$psArg = '-ExecutionPolicy Bypass -NonInteractive -NoLogo -NoProfile -Command'
$user = 'domain\user'
$runDate = Get-Date
$runInterval = New-TimeSpan -Days 7
$runFinish = New-TimeSpan -Days 1
$taskName = "PowerCLI Script"
Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue | Unregister-ScheduledTask -Confirm:$false
$psScript = 'C:\Scripts\MyScript.ps1'
$fullArg = "$($psArg) ""& '$($psScript)'"""
$action = New-ScheduledTaskAction -Execute $psExe -Argument $fullArg
$trigger = New-ScheduledTaskTrigger -Once -At $runDate -RepetitionInterval $runInterval -RepetitionDuration $runFinish
$settings = New-ScheduledTaskSettingsSet -DisallowDemandStart:$false -RunOnlyIfNetworkAvailable -StartWhenAvailable
$principal = New-ScheduledTaskPrincipal -UserID $user -LogonType ServiceAccount -RunLevel Highest
$task = New-ScheduledTask -Action $action -Description $taskName -Trigger $trigger -Settings $settings -Principal $principal
Register-ScheduledTask -InputObject $task -TaskName $taskName -User $user