使用条件从Powershell脚本运行脚本

Dpw808

因此,我有一个用于部署的脚本,其中一些命令直到sqlps运行后才能被识别,通常我会手动执行。我想自动运行该脚本。这是脚本:

    $client = Read-Host "Enter Client name"
    $date = Get-Date -Format "yymmdd"
    $sqlsrvname = Read-Host "Please enter the sql server name"
    $deploytype = Read-Host "Is there a server instance? (1) Yes (2) No"


   switch($deploytype){

   1 {$Instance = Read-Host "Please Enter instance name" 
    cd -Path $ppath
    Invoke-Command .\sqlpatchremote.ps1 -DBServer $sqlsrvname –dbinstance $Instance –client $client –mainline HTFS –datefolder $date –targetenv $sqlsrvname } 

 2 {cd -Path $ppath
 Invoke-Command .\sqlpatchremote.ps1 –dbs $sqlsrvname –client $client –mainline HTFS –datefolder $date –targetenv $sqlsrvname }

 default {"Invalid Selection"}

}

当我尝试运行此脚本时,出现以下错误:

Invoke-Command : A parameter cannot be found that matches parameter name 'DBServer'.
At line:17 char:38
+  Invoke-Command .\sqlpatchremote.ps1 -DBServer $sqlsrvname –dbinstance $Instance 
...
+                                      ~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-Command], ParameterBindi 
   ngException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands. 
   InvokeCommandCommand

当我手动键入此命令时,它告诉我它无效的命令在正常工作时,该如何工作?假定此脚本用于在SQL Server上安装SQL数据库。当我手动运行此代码时,只需键入“ sqlps”,然后导航到脚本目录。然后,我使用填充的参数运行它,但它没有给我错误。我觉得这可能是使它正常工作的简单解决方案,但我不确定它是什么,也不确定如何提出要求。谢谢!

苏打柳

错误:

Invoke-Command : A parameter cannot be found that matches parameter name 'DBServer'.
At line:17 char:38

Invoke-Command拒绝参数DBServer这意味着您要将参数传递给Invoke-Command而不是脚本。

要将参数传递给要调用的脚本,必须使用-ArgumentList参数。

尝试 :

Invoke-Command -ComputerName "targethost" .\sqlpatchremote.ps1 -ArgumentList "-DBServer $sqlsrvname –dbinstance $Instance –client $client –mainline HTFS –datefolder $date –targetenv $sqlsrvname"

编辑:真的不确定上述参数的语法:(((如果有人可以确认?)

使用正确顺序的参数,我已经成功地像这样测试了它:

Invoke-Command -ComputerName "targethost" "scriptpath" -ArgumentList $arg1,$arg2#,...

MSDN

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Bash运行脚本

来自分类Dev

使用 powershell 在特定时间运行脚本

来自分类Dev

使用变量从脚本运行脚本

来自分类Dev

Powershell并行运行脚本

来自分类Dev

启动Powershell进程并运行脚本

来自分类Dev

从execl()运行脚本

来自分类Dev

从.profile运行脚本

来自分类Dev

无法运行脚本

来自分类Dev

让cron运行脚本

来自分类Dev

无法运行脚本

来自分类Dev

使用xCode Server Bot运行脚本

来自分类Dev

使用Swift的Xcode运行脚本

来自分类Dev

使用整数参数运行脚本

来自分类Dev

使用随机参数多次运行脚本

来自分类Dev

使用组策略运行脚本

来自分类Dev

无法使用udev规则运行脚本

来自分类Dev

使用nohup运行脚本时出错

来自分类Dev

使用GroovyShell从Java代码运行脚本

来自分类Dev

如何使用systemd连续运行脚本

来自分类Dev

如何使用 bindkey 运行脚本?

来自分类Dev

使用 ansible 变量运行脚本模块

来自分类Dev

使用 USB 设备运行脚本

来自分类Dev

运行脚本时使用多处理

来自分类Dev

使用Powershell对象执行脚本

来自分类Dev

如何通过使用其他脚本停止运行脚本

来自分类Dev

PowerShell:使用相对路径从快捷方式运行脚本

来自分类Dev

使用aws emr script-runner运行脚本与从bash运行脚本有何不同?

来自分类Dev

具有Import-Module的Powershell运行脚本

来自分类Dev

自动运行脚本时发生Powershell错误