下午好,
我正在尝试使用Powershell脚本在任务调度程序中创建任务。我需要任务为"以最高权限运行"。
我正在使用我发现并修改的以下代码。此代码运行成功。
$jobname = "Recurring PowerShell Task 2"
$script = '-File "C:UsersPaulDocumentsRSYNCGet-LatestAppLog.ps1" -name ' + '10001.QvdDeletionTest'
$action = New-ScheduledTaskAction –Execute "powershell.exe" -Argument "$script"
$duration = ([timeSpan]::maxvalue)
$repeat = (New-TimeSpan -hours 3)
$trigger =New-ScheduledTaskTrigger -Daily -At 2:00pm
$msg = "Enter the username and password that will run the task";
$credential = $Host.UI.PromptForCredential("Task username and password",$msg,"$env:userdomain$env:username",$env:userdomain)
$username = $credential.UserName
$password = $credential.GetNetworkCredential().Password
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable -RunOnlyIfNetworkAvailable -DontStopOnIdleEnd
Register-ScheduledTask -TaskName $jobname -Action $action -Trigger $trigger -User $username -Password $password -Settings $settings
但是,如果我添加-RunLevel Highest
(它最初是我找到的代码中Register-ScheduledTask
行的一部分),则进程失败并显示"访问被拒绝">
我使用的用户凭证肯定是pc上的管理员。如果我进入没有-RunLevel Highest
创建的任务,并手动将其更改为"以最高权限运行",我使用相同的凭据,并相应地设置运行级别。
请有人帮助我,使脚本设置任务运行级别最高?
以Administrator身份打开Powershell ISE
脚本运行成功。
感谢所有为我调查此事的人。