繁体   English   中英

从命令行参数到Powershell_ISE

[英]Parameters into Powershell_ISE from Command Line

我在Powershell_ISE中开发了一个脚本,用于在一台服务器上备份SQL Server数据库,将文件移动到另一台服务器并使用不同的数据库名称还原到目标服务器。 工作良好。

它使用6个必需参数。 在Powershell_ISE内我可以跑

    C:\PowershellScripts\Servers\CRMBackup.ps1 -SrcSrv uk-sb-sql12\wss -SrcDb UAT_2016_MSCRM
     -SrcBak \\uk-sb-sql12\backup\ -TrgSrv uk-sb-sql12\wss -TrgDb preprod_mscrm66 -TrgBak 
     \\uk-sb-sql12\backup\

它工作正常。

我不能让它从命令行运行。 我该如何实现这一目标?

如果我跑

    powershell_ise.exe "C:\PowershellScripts\Servers\CRMBackup.ps1" -SrcSrv uk-sb-sql12\wss 
    -SrcDb UAT_2016_MSCRM -SrcBak \\uk-sb-sql12\backup\ -TrgSrv uk-sb-sql12\wss -TrgDb 
    preprod_mscrm66 -TrgBak \\uk-sb-sql12\backup\

从命令提示符我收到一个错误:

Powershell_ISE参数错误

如果我打电话给Powershell而不是Powershell_ISE,一切都很好:

    powershell.exe "C:\PowershellScripts\Servers\CRMBackup.ps1" -SrcSrv uk-sb-sql12\wss 
    -SrcDb UAT_2016_MSCRM -SrcBak \\uk-sb-sql12\backup\ -TrgSrv uk-sb-sql12\wss -TrgDb 
    preprod_mscrm66 -TrgBak \\uk-sb-sql12\backup\

成功完成:

从Powershell成功运行

任何人都可以建议如何将命令行参数传递给Powershell_ISE?

谢谢

您不能在命令行中将参数用于Powershell_ISE。

一些背景:

您使用PowerShell ISE开发脚本(或记事本或其他),并在完成后使用powershell.exe执行它们。 您可以通过不同方式执行脚本:

  • DOS命令 ,调用powershell.exe,如您在问题中指出的那样。
  • PowerShell命令 ,调用C:\\ PowershellScripts \\ Servers \\ CRMBackup.ps1
  • Windows任务计划程序 (或类似工具...)
  • 来自CI工具 (Jenkins,TeamCity ......)

当然,您可以在开发脚本时从PowerShell ISE执行脚本,可以通过单击“开始”(或按F5)来完成,您可以按照此处的说明传递参数。 但是您无法执行将参数传递给powershell_ise.exe的脚本

你试过这个吗? (powershell.exe而不是powershell_ise.exe)

powershell.exe "C:\PowershellScripts\Servers\CRMBackup.ps1" -SrcSrv uk-sb-sql12\wss -SrcDb UAT_2016_MSCRM -SrcBak \\uk-sb-sql12\backup\ -TrgSrv uk-sb-sql12\wss -TrgDb preprod_mscrm66 -TrgBak \\uk-sb-sql12\backup\

不幸的是,您无法使用参数从命令行启动ISE。 可以自定义会话的可能参数列表如下:

https://technet.microsoft.com/en-us/library/hh847883

暂无
暂无

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

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