2010-12-02 4 views
0

У меня есть сценарий PowerShell для перебора списка объектов LinkedServer в SQL Server с некоторым кодом, как это:Доступ к LinkedServer свойства через SQL Server SMO API

foreach($linkedServer in $instance.LinkedServers) 
{  
... some code ... 
} 

Я хочу, чтобы узнать информацию по умолчанию безопасность связанного сервера. Чтобы понять, что я имею в виду, загрузите SQL Server Management Studio и откройте связанный сервер. Если у вас их нет, просто создайте его на удаленном сервере. Перейдите на вкладку «Безопасность», и вы увидите список связанных имен подключений сервера (коллекция LinkedServerLogins в SMO). В нижней части экрана будет настройка по умолчанию в разделе «Для входа, не указанного в списке выше ...». Я не могу найти нигде в объектной модели SMO, чтобы получить эту информацию. Является ли это возможным?

Thanks, Mark.

ответ

0

Казалось бы, в linked server login properties:

foreach($linkedServer in $instance.LinkedServers) 
{ 
    "LinkedServer:" + $linkedServer.Name 

    foreach($linkedServerLogin in $linkedServer.LinkedServerLogins) 
    { 
     " LinkedServerLogin:" + $linkedServerLogin.Name 
     foreach($property in $linkedServerLogin.Properties) 
     { 
      " Property:" + $property.Name + " - " + $property.Value 
     } 
    } 
} 

Impersonate и RemoteUser включены в свойствах.

+0

Это работает, но также возвращает все связанные сопоставления серверов. Если я тестирую LinkedServerLogin.Name для пустой строки - это, похоже, настройка, которая мне нужна. Я полагаю, модель SMO по-прежнему разбита в этой области. – 2010-12-02 10:02:59

Смежные вопросы