在Powershell中添加SQL Server注册的服务器

时间:2011-03-24 11:38:00

标签: sql-server-2008 scripting powershell

我正在尝试使用Powershell v2在SQL Server Management Studio 2008中添加已注册的服务器。

到目前为止,我有以下概要

add-pssnapin SqlServerProviderSnapin100
add-pssnapin SqlServerCmdletSnapin100
##get-pssnapin

sl "SQLSERVER:\SQLRegistration\Database Engine Server Group"

new-item SERVERNAME\INSTANCENAME -itemtype registration -Value "server=SERVERNAME\INSTANCENAME;integrated security=false;User Id=SA;Password=foofoo"

我遇到的问题是注册的服务器友好名称。我们在其中需要斜杠,因为我们在不同的服务器上命名了具有相同名称的实例。

无论我尝试什么,我都会收到以下错误消息。

  

该类型不是已知的类型   文件系统。只有“文件”和   可以指定“目录”

我试过用引号括起来,用坟墓作为转义字符。这些都不适合我。

干杯
大卫

1 个答案:

答案 0 :(得分:2)

您需要使用encode-sqlname cmdlet,它是SqlServerCmdletSnapin100的一部分。这是一个例子:

New-Item $(Encode-Sqlname "SERVERNAME\INSTANCENAME") -itemtype registration -Value “server=MyServer;integrated security=true” 

我还有一些关于在这里注册服务器的博文: http://sev17.com/2008/12/registering-sql-servers-in-2000-em-2005-ssms-and-2008-ssms/ 和这里 http://sev17.com/2009/01/dynamically-register-sql-instances-in-sql-server-management-studio-2008/