PowerShell 添加任务以使用参数运行 PowerShell 脚本

     2023-02-16     35

关键词:

【中文标题】PowerShell 添加任务以使用参数运行 PowerShell 脚本【英文标题】:PowerShell add Task to run PowerShell script with parameters 【发布时间】:2013-05-19 09:41:42 【问题描述】:

我正在尝试从 PowerShell 脚本将任务添加到任务计划程序,该脚本将运行带有参数的 PowerShell 脚本。

文件路径中的空格与整个命令周围的必要引号冲突,SCHTASKS 将 ' 转换为 ",因此我无法正确封装。

$command = "PowerShell \`"& 'C:\ProgramFiles (x86)\MyDir\MyScript.ps1' $myStringParam $myBooleanParam\'"" 
Write-Host $command # This outputs: PowerShell \"& 'C:\Program Files (x86)\MyDir\MyScript.ps1' Cat 0\"  
SCHTASKS /Create /TN "MyTask" /TR "$command" /SC DAILY /ST 01:30:00 /RL Highest /EC ScriptEvents /RU SYSTEM

但任务计划程序将操作显示为:

PowerShell "& "C:\Program Files (x86)\MyDir\MyScript.ps1" Cat 0"

" 和 " 相互抵消,因为这里 ' 总是切换到 ",因此任务失败。

【问题讨论】:

【参考方案1】:

通过使用 \" 作为内引号来解决它。必须在 PowerShell 脚本中将 ' 与 \\\`" 交换

$command = "PowerShell \`"& \\\`"C:\ProgramFiles (x86)\MyDir\MyScript.ps1\\\`" $myStringParam $myBooleanParam\'"" 

所以任务计划程序显示

PowerShell "& \"C:\Program Files (x86)\MyDir\MyScript.ps1\" Cat 0"

【讨论】:

【参考方案2】:

尝试使用powershell.exe的-File参数指定要运行的脚本,在最后加上脚本的参数

powershell.exe -File "C:\Program Files (x86)\MyDir\MyScript.ps1" Cat 0

更新

布尔和开关参数似乎是problemwith-File。这将起作用:

powershell.exe "C:\Program Files (x86)\MyDir\MyScript.ps1" Cat 0

【讨论】:

尝试了很多次,都不起作用,因为 PowerShell 无法将字符串中的 0(或 $false)转换为布尔值。 @Brent:似乎是一个已知问题。用修复更新了我的答案【参考方案3】:

对powershell使用-command参数:

在没有任务 sceulder 的情况下你会在你的 powershell 中执行什么:

C:\Scripts\mypsscript.ps1 -parameter 'nice value'

你给任务调度器的是什么:

要运行的程序: 电源外壳

参数:

-Command "& C:\Scripts\mypsscript.ps1 -parameter 'nice value'"

【讨论】:

使用powershell管理windows计划任务

...理定时任务,但是前者大多数人都是以图形化操作为主,Powershell的出现将会改变这种情况。使用Powershell管理ScheduleTask会事Windows系统的管理更为高效。安装该模块后我们可以看到如下相关命令,这些命令将用与计划任务的管理下... 查看详情

使用参数从 Powershell 脚本运行可执行文件

】使用参数从Powershell脚本运行可执行文件【英文标题】:RunExecutablefromPowershellscriptwithparameters【发布时间】:2014-09-3023:05:53【问题描述】:所以我有一个powershell脚本,它应该运行一个带有参数的可执行文件,以设置我要运行的... 查看详情

使用 Powershell 4.0 更新计划任务操作参数

】使用Powershell4.0更新计划任务操作参数【英文标题】:UpdateaScheduledTaskActionArgumentusingPowershell4.0【发布时间】:2017-02-1819:16:33【问题描述】:有谁知道如何使用PowerShell更新计划任务操作的参数?感谢@Richard在另一个问题中的回答... 查看详情

使用内联 PowerShell 任务计算 azure 管道中任务的运行时间

】使用内联PowerShell任务计算azure管道中任务的运行时间【英文标题】:CalculateelapsedtimeforataskinazurepipelineusinginlinePowerShelltasks【发布时间】:2022-01-2407:00:59【问题描述】:我正在尝试在inline模式下使用PowerShell任务计算AzurePipeline中... 查看详情

如何添加脚本任务以在 Bamboo 中运行 pytest

】如何添加脚本任务以在Bamboo中运行pytest【英文标题】:HowtoaddascripttasktorunpytestinBamboo【发布时间】:2019-07-0115:23:37【问题描述】:我正在使用Bamboo设置构建配置,这是我第一次使用该工具。代码签出和构建步骤已完成,现在我... 查看详情

PowerShell 错误 - 计划任务 - 预期表达式

】PowerShell错误-计划任务-预期表达式【英文标题】:PowerShellError-ScheduledTask-expressionexpected【发布时间】:2021-10-1522:19:18【问题描述】:我正在设置计划任务以注销断开的会话。我使用下面显示的参数打开PowerShell.exe来设置任务powe... 查看详情

Powershell:使用动态创建的参数运行 msiexec

】Powershell:使用动态创建的参数运行msiexec【英文标题】:Powershell:runmsiexecwithdynamicallycreatedparameters【发布时间】:2012-01-1812:32:26【问题描述】:在我的powershell脚本中,我需要运行msiexec并传递一些参数来初始化它。问题是,如果... 查看详情

如何使用 RabbitMQ 在预定时间运行任务

...RabbitMQ让我的任务池一个接一个地按顺序运行。但是如何添加时间参数以使任务仅在未来定义的时间运行(如scheduledtasks)。【问题讨论】:这个问题应该得到更多的支持【参考方案1】:RabbitMQ不是任务调度器,尽管 查看详情

添加键盘快捷键以使用当前文件作为参数运行 .py 脚本

】添加键盘快捷键以使用当前文件作为参数运行.py脚本【英文标题】:Addkeyboardshortcuttorun.pyscriptwithcurrentfileasargument【发布时间】:2021-05-2007:39:24【问题描述】:假设我在~/Scripts/script.py中有一个.py脚本,如何使用PyCharm2020.3Professio... 查看详情

使用 PowerShell 以管理员身份运行命令?

】使用PowerShell以管理员身份运行命令?【英文标题】:RunningacommandasAdministratorusingPowerShell?【发布时间】:2011-12-0305:01:17【问题描述】:如果您是系统的管理用户,您知道如何只需右键单击批处理脚本并以管理员身份运行它而无... 查看详情

如何使用 Python 中的参数运行 PowerShell 脚本

】如何使用Python中的参数运行PowerShell脚本【英文标题】:HowdoIrunaPowerShellscriptwithparametersfromPython【发布时间】:2019-11-2814:56:13【问题描述】:我正在尝试运行具有Python3.7.3参数的PowerShell脚本,但不知道如何正确调用Popen中的函数... 查看详情

使用powershell运行多个javascripts(代码片段)

...js脚本,它将捕获屏幕截图并将其保存到本地。我有一个powershell脚本通过邮件发送捕获的图像。我的要求如下需要一个整合的脚本,我可以在一个脚本中配置上述两个,然后我将更新我的任务调度程序以运行整合的脚本,以便每... 查看详情

使用参数从 Powershell 脚本运行 .bat 文件

】使用参数从Powershell脚本运行.bat文件【英文标题】:Running.batfilefromPowershellscriptwithparameters【发布时间】:2017-11-1700:41:16【问题描述】:“部署和映像工具环境”是我使用的专门运行此命令的快捷方式-\'C:\\WINDOWS\\system32\\cmd.exe/k"... 查看详情

使用“1”参数调用“发送”的异常:“根据验证过程,远程证书无效。PowerShell

...调用“发送”的异常:“根据验证过程,远程证书无效。PowerShell【英文标题】:SMTPClientFailureDuringSendConcerningArguments【发布时间】:2016-07-2223:27:09【问题描述】:我正在尝试设置一个电子邮件PowerShell脚本,让我在任务计划程序运... 查看详情

如何使用 PowerShell 或 VBScript 获取正在运行的应用程序列表

】如何使用PowerShell或VBScript获取正在运行的应用程序列表【英文标题】:HowtogetlistofrunningapplicationsusingPowerShellorVBScript【发布时间】:2010-09-1612:19:18【问题描述】:我需要使用PowerShell或VBScript以编程方式获取正在运行的应用程序... 查看详情

如何使用 Powershell 创建以管理员身份运行的快捷方式

】如何使用Powershell创建以管理员身份运行的快捷方式【英文标题】:HowtocreateaRunAsAdministratorshortcutusingPowershell【发布时间】:2015-05-1321:39:43【问题描述】:在我的PowerShell脚本中,我创建了一个.exe的快捷方式(使用类似于thisquesti... 查看详情

如何使用 PowerShell 固定到任务栏

】如何使用PowerShell固定到任务栏【英文标题】:HowtopintotaskbarusingPowerShell【发布时间】:2012-04-0203:27:25【问题描述】:如何使用Windows7将某些程序固定到任务栏电源外壳?请逐步解释。以及如何修改以下代码以将文件夹固定到任... 查看详情

如何使用 Powershell 'invoke-expression' 以其他用户身份运行可执行文件

】如何使用Powershell\\\'invoke-expression\\\'以其他用户身份运行可执行文件【英文标题】:HowtouserPowershell\'invoke-expression\'torunanexecutableasadifferentuser如何使用Powershell\'invoke-expression\'以其他用户身份运行可执行文件【发布时间】:2010-10-... 查看详情