我有一个称为MSSQLStartStopServices.ps1
用于停止某些 SQL Server 服务的 Powershell 脚本。正在使用第三方供应商软件调用此脚本。有问题的参数是Fully qualified instance name
和Start|Stop
例如
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
这会导致与引号不存在相同的错误。
我该如何解决这个问题?