通过Powershell作为System32创建任务

2024-04-25 22:47:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过Powershell创建任务,但出现以下错误:

注册ScheduledTask:访问被拒绝 在C:\Users\4TL4S\Documents\Coding\Bot\u Dev\juri\u exc\ui\setup\u Bot\u task.ps1:8 Zeichen:1中

  • 注册ScheduledTask“Bot_激活”-InputObject$任务
  • CategoryInfo:PermissionDenied:(PS_ScheduledTask:Root/Microsoft/…S_ScheduledTask) [Register ScheduledTask],CimException
  • FullyQualifiedErrorId:HRESULT 0x80070005,注册ScheduledTask

我想这是因为“管理员”没有足够的权限…我该如何解决这个问题?是否可以将任务创建为System32

以下是脚本:

$Action = New-ScheduledTaskAction -Execute "cmd.exe"
$Trigger = New-ScheduledTaskTrigger -At "0am" -DaysOfWeek 1 -Weekly
$Principle = New-ScheduledTaskPrincipal "Administrator" -RunLevel Highest
$Settings = New-ScheduledTaskSettingsSet
$Task = New-ScheduledTask -Action $Action -Principal $Principle -Trigger $Trigger -Settings $Settings
Register-ScheduledTask "Bot_Activation" -InputObject $Task 

这是调用脚本的代码:

subprocess.Popen([r'C:\\WINDOWS\\system32\WindowsPowerShell\\v1.0\\powershell.exe',
                         '-ExecutionPolicy',
                         'Unrestricted',
                         './setup_bot_task.ps1'], cwd=os.getcwd())

Tags: 脚本registernewtasksettingsbotsetupaction
1条回答
网友
1楼 · 发布于 2024-04-25 22:47:24

您需要使用“以管理员身份运行”选项运行这是一个提升的会话

可以将Start-Process与参数-Verb和参数runas一起使用。看到这个测试了吗

Start-Process powershell -ArgumentList @'
$Action = New-ScheduledTaskAction -Execute "cmd.exe"
$Trigger = New-ScheduledTaskTrigger -At "0am" -DaysOfWeek 1 -Weekly
$Principle = New-ScheduledTaskPrincipal "Administrator" -RunLevel Highest
$Settings = New-ScheduledTaskSettingsSet
$Task = New-ScheduledTask -Action $Action -Principal $Principle -Trigger $Trigger -Settings $Settings
Register-ScheduledTask "Bot_Activation" -InputObject $Task 
'@ -Verb runas

相关问题 更多 >