$workingDirectory = 'D:\v_ram' $taskName = 'VRAMDISK' $taskPath = '\' $scriptPath = (Join-Path $workingDirectory 'v_ramdisk.ps1') if (([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Host "Running with administrator privileges." $taskExists = Get-ScheduledTask -TaskName $taskName -TaskPath $taskPath -ErrorAction SilentlyContinue if ($taskExists) { Unregister-ScheduledTask -TaskName $taskName -TaskPath $taskPath -Confirm:$false Write-Host "Task $taskName deleted." } $Action = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument "-File `"$scriptPath`"" $Trigger = New-ScheduledTaskTrigger -AtLogon $Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable -RunOnlyIfNetworkAvailable -Hidden Register-ScheduledTask -TaskName $taskName -Action $Action -Trigger $Trigger -Settings $Settings -User "SYSTEM" -TaskPath $taskPath Write-Host "Task $taskName created successfully." } else { Write-Host "Not running with administrator privileges." Write-Host "Restart the script with administrator privileges." }