A-SQL Mitglieder einer AD Gruppe ermitteln

Post Reply
bjoern.runge
Posts: 104
Joined: 18. Apr 2007, 10:17
Contact:

A-SQL Mitglieder einer AD Gruppe ermitteln

Post by bjoern.runge » 28. Aug 2013, 12:31

Hallo zusammen!

Ich würde gerne mit einem A-SQL Statement alle Mitglieder eine bestimmten AD Gruppe ermitteln.

Die AD Gruppe enthält User und Gruppen die wiederrum Gruppen enthalten und ich möchte alle tatsächlichen User ermitteln.

Hat zufällig jemand ein Query zur Hand?

Besten Dank!

Grüße

Björn Runge

User avatar
mniemann
Administrator
Administrator
Posts: 574
Joined: 25. Nov 2005, 17:03
Location: Mainz
Contact:

Re: A-SQL Mitglieder einer AD Gruppe ermitteln

Post by mniemann » 30. Aug 2013, 13:28

Haben Sie Zugriff auf das AD? Dann könnten Sie doch mittels einer LDAP Abfrage die selbe Information erlangen, wenn ich mich nicht irre.
Wenn Sie keinen Zugriff auf das AD haben, bleibt Ihnen natürlich nur der Weg per SQL die Informationen aus dem Service Store zu holen.
Visit my Blog: "DiEW - Das inoffizielle Empirum Weblog" (http://www.diew.eu)

Martin Niemann
Manager Support (Service Management)

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of matrix42 AG or of the support team.

bjoern.runge
Posts: 104
Joined: 18. Apr 2007, 10:17
Contact:

Re: A-SQL Mitglieder einer AD Gruppe ermitteln

Post by bjoern.runge » 02. Sep 2013, 09:34

Hallo,

ja! Es geht mir an dieser Stelle aber um die Abdeckungsermittlung.

Ich könnte natürlich die Default-Ermittlung bei AD Groups verwenden. Das Problem ist jedoch, dass dann nur die direkten Mitglieder der Gruppe genommen werden. Ich würde aber gerne alle Mitglieder die auch durch Gruppen von Gruppen Mitglied sind inkludieren wollen.

Ich hoffe ich habe mich verständlich ausgedrückt :-)

Beste Grüße!

User avatar
FrankPree
Posts: 127
Joined: 25. Aug 2011, 08:41
Contact:

Re: A-SQL Mitglieder einer AD Gruppe ermitteln

Post by FrankPree » 03. Sep 2013, 10:09

Hallo,

etwas ähnliches habei ich in unserem System für unsere Standorte gebaut. Als Grundlage für unser Script diente mir dieses Script zur Rekursion (Das Anlegen des Testtables ist zur Sicherheit auskommentiert):

Code: Select all

--Create Table OrganizationalStructures (
-- BusinessUnitID smallint identity(1,1),
-- BusinessUnit varchar(100) Not Null,
-- ParentUnitID smallint
--)
--insert into OrganizationalStructures values
--('Adventure Works Cycle',NULL),
--('Customer Care',1),
--('Service',1),
--('Channel Sales & Marketing',1),
--('Customer Support',2),
--('OEM Support',2),
--('Central Region',3),
--('Eastern Region',3),
--('Western Region',3),
--('OEM',4),
--('Channel Marketing',4),
--('National Accounts',4),
--('Channel Field Sales',4),
--('National Channel Marketing',11),
--('Retail Channel Marketing',11),
--('Central Region',13),
--('Eastern Region',13),
--('Western Region',13),
--('Bicycles',15),
--('Bicycle Parts',15)

WITH Recursive_CTE AS (
 SELECT
  child.BusinessUnitID,
  CAST(child.BusinessUnit as varchar(100)) BusinessUnit,
  CAST(child.ParentUnitID as SmallInt) ParentUnitID,
  CAST(NULL as varchar(100)) ParentUnit,
  CAST('>> ' as varchar(100)) LVL,
  CAST(child.BusinessUnitID as varchar(100)) Hierarchy,
  1 AS RecursionLevel
 FROM OrganizationalStructures child
 WHERE BusinessUnitID = 1

 UNION ALL

 SELECT
  child.BusinessUnitID,
  CAST(LVL + child.BusinessUnit as varchar(100)) AS BusinessUnit,
  child.ParentUnitID,
  parent.BusinessUnit ParentUnit,
  CAST('>> ' + LVL as varchar(100)) AS LVL,
  CAST(Hierarchy + ':' + CAST(child.BusinessUnitID as varchar(100)) as varchar(100)) Hierarchy,
  RecursionLevel + 1 AS RecursionLevel
 FROM Recursive_CTE parent
 INNER JOIN OrganizationalStructures child ON child.ParentUnitID = parent.BusinessUnitID
)
SELECT * FROM Recursive_CTE ORDER BY Hierarchy 
Vielleicht hilft das bei der Grundüberlegung.

Grüße
Frank

Quelle: http://www.kodyaz.com/t-sql/sql-server- ... e-cte.aspx

bjoern.runge
Posts: 104
Joined: 18. Apr 2007, 10:17
Contact:

Re: A-SQL Mitglieder einer AD Gruppe ermitteln

Post by bjoern.runge » 06. Sep 2013, 18:41

Hmm...aus meiner Sicht ist das Script nicht wirklich für die "Abdeckungsermittlung" zu gebrauchen oder? Also müsste ich ggf. mit einer Hilfstabelle arbeiten.

Vielleicht hilft eine andere Herangehensweise?! Alle Personen mit einer E-Mail Adresse sollen einen Service "Mail-Service" übergeholfen bekommen. Vielleicht wäre es einfacher einfach zu schauen welche Personen eine E-Mail Adresse und eine Kostenstelle haben. Diese Information wird ja vom AD Konnektor übertragen und wäre auswertbar....oder? :-)

Post Reply

Return to “Administration”

Who is online

Users browsing this forum: No registered users and 6 guests