在没有管理权的情况下运行PowerShell计划任务信息请求



嘿,我编写了一个小的powershell脚本,该脚本以JSON格式输出有关所有时间表任务的信息。我用于小型网站的此信息。这是我的powershell脚本:

$servername = "localhost"
$schedule = new-object -com("Schedule.Service")
$schedule.connect($servername)
$tasks = $schedule.getfolder("").gettasks(0)
$tasks |select name, lasttaskresult, lastruntime, enabled, nextruntime | ConvertTo-Json > C:xampphtdocsbatch_filestest.txt

我正在使用此行中的PHP运行ps1文件:

$output = shell_exec('powershell.exe -command C:\xampp\htdocs\batch_files\stask_query.ps1');

但这不起作用。当我从PowerShell控制台运行脚本时,我会收到访问拒绝的错误。当我以Run as admin开始运行它时,它正在工作。我该如何完成?

我试图将Apache服务用户添加到具有此行的全部权利的PowerShell中:

Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI

但没有帮助。

编辑:我注意到我不需要$servername更新的脚本:

$schedule = new-object -com("Schedule.Service")
$schedule.connect()
$tasks = $schedule.getfolder("").gettasks(0)
$tasks |select name, lasttaskresult, lastruntime, enabled, nextruntime | ConvertTo-Json > C:xampphtdocsbatch_filestest.txt

我让它与以下命令一起使用:

Set-PSSessionConfiguration -Name Microsoft.PowerShell -showSecurityDescriptorUI

在那里我添加了具有全部权利的Apache服务用户。

比我需要运行:

Set-ExecutionPolicy Unrestricted

在X86 PowerShell中。该系统在64位系统上运行,该服务以32位模式运行PowerShell,我仅在64位模式下更改了执行策略。

相关内容

  • 没有找到相关文章

最新更新