1
我有一個叫做MSSQLStartStopServices.ps1
的Powershell腳本,用於停止一些SQL Server服務。該腳本正在使用第三方供應商軟件進行調用。所討論的參數是Fully qualified instance name
和Start|Stop
如何使用括號將參數從命令行傳遞給Powershell?
例如,
MSSQLStartStopServices.ps1 HOSTNAME\INSTANCENAME Start
對於默認實例,軟件作爲INSTANCENAME傳遞(本地)。
MSSQLStartStopServices.ps1 HOSTNAME\(local) Start
但是當我運行此我得到一個錯誤的Powershell的:
術語「本地」不被識別爲cmdlet,函數,腳本文件或可操作的程序的名稱。檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然後重試。
當我嘗試用引號把實例名稱它在PowerShell窗口工作正常:
MSSQLStartStopServices.ps1 "HOSTNAME\(local)" Start
但是第三方軟件從命令行調用Powershell的第一,就像這樣:
powershell .\MSSQLStartStopServices.ps1 "HOSTNAME\(local)" Start
這會導致相同的錯誤,就像引號不存在一樣。
如何解決此問題?
環繞所有的命令,而params引號的PowerShell –
typo用引號括住所有命令和參數''。\ MSSQLStartStopServices.ps1'HOSTNAME(local)'Start' –