2010-12-02 40 views
0

我有一个PowerShell脚本通过LinkedServer对象的列表在SQL Server遍历了一些这样的代码:访问LinkedServer性能

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

我想找出的默认信息链接服务器的安全性。为了明白我的意思,加载SQL Server Management Studio并打开一个链接服务器。如果你没有,只需创建一个到远程服务器。单击安全选项卡,您将看到链接的服务器登录映射列表(SMO中的LinkedServerLogins集合)。屏幕底部将显示默认设置,名称为“对于未在上面列表中定义的登录...”。我无法在SMO对象模型中的任何位置找到此信息。可能吗?

谢谢, 马克。

回答

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 
     } 
    } 
} 

ImpersonateRemoteUser包括在属性。

+0

虽然有效,但它也会返回所有链接的服务器映射。如果我测试LinkedServerLogin.Name为一个空字符串 - 这似乎是我需要的设置。我相信SMO模型在这方面仍然存在问题。 – 2010-12-02 10:02:59