powershell - 将 PowerShell 脚本作为计划任务运行时出错
问题描述
我正在尝试创建一个 PowerShell 脚本来下载和执行.exe
文件作为计划任务。我的脚本是:
$argument = "-Command `"& '(New-Object System.Net.WebClient).DownloadFile(‘https://webserver/file.exe’,’%TEMP%\file.exe’); Start-Process “%TEMP%\file.exe'""
$action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument $argument
$principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest
$trigger = New-ScheduledTaskTrigger -AtStartup
$task = New-ScheduledTask -Action $action -Principal $principal -Trigger $trigger Register-ScheduledTask "ExampleTask" -InputObject $task -Force
如果我尝试运行脚本,我会收到以下错误:
At C:\Users\HP\Desktop\1\1.ps1:3 char:50
+ $principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\SYSTEM" ...
+ ~~
Unexpected token 'NT' in expression or statement.
At C:\Users\Folder\script.ps1:5 char:118
+ ... rigger Register-ScheduledTask "ExampleTask" -InputObject $task -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
The string is missing the terminator: ".
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : UnexpectedToken
原因以及如何解决?
解决方案
参数的字符串似乎是一些奇怪的格式,并且Register-ScheduledTask
不在单独的行上。
我建议使用这里的字符串:
$argument = @'
-Command "& '(New-Object System.Net.WebClient).DownloadFile(‘https://webserver/file.exe’,’%TEMP%\file.exe’); Start-Process %TEMP%\file.exe'"
'@
$action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument $argument
$principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest
$trigger = New-ScheduledTaskTrigger -AtStartup
$task = New-ScheduledTask -Action $action -Principal $principal -Trigger $trigger
Register-ScheduledTask "ExampleTask" -InputObject $task -Force
推荐阅读
- python - 如何使用python查找多个图像
- swift - 当新的 NSTextView 成为 FirstResponder (MacOS) 时如何移动光标?
- reactjs - 在redux中过滤元素时无法对未安装的组件执行React状态更新
- javascript - RegExp 问题 - 如何删除标点符号和空格?
- php - 如何使用 Ajax 以一种形式的 CI 上传带有数据的图像
- symfony4 - 没有扩展能够加载“fos_comment_api”的配置
- linux - Docker 构建中的多个 go 文件
- c - (乐透 6/49 模拟)计算在用户输入的组合中奖之前将进行多少次抽奖
- python - Pandas DataFrame 中的历史股票价格
- javascript - Bootstrap 4复选框手风琴不起作用