Добавление серверов в SQL Management Studio - PullRequest
4 голосов
/ 13 февраля 2012

Я хотел бы добавить несколько экземпляров сервера SQL (смесь 2000-2005 гг.) На разных серверах к моим зарегистрированным серверам SSMS (SQL Managment Studio), я следовал этому учебному пособию здесь , но это только добавляет один сервер за раз, но не все одновременно.

Список в настоящее время находится в Excel, но его можно импортировать в блокнот или любой другой формат документа, если он может быть распознан командой PowerShell. Кроме того, еще одна вещь, чтобы отметить, где я могу изменить имя входа для использования аутентификации SQL? и указать логин и пароль?

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

ТКС

ERROR

New-Object : Cannot convert argument "1", with value: "", for "PSCredential" to
 type "System.Security.SecureString": "Cannot convert the "" value of type "Sys
tem.String" to type "System.Security.SecureString"."
At line:4 char:32
+         -Credential (New-Object <<<<  System.Management.Automation.PSCredenti
al("sa", "")) }
    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodExcept
   ion
    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.Power
   Shell.Commands.NewObjectCommand

1 Ответ

2 голосов
/ 13 февраля 2012

Если вы сохраните электронную таблицу Excel в виде файла CSV, вы можете легко импортировать ее в PowerShell с помощью командлета Import-Csv и автоматически зарегистрировать серверы в списке по их именам .

Предполагается, что ваш CSV-файл выглядит следующим образом:

|Name    |
|Server1 |
|Server2 |
|Server3 |

Следующая команда импортирует его содержимое в виде списка объектов , по одному для каждой строки в CSV.файл, имеющий свойство Name, которое содержит фактическое значение.Затем эти имена используются в строке , передаваемой командлету New-Item для фактической регистрации:

Import-Csv ServersToRegister.csv | ForEach-Object { `
    New-Item $(Encode-Sqlname $_.Name) -ItemType Registration `
        -Value ("server=$($_.Name);integrated security=true") }

Вы можете указать имя пользователя и пароль дляиспользуйте для подключения к экземпляру SQL Server, передав объект PSCredential командлету New-Item .Таким образом, полная команда будет:

Import-Csv ServersToRegister.csv | ForEach-Object { `
    New-Item $(Encode-Sqlname $_.Name) -ItemType Registration `
        -Value ("server=$($_.Name);integrated security=true") `
        -Credential (New-Object System.Management.Automation.PSCredential("username", "password")) }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...