我在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而不是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_ISE吗?
由于
答案 0 :(得分:3)
您无法在命令行中将参数用于Powershell_ISE。
一些背景知识:
您使用 PowerShell ISE开发您的脚本(或记事本或其他),并在完成后使用 powershell.exe执行。您可以通过不同方式执行脚本:
当然,您可以在开发脚本时从PowerShell ISE执行脚本,可以通过单击“开始”(或按F5)来完成,您可以将参数传递为explained here。但是你无法执行将参数传递给powershell_ise.exe的脚本。
答案 1 :(得分:1)
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\
答案 2 :(得分:0)
不幸的是,您无法使用参数从命令行启动ISE。可以自定义会话的可能参数列表如下: