2010-12-02 74 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