簡體   English   中英

使用Powershell創建計划任務時無法傳遞參數。 我應該將-version作為“ sql server 2016”而不是“ sql”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM