Avatar billede ptj_11 Forsker
21. juli 2011 - 15:06 Der er 2 kommentarer og
1 løsning

Hente både organisation og bruger ud fra AD?

Jeg har fundet dette script, som leverer det halve af, hvad jeg efterspørger:
On Error Resume Next

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =  CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommandProperties("Sort On") = "Name"

objCommand.CommandText = _
    "SELECT Name FROM 'LDAP://dc=KA,dc=KK' WHERE objectCategory='user'" 
Set objRecordSet = objCommand.Execute

objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Wscript.Echo objRecordSet.Fields("Name").Value
    objRecordSet.MoveNext
Loop

----
Den anden halvdel som jeg efterspørger er brugerens tilhørsforhold, og det skal skrives til samme linie i uddatafilen.
Jeg vil gerne have et resultat, noget i denne stil:

LDAP://OU=    Familiesektion    OU=    Raadgivningen    OU=    Boerne_og_Ungeforvaltningen    OU=    DD    DC=    DA    DC=    local    user=    Peter Petersen

Er der nogen med et bud på, hvordan dette skal skrives i søgningen.

Hilsen ptj_11
Avatar billede dr-data Nybegynder
21. juli 2011 - 18:37 #1
Hej ptj_11

Følgende skulle gerne give dig et resultat som du kan bruge

I det oprindelige script manglede der et punktum i linien

objCommand.Properties("Sort On") = "Name"

Sig til hvis der er yderligere jeg har overset ;)

On Error Resume Next

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =  CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection

objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.Properties("Sort On") = "Name"

objCommand.CommandText = _
    "SELECT Name, Company, Department, AdsPath, Title FROM 'LDAP://dc=KA,dc=KK' WHERE objectCategory='user'" 

Set objRecordSet = objCommand.Execute

objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Wscript.Echo objRecordSet.Fields("AdsPath").Value &_
    vbTab & "user=" & objRecordSet.Fields("Name").Value &_
    vbTab & "company=" & objRecordSet.Fields("Company").Value &_
    vbTab & "department=" & objRecordSet.Fields("Department").Value &_
    vbTab & "title=" & objRecordSet.Fields("Title").Value
    objRecordSet.MoveNext
Loop

Hilsen dr-data
Avatar billede ptj_11 Forsker
21. juli 2011 - 22:38 #2
Hej dr-data.

Jeg kan ikke lige forstå denne:

I det oprindelige script manglede der et punktum i linien

objCommand.Properties("Sort On") = "Name"

Jeg synes ikke at jeg kan se, at du har indsat en punktum i det nye script, men never mind, det virker. Den sidder lige i skabet.

Du skal have så mange tak for hjælpen.
Normalt er jeg her primært for at hjælpe andre, men hvor det lækkert, når man står med et problem, at hjælpen er lige om hjørnet, når man render ind i et problem, hvor man selv er ren novice.
/ptj_11
Avatar billede dr-data Nybegynder
25. juli 2011 - 00:01 #3
Hej ptj_11

Det er bare super :)

Det er bare et mellemrum der manglede..

Ved at fjerne linien "on error resume next", fortalte "fortolkeren", at der var fejl på denne linie..

/dr-data
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester