2010-12-02 4 views
0

J'ai un script Powershell pour parcourir une liste d'objets LinkedServer dans un serveur SQL avec un code comme ceci:l'accès aux propriétés LinkedServer via l'API SQL Server SMO

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

Je veux trouver des informations sur la valeur par défaut sécurité d'un serveur lié. Pour voir ce que je veux dire, chargez SQL Server Management Studio et ouvrez un serveur lié. Si vous n'en avez pas, créez-en un sur un serveur distant. Cliquez sur l'onglet Sécurité et vous verrez une liste de mappages de connexion au serveur lié (collection LinkedServerLogins dans SMO). Au bas de l'écran sera un paramètre par défaut dans la section intitulée "Pour un login non défini dans la liste ci-dessus ...". Je ne trouve nulle part dans le modèle objet SMO pour obtenir cette information. C'est possible?

Merci, Marque.

Répondre

0

Il semble être dans le 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 et RemoteUser sont inclus dans les propriétés.

+0

Cela fonctionne mais renvoie également tous les mappages de serveur liés. Si je teste le LinkedServerLogin.Name pour une chaîne vide - cela semble être le paramètre dont j'ai besoin. Le modèle SMO est toujours cassé dans ce domaine, je crois. –

Questions connexes