xp_logininfo (Transact-SQL)
S'applique à : SQL Server
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 = ] '@acctname'
Nom d’un utilisateur ou d’un groupe Windows autorisé à accéder à SQL Server. @acctname est sysname, avec la valeur par défaut NULL
. Si @acctname n’est pas spécifié, tous les groupes Windows et utilisateurs Windows qui ont été explicitement autorisés à se connecter sont signalés. @acctname doit être qualifié complet. Par exemple, CONTOSO\macraes
ou BUILTIN\Administrators
.
[ @option = ] '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 varchar(10), avec la valeur par défaut NULL
. Sauf indication all
contraire, seul le premier chemin d’accès d’autorisation s’affiche.
[ @privilege = ] SORTIE 'variable_name' ]
Paramètre de sortie qui retourne le niveau de privilège du compte Windows spécifié. @privilege est varchar(10), avec la valeur par défaut Not wanted
. Le niveau de privilège retourné est utilisateur, administrateur ou null.
Quand OUTPUT
elle est spécifiée, cette option place @privilege dans le paramètre de sortie.
Valeurs des codes de retour
0
(réussite) or 1
(échec).
Jeu de résultats
Nom de la colonne | Type de données | Description |
---|---|---|
nom du compte | sysname | Nom de compte Windows complet. |
type | char(8) | Type de compte Windows. Les valeurs valides sont user ou group . |
privilège | char(9) | Privilèges d’accès pour SQL Server. Les valeurs valides sont admin , user ou NULL . |
nom de connexion mappé | sysname | Pour les comptes d’utilisateur disposant de privilèges utilisateur, le nom de connexion mappé affiche le nom de connexion mappé que SQL Server tente d’utiliser lors de la connexion avec ce compte à l’aide des règles mappées avec le nom de domaine ajouté avant celui-ci. |
chemin d’accès d’autorisation | sysname | Membre du groupe qui autorise l'accès au compte |
Notes
Si @acctname est spécifié, xp_logininfo
signale le niveau de privilège le plus élevé de l’utilisateur ou du groupe Windows spécifié. Si un utilisateur Windows a accès à la fois en tant qu’administrateur système et en tant qu’utilisateur de domaine, il est signalé en tant qu’administrateur système. Si l’utilisateur est membre de plusieurs groupes Windows de niveau de privilège égal, seul le groupe qui a d’abord accordé l’accès à SQL Server est signalé.
Si @acctname est un utilisateur ou un groupe Windows valide qui n’est pas associé à une connexion SQL Server, un jeu de résultats vide est retourné. Si @acctname ne peut pas être identifié comme un utilisateur ou un groupe Windows valide, un message d’erreur est retourné.
Si @acctname et all
sont spécifiés, tous les chemins d’accès d’autorisation pour l’utilisateur ou le groupe Windows sont retournés. Si @acctname est membre de plusieurs groupes, qui ont tous reçu l’accès à SQL Server, plusieurs lignes sont retournées. Les admin
lignes de privilège sont retournées avant les user
lignes de privilège et, dans un niveau de privilège, les lignes sont retournées dans l’ordre dans lequel les connexions SQL Server correspondantes ont été créées.
Si @acctname et members
sont spécifiés, une liste des membres de niveau suivant du groupe est retournée. Si @acctname est un groupe local, la liste peut inclure des utilisateurs locaux, des utilisateurs de domaine et des groupes. Si @acctname 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 récupérer les informations d’appartenance au groupe. Si le serveur ne peut pas contacter le contrôleur de domaine, aucune information n’est retournée.
xp_logininfo
retourne uniquement les informations des groupes globaux Active Directory, et non des groupes universels.
autorisations
Nécessite l’appartenance au rôle serveur fixe sysadmin ou l’appartenance au rôle de base de données fixe public dans la master
base de données avec l’autorisation EXECUTE accordée.
Exemples
L’exemple suivant affiche des informations sur le BUILTIN\Administrators
groupe Windows.
EXEC xp_logininfo 'BUILTIN\Administrators';