У меня есть машина x64, которой регулярно требуется изменить около 10 псевдонимов в клиентской сетевой утилите SQL Server (cliconfig) для сторон реестра x64 и x86. Есть ли способ сделать это с помощью сценария PowerShell?
cliconfig.exe используется в SQL Server 2000, правильный инструмент для использования в SQL Server 2008 - это диспетчер конфигурации SQL Server. Тем не менее, похоже, что они оба манипулируют одними и теми же ключами реестра.
Для x86:
HKLM \ SOFTWARE \ Microsoft \ MSSQLServer \ Client \ ConnectTo
Для x64:
HKLM: \ Программное обеспечение \ Wow6432Node \ Microsoft \ MSSQLServer \ Client \ ConnectTo
Чтобы создать новый псевдоним TCP с помощью powershell (хотя вы можете использовать любой инструмент, который управляет реестром), используйте следующее:
New-ItemProperty HKLM:SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo -name alias1 -propertytype String -value "DBMSSOCN,servera,2001"
куда псевдоним1 это имя псевдонима, сервера это имя сервера и 2001 г. это порт TCP.
Я считаю, что для этого вам следует использовать WMI. В пространстве имен root \ Microsoft \ SqlServer \ ComputerManagement находится объект типа SqlServerAlias, который соответствует псевдониму сервера. Попробуйте использовать его - насколько мне известно, использование WMI является рекомендуемым способом выполнения таких задач.