1

MSSQLStartStopServices.ps1一部の SQL Server サービスを停止するために使用されるPowershell スクリプトがあります。このスクリプトは、サードパーティ ベンダーのソフトウェアを使用して呼び出されています。問題のパラメータはFully qualified instance nameStart|Stop

例えば

MSSQLStartStopServices.ps1 HOSTNAME\INSTANCENAME Start

デフォルトのインスタンスの場合、ソフトウェアは (ローカル) を INSTANCENAME として渡します。

MSSQLStartStopServices.ps1 HOSTNAME\(local) Start

しかし、これを実行すると、Powershell からエラーが発生します。

「ローカル」という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前のスペルを確認するか、パスが含まれている場合は、パスが正しいことを確認してから再試行してください。

インスタンス名を引用符で囲んでみると、Powershell ウィンドウで正常に動作します。

MSSQLStartStopServices.ps1 "HOSTNAME\(local)" Start

ただし、サードパーティのソフトウェアは、最初にコマンドラインから Powershell を呼び出します。次のようになります。

powershell .\MSSQLStartStopServices.ps1 "HOSTNAME\(local)" Start

これにより、引用符が存在しない場合と同じエラーが発生します。

この問題を回避するにはどうすればよいですか?

4

1 に答える 1

7

スクリプト呼び出しを二重引用符で囲み、各パラメーターを一重引用符で囲みます。

".\MSSQLStartStopServices.ps1" 'HOSTNAME\(local)' 'Start'
于 2013-06-19T11:43:37.227 に答える