/*
Bir instance altındaki tüm login'leri ve Windows group altındaki tüm kullanıcıların listesini aşağıdaki T-SQL bulabilirsiniz
*/
declare @tmploginlist table(
LoginName nvarchar(256),
[type] varchar(8),
[privilege] varchar(8),
[mapped login name] nvarchar(256),
WindowsGroupName nvarchar(256)
)
declare @WindowsGroupName nvarchar(256)
--SQL/Windows Logins
insert into @tmploginlist
select name,'user','user',name,''
from sys.server_principals
where type in ('S','U')
declare c1 cursor for
--Windows groups
select name
from sys.server_principals
where type = 'G'
open c1
fetch next from c1 into @WindowsGroupName
while @@fetch_status <> -1
begin
insert into @tmploginlist(LoginName,[type],[privilege],[mapped login name],WindowsGroupName)
exec xp_logininfo @acctname = @WindowsGroupName,@option = 'members'
fetch next from c1 into @WindowsGroupName
end
close c1
deallocate c1
select LoginName,WindowsGroupName
from @tmploginlist
Hiç yorum yok:
Yorum Gönder