steven20 10 Geschrieben 28. November 2007 Melden Teilen Geschrieben 28. November 2007 Hallo Leute, ich such, und google mich jetz schon über 1 Tag durch sämtliche seiten aber bin momentan etwas hilflos. Ich bin was VBS angeht nicht so bewandert aber Ich scheitere Momentan an einem Problem: Ich habe die NT4 Anmeldename (domäne\benutzer) und würde daraus gern den ldap pfad zum User Objekt ableiten Das ganze hat Folgenden Hintergrund: Wir haben eine Sql Tabelle Wo Username im NT Format drinn ist und zu jedem Usernamen noch Daten. Diese Daten sollen dann ins Active Directory importiert werden. Ich hab mir gedacht ich mach das am Besten mittels VBS (jemand andere ideen?) Das Abfragen des Sql Server funktioniert und ich denk das krieg ich soweit hin. Das Schreiben der User Properties aber leider noch nicht ganz: wenn ich denn NT4 ADSI Provider verwende getobject("winnt://domäne/user") stehen mir die Prameter nicht zur verfügung die ich beschreiben möchte. Wenn ich den User über LDAP refernziere funktioniert das setzten der parameter. Allerdings krieg ich aus dem SQL nicht den ldap pfad raus. Hat jemand ne idee? mit lieben verzweifelten grüßen Stefan Zitieren Link zu diesem Kommentar
vmorbit 10 Geschrieben 28. November 2007 Melden Teilen Geschrieben 28. November 2007 muss es vbs sein? ansonsten: dsquery user -samid %USERNAME% Zitieren Link zu diesem Kommentar
Daim 12 Geschrieben 28. November 2007 Melden Teilen Geschrieben 28. November 2007 Servus, Ich hab mir gedacht ich mach das am Besten mittels VBS (jemand andere ideen?) wie wäre es mit dsquery user -name <username> ? Zitieren Link zu diesem Kommentar
steven20 10 Geschrieben 28. November 2007 Autor Melden Teilen Geschrieben 28. November 2007 HI Es geht ja darum das ich eine SQL abfrage bearbeiten muss -> aus dieser Abfragen bekomm ich Username und Daten -> Diese müssen ins AD geschrieben werden Kann ich das Command in ein vbscript einbauen? Zitieren Link zu diesem Kommentar
vmorbit 10 Geschrieben 28. November 2007 Melden Teilen Geschrieben 28. November 2007 mit wscript.shell.run und wscript.shell.exec kannst einen externen befehl in vbs aufrufen und dir auch die ausgabe davon hereinholen...am besten mal googln... ansonsten kann ich dir auch ein script posten, dass du mit ein wenig arbeit ummodeln kannst... Zitieren Link zu diesem Kommentar
steven20 10 Geschrieben 28. November 2007 Autor Melden Teilen Geschrieben 28. November 2007 Hi, wenn du natürlich ein kleines proof of concep script posten würdest wär es sehr hilfreich :) danke Zitieren Link zu diesem Kommentar
vmorbit 10 Geschrieben 28. November 2007 Melden Teilen Geschrieben 28. November 2007 Option Explicit 'Variablen definieren Dim objRootDSE, strDNSDomain, adoCommand, adoConnection, strQuery Dim adoRecordset, strName, strDN Dim blnFlag, strBase, strFilter, strAttributes Dim wshNetwork, wshshell, adsysinfo, currentuser 'Objekte erstellen Set wshNetwork = CreateObject("WScript.Network") Set Wshshell = CreateObject("WScript.Shell") Set ADSysInfo = CreateObject("ADSystemInfo") CurrentUser = wshNetwork.Username 'Mit LDAP verbinden Set objRootDSE = GetObject("LDAP://RootDSE") strDNSDomain = objRootDSE.Get("defaultNamingContext") 'ADO definieren Set adoCommand = CreateObject("ADODB.Command") Set adoConnection = CreateObject("ADODB.Connection") adoConnection.Provider = "ADsDSOObject" adoConnection.Open "Active Directory Provider" adoCommand.ActiveConnection = adoConnection strBase = "<LDAP://" & strDNSDomain & ">" strFilter = "(&(objectCategory=person)(objectClass=user) (samaccountname=" & Currentuser & "))" strAttributes = "distinguishedName,displayName" strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree" adoCommand.CommandText = strQuery adoCommand.Properties("Page Size") = 100 adoCommand.Properties("Timeout") = 30 adoCommand.Properties("Cache Results") = False adoCommand.Properties("Sort On") = "displayName" Set adoRecordset = adoCommand.Execute strName = adoRecordset.Fields("displayName").Value adoRecordset.Close also das ist ein skript dass ich benutze um bestimmte attribute eines users aus dem AD zu fischen... du müsstest halt die currentuser variable so definieren, dass sie deinem SAM-name entspricht...und das abgefragte attribut (displayname) so umschreiben, dass der Distinguished Name abgefragt und ausgegeben wird. Hoffe das bringt dich weiter...:D Zitieren Link zu diesem Kommentar
steven20 10 Geschrieben 29. November 2007 Autor Melden Teilen Geschrieben 29. November 2007 falsch Zitieren Link zu diesem Kommentar
vmorbit 10 Geschrieben 29. November 2007 Melden Teilen Geschrieben 29. November 2007 ??? falsch? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.