[英]Unable to pass the parameter while creating the scheduled task using powershell. I should get -version as “sql server 2016” instead of “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
。
這將為您解決問題。 希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.