首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将switch传递到计划作业的参数列表

将switch传递到计划作业的参数列表
EN

Stack Overflow用户
提问于 2019-09-23 15:45:34
回答 1查看 464关注 0票数 1

我正在尝试在计划的作业中传递切换参数。然而,无论我怎么尝试,开关都不能通过。这是要由排定作业调用的示例脚本:

代码语言:javascript
复制
Param([switch]$Log = $false)

if($Log)
{
    Write-Host "It is on: $Log"
}
else
{
    Write-Host "It is off: $Log"
}

以下是我在创建作业时尝试传递开关的内容:

代码语言:javascript
复制
Register-ScheduledJob -FilePath "C:\Users\foo\Documents\Test.ps1" -Name "Test" -ArgumentList "-Log"
Register-ScheduledJob -FilePath "C:\Users\foo\Documents\Test.ps1" -Name "Test" -ArgumentList ("-Log")
Register-ScheduledJob -FilePath "C:\Users\foo\Documents\Test.ps1" -Name "Test" -ArgumentList (,"-Log")
Register-ScheduledJob -FilePath "C:\Users\foo\Documents\Test.ps1" -Name "Test" -ArgumentList @("-Log")
Register-ScheduledJob -FilePath "C:\Users\foo\Documents\Test.ps1" -Name "Test" -ArgumentList @(,"-Log")
Register-ScheduledJob -FilePath "C:\Users\foo\Documents\Test.ps1" -Name "Test" -ArgumentList @("-Log:$true")
Register-ScheduledJob -FilePath "C:\Users\foo\Documents\Test.ps1" -Name "Test" -ArgumentList @($true)

..。和其他许多人

然后,我通过获取作业并运行它来测试作业:

代码语言:javascript
复制
$job = Get-ScheduledJob -Name Test
$job.run()

但是,开关始终为false。-ArgumentList参数接受一个对象数组(https://docs.microsoft.com/en-us/powershell/module/psscheduledjob/register-scheduledjob?view=powershell-5.1)。但我不确定我做得对不对。

EN

回答 1

Stack Overflow用户

发布于 2019-09-23 18:06:23

好的,

在搜索了一段时间并做了一些尝试和错误的方法后,我发现这是可行的:

Register-ScheduledJob -FilePath "C:\Users\foo\Documents\Test.ps1" -Name "Test" -ArgumentList @($True)

显然,$true和$True是不同的……

谢谢你给我指路

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58057766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档