xp_logininfo (Transact-SQL)
Retourne des informations sur les utilisateurs Windows et les groupes Windows.
Conventions de la syntaxe Transact-SQL
Syntaxe
xp_logininfo [ [ @acctname = ] 'account_name' ]
[ , [ @option = ] 'all' | 'members' ]
[ , [ @privilege = ] variable_name OUTPUT]
Arguments
[ @acctname = ] 'account_name'
Nom d'un utilisateur ou groupe Windows autorisé à accéder à SQL Server. account_name est de type sysname, avec NULL comme valeur par défaut. Si aucun paramètre account_name n'est indiqué, tous les groupes et utilisateurs Windows qui ont explicitement reçu l'autorisation de se connecter sont signalés. account_name doit être complet. Par exemple, « ADVWKS4\macraes » ou « BUILTIN\Administrators ».'all' | 'members'
Spécifie s'il faut rapporter les informations sur tous les chemins d'autorisation du compte ou sur les membres du groupe Windows. @option est de type varchar(10), avec NULL comme valeur par défaut. Excepté si all est spécifié, seul le premier chemin d'autorisation est affiché.[ @privilege = ] variable_name
Paramètre de sortie qui retourne le niveau de privilège du compte Windows spécifié. variable_name est de type varchar(10). Sa valeur par défaut est 'Not wanted'. Le niveau de privilège renvoyé peut être user, admin ou null.OUTPUT
Place la valeur de variable_name dans le paramètre de sortie.
Valeurs des codes de retour
0 (réussite) ou 1 (échec)
Jeux de résultats
Nom de la colonne |
Type de données |
Description |
---|---|---|
account name |
sysname |
Nom de compte Windows complet. |
type |
char(8) |
Type de compte Windows. Les valeurs acceptées sont user ou group. |
privilege |
char(9) |
Privilège d'accès à SQL Server. Les valeurs acceptées sont admin, user ou null. |
mapped login name |
sysname |
Pour les comptes d'utilisateurs avec privilège utilisateur, mapped login name indique le nom de connexion mappé que SQL Server essaie d'utiliser en se connectant à ce compte, en utilisant les règles de mappage avec le nom de domaine qui le précède. |
permission path |
sysname |
Membre du groupe qui autorise l'accès au compte |
Notes
Si le paramètre account_name est spécifié, xp_logininfo indique le niveau de privilège le plus élevé du groupe ou de l'utilisateur Windows spécifié. Si un utilisateur Windows dispose d'autorisations d'accès en tant qu'administrateur système et utilisateur de domaine, il est indiqué comme administrateur système. Si l'utilisateur est membre de plusieurs groupes Windows dotés des mêmes niveaux de privilèges, seul le groupe qui a obtenu le premier l'accès à SQL Server est indiqué.
Si le paramètre account_name est un utilisateur ou un groupe Windows valide qui n'est pas associé à une connexion SQL Server, un ensemble de résultats vide est retourné. Si account_name ne peut pas être identifié en tant que groupe ou utilisateur Windows valide, un message d'erreur est retourné.
Si account_name et all sont spécifiés, tous les chemins d'autorisation du groupe ou de l'utilisateur Windows sont retournés. Si account_name est membre de plusieurs groupes qui ont tous reçu l'autorisation d'accéder à SQL Server, plusieurs lignes sont retournées. Les lignes avec le privilège admin sont retournées avant celles avec le privilège utilisateur, et à l'intérieur d'un même niveau de privilège, les lignes sont retournées selon l'ordre de création des connexions SQL Server correspondantes.
Si account_name et members sont spécifiés, la liste des membres du niveau suivant du groupe est retournée. Si account_name est un groupe local, la liste peut inclure des utilisateurs locaux, des utilisateurs de domaine et des groupes. Si account_name est un compte de domaine, la liste est composée d'utilisateurs de domaine. SQL Server doit se connecter au contrôleur de domaine pour extraire les informations d'appartenance au groupe. Si le serveur ne peut pas contacter le contrôleur de domaine, aucune information n'est renvoyée.
xp_logininfo retourne uniquement des informations des groupes globaux Active Directory, et non pas des groupes universels.
Autorisations
Requiert l'appartenance au rôle serveur fixe sysadmin ou l'appartenance au rôle de base de données fixe public dans la base de données master avec l'autorisation EXECUTE accordée.
Exemples
L'exemple suivant affiche des informations sur le groupe Windows BUILTIN\Administrators.
EXEC xp_logininfo 'BUILTIN\Administrators'