0

私はこれに関連する何かを見つけようとしてインターネットを検索してきましたが、足りませんでした。複数のSQLサーバーにクエリを実行し、特定のActiveDirectoryグループとそのサーバーに割り当てられている役割を検索する方法を見つけようとしています。

これが可能であれば、誰かが何かアイデアを持っている場合。私を正しい方向に向けたり、私が見逃したかもしれないリンクを教えてもらえますか。

ありがとう

4

1 に答える 1

0

以下のスクリプトはあなたを助けます...Powershellを使用して、複数のサーバーに対してそれを実行することができます。

必要に応じて、スクリプトを変更できます。

SELECT  
  [srvprin].[name] [server_principal], 
  [srvprin].[type_desc] [principal_type], 
  [srvperm].[permission_name], 
  [srvperm].[state_desc]  
FROM [sys].[server_permissions] srvperm 
  INNER JOIN [sys].[server_principals] srvprin 
    ON [srvperm].[grantee_principal_id] = [srvprin].[principal_id] 
WHERE [srvprin].[type] IN ('S', 'U', 'G') and [srvprin].[type_desc] like 'WINDOWS%' 
ORDER BY [server_principal], [permission_name]; 
go


CREATE TABLE #ADMembership
(account_name SYSNAME,
 [type] NVARCHAR(10),
 privilege NVARCHAR(10),
 mapped_login_name NVARCHAR(max),
 permission_path NVARCHAR(max))

DECLARE @login SYSNAME;
SET @login = SUSER_SNAME();

INSERT INTO #ADMembership
EXEC XP_LOGININFO @login,'ALL';

-- select the data or do what ever u want ...
SELECT * FROM #ADMembership;
-- clean up
DROP TABLE #AdMembership
于 2013-03-14T16:25:57.660 に答える