如何使用Powershell更改任务计划程序中的安全性选项

时间:2020-10-15 13:35:18

标签: php powershell security windows-task-scheduler

我从PHP页面调用PowerShell脚本,如下所示:

file.php

try{
   echo shell_exec('powershell.exe -executionpolicy bypass -NoProfile -File "C:\wamp64\www\xpress_upgrade\Schedule_CRON.ps1"');
   }catch (Exception $e){
    echo "Oops: Something went wrong.<br />".$e->getMessage();
   }

在我的PowerShell脚本中,我正在读取.txt文件中的输入并基于id创建许多任务。下面是我的PowerShell脚本。

$lines = Get-Content C:\wamp64\www\xpress_upgrade\Scheduled_data.txt | Where {$_ -notmatch '^\s+$'} 
foreach ($line in $lines) {
    $fields = $line -split '\s+'
    $id = $fields[0]
    $time = $fields[1]  
    $description = "scheduled workflow " + $id
       
    #creating tasks in task scheduler on Workflow scheduled time
    $argument = 'C:\wamp64\www\xpress_upgrade\workflow_execution_progress_sch.php ' + $id
    Write-Host $argument
    $action = New-ScheduledTaskAction -Execute 'C:\wamp64\bin\php\php7.4.9\php.exe' -Argument $argument
    $trigger = New-ScheduledTaskTrigger -Once -At $time
    Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $description -Description $description 
}

如果我直接运行PowerShell,则任务运行正常。但是如果我通过PHP运行,则任务可以正常运行,但由于以下安全问题而无法运行。 需要设置用户帐户名并设置运行状态是否可以登录。-如何实现?

enter image description here 任务计划程序中的警告:

任务计划程序未启动任务“ \ WMS计划的工作流程01” 因为启动条件满足时用户“ **”尚未登录 遇见。用户操作:确保用户已登录或更改任务 定义以允许用户注销时启动。

0 个答案:

没有答案