Web
Site
Search
Home
Agenda
Links
Bloggers
Over PASS Nederland
User benefits
Geregistreerd... en dan?
Sponsoring
Artikelen
Cursussen en certificering
SQL Server 2000
SQL Server 2005
Examenrecensies
Archief nieuwsbrieven
2005
Nieuwsbrief 1 / 09-10-2005
2006
Nieuwsbrief 2 / 16-01-2006
Nieuwsbrief 3 / 11-03-2006
Nieuwsbrief 4 / 11-04-2006
Nieuwsbrief 5 / 08-05-2006
Nieuwsbrief 6 / 18-06-2006
Nieuwsbrief 7 / 27-08-2006
Nieuwsbrief 8 / 20-10-2006
Nieuwsbrief 9 / 22-12-2006
2007
Nieuwsbrief 10 / 04-02-2007
Nieuwsbrief 11 / 05-03-2007
Nieuwsbrief 12 / 02-04-2007
Nieuwsbrief 13 / 01-05-2007
Nieuwsbrief 14 / 01-06-2007
Nieuwsbrief 15 / 02-09-2007
Nieuwsbrief 16 / 04-10-2007
Nieuwsbrief 17 / 05-11-2007
Nieuwsbrief 18 / 06-12-2007
2008
Nieuwsbrief 19 / 12-01-2008
Nieuwsbrief 20 / 14-02-2008
Nieuwsbrief 21 / 02-05-2008
Nieuwsbrief 22 / 16-06-2008
Nieuwsbrief 23 / 01-08-2008
Nieuwsbrief 24 / 13-11-2008
Nieuwsbrief 25 / 01-12-2008
2009
Nieuwsbrief 26 / 07-02-2009
Nieuwsbrief 27 / 09-03-2009
Nieuwsbrief 28 / 01-04-2009
Nieuwsbrief 29 / 04-06-2009
Nieuwsbrief 30 / 02-09-2009
Nieuwsbrief 31 / 06-10-2009
Nieuwsbrief 32 / 07-11-2009
Nieuwsbrief 33 / 04-12-2009
Forum
onze sponsors
Forum
Login
|
Register
Forum
Unanswered
Active Topics
Forums
Search
Forums
>
Forums
>
Ontwikkelen
Subject: Gegevens uit de AD opvragen met een query
Prev
Next
You are not authorized to post a reply.
Author
Messages
Oldest First
Newest First
Stephan Bussing
Posts:67
24-01-2008 16:23:58
Alert
Hoi, ik probeer on een connectie te maken naar het AD van een organizatie om zo via een query de gegevens uit het AD op te vragen. Hiertoe heb ik een Linked server aangemaakt met de volgende waarden: sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource' en de volgende query (beetje verkort, ik heb al verschillende varianten geprobeerd): SELECT * FROM OpenQuery( ADSI, 'SELECT name FROM ''ldap://dc=xx" objectClass= ''user''') Ik krijg echter de volgende foutmelding: An error occurred while preparing the query "SELECT ..." for execution against OLE DB provider "ADsDSOObject" for linked server "ADSI". ... Ik heb er ondertussen een behoorlijke zoektocht opzitten, maar komt niet verder. DE volgeden vragen: - IS het mogelijk de linked server te testen om te zien of deze goed werkt? - Zie ik iets over het hoofd? - Een voorbeeld van een query of een site met een uitwerking - Wat kan ik nog controleren (bestanden, versies)? Op dit moment maak ik gebruik van een MS SQL 2005 en deze is bekend in het AD. Suggesties welkom
Robert Hartskeerl
Posts:86
25-01-2008 13:51:40
Alert
Stephan,
Het volgende lukt bij mij:
sp_addlinkedserver 'ADSI', 'Active Directory Service Interfaces', 'ADSDSOObject', 'adsdatasource'
GO
SELECT * FROM OPENQUERY(ADSI, 'SELECT displayName FROM ''LDAP://dc=xx'' WHERE objectClass=''User''')
Let op dat je maar 1000 records terugkrijgt, dit is een limiet die ingesteld staan. In C# weet ik hoe je daar omheen komt maar in TSQL niet.
Werkt het dan nog niet? Kun je dan niet met vbscript oid dezelfde ldap query uit te voeren om zeker te zijn dat de ldap goed opgebouwd is.
Gr.
Robert Harstkeerl
Robert Hartskeerl
Posts:86
25-01-2008 13:56:13
Alert
Oh, ik zie het al. De foutmelding die jij beschrijft krijg ik als ik ldap schrijf ipv LDAP....
WIndows toch case-sensitive..
Stephan Bussing
Posts:67
25-01-2008 15:29:59
Alert
Hallo Robert,
bedankt voor je reactie. Ik zie dat mijn post er niet netjes uitziet. Alles achter elkaar. ;)
Maar goed, ik gebruik wel degelijk hoofdletters (LDAP), maar dat mag allemaal niet baten. Wet ik wel vond is dat het mogelijk is je linked server te testen hiervoor zit in 2005 een sp genaamd: sp_testlinkedserver. Volgens deze sp zouden mijn SP in ieder geval werken. Verder ben ik nog niet gekomen helaas.
Stephan Bussing
Posts:67
25-01-2008 15:39:51
Alert
De volgende link bevat veel informatie, ook hoe je de limiet van 1000 kan wijzigen
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q299410
Ik ben nog verder aan het stoeien ;)
Robert Hartskeerl
Posts:86
25-01-2008 15:50:09
Alert
Kun je het volgende als vbscript uitvoeren. Hiermee voer je dezelfde LDAP query uit. Weet je in ieder geval dat die goed is.
On Error Resume Next
Set oConnection = CreateObject("ADODB.Connection")
Set oCommand = CreateObject("ADODB.Command")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "Active Directory Provider"
Set oCommand.ActiveConnection = oConnection
oCommand.CommandText = _
"SELECT name FROM 'LDAP://dc=xxx' WHERE objectClass='User'"
Set oRecordSet = oCommand.Execute
oRecordSet.MoveFirst
Wscript.Echo oRecordSet.Fields("name").Value
Stephan Bussing
Posts:67
25-01-2008 16:56:49
Alert
Hallo Robert, nogmaals bedankt. Ik per ongeluk het aan de praat gekregen ;)
Door de volgende sp uit te voeren: sp_addlinkedsrvlogin ADSI (<-Dat is de naam van mijn linked server). Daarna werkte de query. Ik zal toch ook eens het script proberen. Ben nl benieuwed of dat ook werkt.
Bedankt.
Gr.
You are not authorized to post a reply.
Algemeen
--Forum regels
PASS Nederland
--Aankondigingen
--Bijeenkomsten
--PASS Nederland Algemeen
Forums
--DBA
--Ontwikkelen
--Business Intelligence
--Metadata (SIG)
--Performance (SIG)
--High Availability (SIG)
--XML (SIG)
--Algemeen
SQL Server
Forums
>
Forums
>
Ontwikkelen
> Gegevens uit de AD opvragen met een query
ActiveForums 3.6
Copyright (c) 2012 PASS Nederland
Privacy Statement
Terms Of Use