簡體   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