简体   繁体   English

如何在 powershell 脚本中使用 SSISDeploy 命令

[英]How to use SSISDeploy command in powershell script

I'm running SSISDeploy command (documentation is here ) in my CMD :我在我的CMD中运行SSISDeploy命令(文档在这里):

SSISDeploy.exe -s:"download\Integration Services.ispac" -d:catalog;/SSISDB/TEST/DEVOPS;"TEST03,1234" -at:win

all working good, and now I need to run it thought powershell script (against windows server 2019 slave), so I tried this syntax:一切正常,现在我需要运行powershell脚本(针对windows server 2019 slave),所以我尝试了以下语法:

$SSISDeploy = Start-Process -FilePath SSISDeploy.exe -ArgumentList '/source:"download\Integration Services.ispac"',"/destination:catalog;${Target};"${Env}"" -at:win -wait -PassThru -Credential $cred -RedirectStandardOutput ssisstdout.txt -RedirectStandardError ssisstderr.txt

but it fails with exception:但它失败了,但有例外:

Start-Process : A positional parameter cannot be found that accepts argument 'TEST03,1234'.
+ ... SISDeploy = Start-Process -FilePath SSISDeploy.exe -ArgumentList '/so ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand

Can you suggest what's wrong with the syntax?你能建议语法有什么问题吗?

$StartProcessProps = @{
    FilePath               = 'SSISDeploy.exe'
    ArgumentList          = '-s:"download\Integration Services.ispac" -d:catalog;{0};{1} -at:win' -f $Target, $Env
    Wait                   = $true
    PassThru               = $true
    Credential             = $cred
    RedirectStandardOutput = 'ssisstdout.txt'
    RedirectStandardError  = 'ssisstderr.txt'
}
$SSISDeploy = Start-Process @StartProcessProp

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM