[2003] Hoe bepaal je wie niet lid is van een AD groep

Pagina: 1
Acties:

  • BasXcore
  • Registratie: April 2002
  • Laatst online: 17-11-2025
Hallo,

Ik ben al een tijd bezig hoe ik kan achterhalen wie er niet lid is van een bepaalde AD groep. Ik heb Hyena en Dameware geprobeerd, maar beiden bieden niet deze functie/mogelijkheid. Ook ben ik met scritps in de weer gegaan, maar ik ben geen programeer held.

Weet iemand een methode waarmaa ik al mijn AD gebruikers kan laten testen of zij lid zijn van een bepaalde AD groep?

  • shaowoo
  • Registratie: Mei 2005
  • Laatst online: 22:00
er is bij microsoft heel veel (kant en klare scripts) te halen :
http://www.microsoft.com/...ups/default.mspx?mfr=true

Maar om je alvast een beetje in de goede richting te duwen:
1) haal eerst alle members op van de bepaalde AD groep
(pas wel de LDAP-pad aan)
On Error Resume Next

Set objGroup = GetObject _
("LDAP://cn=Scientists,ou=R&D,dc=NA,dc=fabrikam,dc=com")
objGroup.GetInfo

arrMemberOf = objGroup.GetEx("member")

WScript.Echo "Members:"
For Each strMember in arrMemberOf
WScript.echo strMember
Next


2) vervolgens haal alle gebruikers op die lid zijn van de domein groep users
3) streek vervolgens alle gebruikers van 1) uit de lijst van 2) ..dan hou je de lijst over van gebruikers die niet lid zijn van de bepaalde groep.

Of als je wilt weten of een gebruiker lid is van een bepaalde groep:
hierin moet je de string sGroup, gebruikersnaam aanpassen naar jouw activedirectory groep
Netter is omhiervoor een functie van te maken..

strDomain = UCase(objNet.UserDomain)
gebruikersnaam= ....
sGroup = ....
Set oGroup = GetObject("WinNT://" & strDomain & "/" & sGroup & ",group")
For Each oUser In oGroup.Members
strGetUserName= UCase(oUser.Name)
if InStr(LCase(strGetUserName),gebruikersnaam) then
msgbox("is lid ..")
end if
checkForuser(strGetUserName) is een ander routine ..kan je weglaten :+
Next


laat hetme waar weten als je er niet uitkomt... zie het als een goede oefening om vbs te gaan leren. Is een onmisbaar instrument..
suc6 :9

IT Freelancer since 2005, and still loving it.


  • BasXcore
  • Registratie: April 2002
  • Laatst online: 17-11-2025
Dankjewel voor je reactie, ik ga er zo aan beginnen. Heb wel iets ondergrond, maar het bedenken en oppzetten vind ik altijd lastig.

Ik kom er zo snel mogelijk op terug.

  • BasXcore
  • Registratie: April 2002
  • Laatst online: 17-11-2025
Ik ben met je opzet aan de gang gegaan. En kan met succes de gebruikers lid van een bepaalde AD group ophalen. Nu lukt dit ook voor de groep Domain Users, hier zitten alle gebruikers in.

Nu heb ik 2 arrays, arrMemberOf en arrAllUsers. Hoe kan ik het verschil tussen deze 2 arrays in een array laden zodat ik deze tegen elkaar kan wegstrepen.

Nogmaals bedankt!

  • BasXcore
  • Registratie: April 2002
  • Laatst online: 17-11-2025
Het is mezelf gelukt! Hieronder het script:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
On Error Resume Next

Set objGroup = GetObject _
("LDAP://cn=test1,dc=domain,dc=local")
objGroup.GetInfo

' Array met alle gebruikers van de AD
arrAllUserMember = objGroup.GetEx("member")

Set objGroup = GetObject _
("LDAP://cn=test2,dc=infotheekgroep,dc=local")
objGroup.GetInfo

' Array met gebruikers die al lid zijn van een AD groep
arrShouldBeMember = objGroup.GetEx("member")


For x = 0 to ubound(arrAllUserMember) 
    for y=0 to ubound(arrShouldBeMember) 
        if arrAllUserMember(x)= arrShouldBeMember(y) then 
                ' Maak record leeg
        arrAllUserMember(x)="UserIsMember"
                exit for 
        end if 
    next 
next 

For Each strMember in arrAllUserMember
    If Not (strMember="UserIsMember") then
        WScript.echo "Gebruiker "& strMember & " is niet lid van de groep."
    End If
Next

[ Voor 3% gewijzigd door BasXcore op 10-08-2006 16:03 ]


Verwijderd

Ík zie geen code, maar wel benieuwd..
Doe ik wat verkeerd, of zien anderen die code ook niet?

Verwijderd

ben je geen vbscript held...

net group "groupnaam" /domain|find /i "username"
if errorlevel 1 echo "username" is not a member of ""groupname"
if %errorlevel%==0 echo "username" is a member of ""groupname"

  • BasXcore
  • Registratie: April 2002
  • Laatst online: 17-11-2025
Verwijderd schreef op donderdag 10 augustus 2006 @ 15:17:
Ík zie geen code, maar wel benieuwd..
Doe ik wat verkeerd, of zien anderen die code ook niet?
IE 7 laat geen code zien.
Pagina: 1