MSSQLStartStopServices.ps1
一部の SQL Server サービスを停止するために使用されるPowershell スクリプトがあります。このスクリプトは、サードパーティ ベンダーのソフトウェアを使用して呼び出されています。問題のパラメータはFully qualified instance name
、Start|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
これにより、引用符が存在しない場合と同じエラーが発生します。
この問題を回避するにはどうすればよいですか?