staudy666 10 Geschrieben 4. Mai 2005 Melden Teilen Geschrieben 4. Mai 2005 Hallo Boardmitglieder! Habe folgendes Problem! Wir haben User mittels ADC von einen PDC auf AD gehoben. Nun haben die User allerdings keinen UPN, sowie keinen PREWin2000 User Logon Name. Mit dem Befehl DSMOD USER kann ich lediglich nur den UPN setzen aber nicht die samid. Gibt es irgendwelche Tools um dies durchzuführen? Zitieren Link zu diesem Kommentar
grizzly999 11 Geschrieben 4. Mai 2005 Melden Teilen Geschrieben 4. Mai 2005 Ja, VBS, z.B. so was hier: Set objUser = GetObject _ ("LDAP://cn=test,ou=test,dc=mydom,dc=de") objUser.Put "sAMAccountName", "tata" objUser.SetInfo Das müsste man für mehrere natürlich anpassen, hier gibts Beispiele: http://www.microsoft.com/technet/scriptcenter/scripts/default.mspx grizzly999 Zitieren Link zu diesem Kommentar
staudy666 10 Geschrieben 9. Mai 2005 Autor Melden Teilen Geschrieben 9. Mai 2005 Danke für den Tipp.... Habe das auch schon versucht und es funktioniert echt klasse... Habe leider nun das Problem eine Access-Datenbank mit zwei Feldern auszulesen.... er kann leider nur im Moment die 1 Spalte (DN) mit dem DN für den User auslesen.Spalte 2 (Name) bleibt unbeachtet :( Habe ich einen Fehler in der Syntax zum Setzen der Variable "Benutzername" Kann mir jemand helfen?? Option Explicit ' Variablendeklaration Dim DatenQuelle Dim DBConnection, SqlString, Ergebnismenge Dim Benutzer ' Konstanten definieren Const Verbindung="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\ADModify.NET\test.MDB;" ' Connection-Objekt erzeugen Set DBConnection = CreateObject("ADODB.Connection") ' Connection öffnen DBConnection.Open Verbindung ' Alle Benutzer verwenden SqlString="SELECT * FROM Benutzer" ' SQL-Statement ausführen Set Ergebnismenge = DBConnection.Execute(SqlString) On Error Resume Next ' An den Anfang des Abfrageergebnisses springen Ergebnismenge.MoveFirst ' Durchlaufe gesamte Datenbasis Do While Not Ergebnismenge.eof ' Aufruf der Hilfsroutine Dim User Dim Benutzername Dim upn ' Zugriff auf das Benutzer-Objekt Set User = GetObject("LDAP://" &Ergebnismenge("DN")) set Benutzername=Ergebnismenge("Name") Set upn=(Benutzername)&"firma.de" ' Passwort ändern User.SetPassword("Test4User") User.SetInfo ' UPN Logon Name setzen User.Put "userprincipalname", upn User.SetInfo ' PRE2000 Logon Name setzen User.Put "samAccountName", Benutzername User.SetInfo ' Konto aktivieren User.AccountDisabled = False User.SetInfo ' Description setzen User.Put "description", " " User.SetInfo ' PW Change at Logon deaktivieren User.Put "pwdLastSet", CLng(-1) User.SetInfo ' PW never expires aktiveren flag=User.Get("UserAccountControl") newFlag=flag Or ADS_UF_DONT_EXPIRE_PASSWD User.Put "userAccountControl", newFlag User.SetInfo ' Nächsten Satz aus der Ergebnismenge holen Ergebnismenge.MoveNext Loop ' Schliessen der Abfrage Ergebnismenge.Close ' Schliessen der Verbindung DBConnection.Close Zitieren Link zu diesem Kommentar
staudy666 10 Geschrieben 9. Mai 2005 Autor Melden Teilen Geschrieben 9. Mai 2005 Habe meinen Fehler gefunden... obwohl dieser nicht ganz einleuchtend ist. Test and Try ;-) Habe die Variablen "Benutzername" und "upn" entfernt und direkt beim Setzen der Attribute gesetzt... (siehe unten) ' UPN Logon Name setzen User.Put "userprincipalname", Ergebnismenge("Name")&"@firma.de" User.SetInfo ' PRE2000 Logon Name setzen User.Put "samAccountName", CStr(Ergebnismenge("Name")) User.SetInfo 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.