Oprettet søn. d. 22. juli 2007 kl. 22:52:44

geekpower
geekpower (16.482 point. Point ude: 3.570)

Liste over brugere i active directory

Hejsa,
hvordan kan jeg hente listen over fx alle brugere i afdelingen "Økonomi" i asp.net 2.0 vha active directory ?

Skrevet søn. d. 22. juli 2007 kl. 23:16:37| #1

flashit
flashit (11.008 point)
Fundet på nettet :-)

List All Users


This recipe is for iterating all users on a local machine, which can then populate a list box. This would also likely find its way to the "Page_Load" sub, but is shown separately. It presumes a list control called 'lstUser' is on the page. It will populate the list showing the Full Name, but have the User ID as the value.

Dim lblDMBase As String
lblDMBase = "WinNT://LocalMachine"
REM This is equivalent to adsUser=GetObject("WinNT://LocalMachine/User") and
REM opens a connection to the local machine. It does not necessarily need to be
REM the machine the web page is running on.
Dim adsComputer As New DirectoryEntry(lblDMBase)
Dim adsUser As DirectoryEntry
REM This works identically to classic asp, iterate through the parent object.
For Each adsUser In adsComputer.Children
    REM If it is a user, then add it to the list box.
    If adsUser.SchemaClassName = "User" Then
        lstUser.Items.Add(New ListItem(adsUser.Properties("FullName").Value, adsUser.Name))
    End If
Next

http://www.15seconds.com/ (...)

Kan det bruges?

Skrevet søn. d. 22. juli 2007 kl. 23:20:37| #2

geekpower
geekpower (16.482 point)
Nix for det System.DirectoryServices namespace som der refereres til har jeg ikke.. har mistanke om at det skyldes at den bruger som asp.net kører med skal tildeles extra rettigheder... Men nogen der ved lidt om det hvis det er tilfældet :) ?

Skrevet søn. d. 22. juli 2007 kl. 23:24:14| #3

geekpower
geekpower (16.482 point)
argh jeg vender lige tilbage om en uges tid til dette, da det jo nok blot skyldes, at den maskine jeg sidder på p.t. ikke har IIS installeret :)

Skrevet man. d. 23. juli 2007 kl. 00:17:27| #4

oskar
oskar (28.696 point)
Alle i en bestemt afdeling. er de ordnet i samme ou eller samme gruppe.

Hvis det er i samme ou kan du højreklikke på ouen og vælge eksporter...

HVIS det er samme gruppe kan dette script måske bruges:

' GroupEnum2.vbs
' VBScript to discover who is a member of the Administrators
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.4 August 2005
' ----------------------------------------------------------'
Option Explicit
Dim strMember, strDNSDomain, strContainer
Dim objGroup, objRootDSE
Dim arrMemberOf, strList, arrGroup, medlemmer, objFSO, objTextFile, WshShell, strMessage, vis, i
Set WshShell = Wscript.CreateObject("Wscript.Shell")

' Bind to Active Directory'
strContainer = InputBox("Skriv gruppenavn og OU-struktur" & vbcrlf & "Fx.: cn=test, ou=Personale, ou=Brugere"& vbcrlf & "Listen gemmes som C:\brugere2.txt","Gruppe", "cn=test, ou=Brugere")
strContainer  = strContainer & ", "
' strContainer = "cn=test, ou=Brugere, "
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")

' Get the Builtin Administrators group
Set objGroup = GetObject ("LDAP://"& strContainer & strDNSDomain)
objGroup.getInfo

arrMemberOf = objGroup.GetEx("member")
i = 0
' Loop = For Each .... Next
'WScript.Echo "Members of Group " & strContainer
  For Each strMember in arrMemberOf
      strMember = Mid(strMember, 4, 330)
      arrGroup = Split(strMember, "," )
i = i + 1
      strList = strList & arrGroup(0) & vbtab
if i = 5 then
  strList = strList & vbcrlf
  i = 0
end if
  Next

' Wscript.Echo strContainer & " indeholder " & vbCr & strList
strList = "Gruppen " & strContainer & " indeholder " & vbCrlf & vbcrlf & strList
Const ForAppending = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("c:\brugere2.txt", ForAppending, True)
objTextFile.WriteLine(strList)

objTextFile.Close
WshShell.Popup strMessage,1,"C:\brugere2.txt gemmes. Vent venligst. "
vis = "notepad.exe c:\brugere2.txt"
WshShell.run vis , 1, true

Wscript.Quit

' End of free example Group Enum Member Script

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

GridView og RowCommand

Oprettet den 22. maj 2012 kl. 17.34
faran giver 30 point for svar | Giv et svar »

Flere betingelser i repeater.

Oprettet den 15. maj 2012 kl. 21.45
fuldstop giver 60 point for svar | Giv et svar »

kombinere code behind og Javascript

Oprettet den 6. maj 2012 kl. 09.02
tjacob giver 30 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger