powershell - 使用 powershell 创建计划任务时无法传递参数。我应该将 -version 设为“sql server 2016”而不是“sql”
问题描述
我正在尝试使用 powershell 创建计划任务。
能够正确创建和执行任务
```
$servername ="myservername"
# Issue with the version, unable to pass. Splitting in the scheduler argument.
$version="sql server 2016"
$edition="enterprise"
$action = New-ScheduledTaskAction -Execute Powershell.exe -Argument "-File G:\ForAPI\MainFunctions_All.ps1 -Servername $servername -Version $version -Edition $edition"
$trigger = New-ScheduledTaskTrigger -Once -At 12:00PM
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "MSSQL" -Description "SQL Deployment"
```
我应该将 -version 设为“sql server 2016”而不是“sql”
解决方案
您需要将参数更改为位置参数并按照 1st 的顺序进行更改servername
,然后version
在edition
使用它的函数中进行更改。
当值被它们保存时,您应该对内部参数使用单引号,否则您将观察到部分记录(正是您现在得到的);像下面这样更改报价:
$action = New-ScheduledTaskAction -Execute "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Argument "-ExecutionPolicy ByPass -File G:\ForAPI\MainFunctions_All.ps1 '$servername' '$version' '$edition'"
如果参数都是位置参数,那么您可以完全避免-Servername
,-Version
和-Edition
不必要的。
这将为您解决问题。希望能帮助到你。
推荐阅读
- java - 如何在 JFrame 中将绘制的内容居中?
- javascript - ParseInt 方法在解析负值时返回 NaN
- c - 带有 memcpy 的 dest 对象中缓冲区溢出的编译器警告/错误
- sass - 如何根据正在应用的动态类更改 mixin 值
- google-apps-script - Google Sheet Script Editor - 替换字符串中元素的字符
- node.js - Mysql 数据到 Excel 文件
- java - Kafka 流订阅错误 - 无效版本
- kendo-ui - 剑道窗口打开时如何禁用后屏
- java - 并行数组和从文件中读取整数/双精度数的问题
- dialogflow-es - DialogFlow 模拟器的运行方式与 Web 集成不同