Verificador de los miembros de grupos de Windows
Un script para revelar que los inicios de sesión tienen acceso al servidor SQL a través de los grupos de Windows.
Si utiliza autenticación de Windows y tiene grupos de Windows como inicios de sesión este script te puede ayudar.
Revela los miembros de los grupos de Windows y sus permisos de servidor.
Esto es especialmente útil si no eres el administrador de red o no tienes acceso a las herramientas del Active Directory.
Espero que ayude a alguien…
/* Script : SQL Server - Windows Group Membership Checker Version : 1.0 (August 2010) Author : Richard Doering Email : r3m1xn9@gmail.com Web : http://sqlsolace.blogspot.com */ DECLARE @CurrentRow INT DECLARE @TotalRows INT SET @CurrentRow = 1 DECLARE @SqlGroupMembership TABLE( ACCOUNT_NAME SYSNAME, ACCOUNT_TYPE VARCHAR(30), ACCOUNT_PRIVILEGE VARCHAR(30), MAPPED_LOGIN_NAME SYSNAME, PERMISSION_PATH SYSNAME ) DECLARE @WindowsGroupsOnServer TABLE( UniqueRowID int IDENTITY (1, 1) Primary key NOT NULL , Name SYSNAME ) INSERT INTO @WindowsGroupsOnServer (NAME) SELECT [NAME] FROM master.sys.server_principals WHERE TYPE = 'G' SELECT @TotalRows = MAX(UniqueRowID) FROM @WindowsGroupsOnServer DECLARE @WindowsGroupName sysname -- Loop Each Windows Group present on the server WHILE @CurrentRow <= @TotalRows BEGIN SELECT @WindowsGroupName = [Name] FROM @WindowsGroupsOnServer WHERE UniqueRowID = @CurrentRow BEGIN TRY -- Insert found logins into table variable INSERT INTO @SqlGroupMembership (ACCOUNT_NAME,ACCOUNT_TYPE,ACCOUNT_PRIVILEGE,MAPPED_LOGIN_NAME,PERMISSION_PATH) EXEC xp_logininfo @WindowsGroupName , 'members' END TRY BEGIN CATCH -- No action for if xp_logininfo fails END CATCH SELECT @CurrentRow = @CurrentRow + 1 END -- Display final results SELECT @@servername AS Servername , [PERMISSION_PATH] AS WindowsGroup , Account_Name , Mapped_Login_Name , Account_Type , Account_Privilege FROM @SqlGroupMembership ORDER BY [PERMISSION_PATH], [ACCOUNT_NAME]
Entradas relacionadas
Categories: Base de datos Grupos de Windows, Membership, Sql Server, Sqlolace, T-Sql, Transact SQL, Windows Group