Von eine Excelliste ins AD importieren
Hallo Leute
Sorry, wenn ich nochmal Frage.
Ich habe Folgendes Problem, ich muss von einer Excel liste User ins AD Importieren.
Und zwar schaut die Excel List so aus Von 1 bis XXXX stehen die Verschiedenen User und in den Spalten sind
B: CN Beispiel: Musterman Manfred
C: Last Name Beispiel: Musterman
D: First Name Beispiel: Manfred
E: SamAccountName Beispiel: MUSMA
F: Email Beispiel: Manfred.Mustermann@Musterfirma.com
G: Telefone Beispiel: +41 56 001 01 01
H: WebPage Beispiel: www.Musterpage.xo
I:Addr1 Beispiel: Musterstr. 23
J:City Beispiel:Musterdorf
K: ZipCode Beispiel: 0456
L:State Beispiel:Musterkanton
M:Manager Beispiel: (LEER)
N:Company Beispiel: Mustermann / Musterfirma AG
O:Titl Beispiel: Muster und Helpdesk-Support
P: Descript Beispiel: (LEER)
Q: Profile Beispiel: (LEER)
R: Asspath Beispiel: LDAP://CN=Musterman Manfred,OU=Win7,OU=LDUsers,DC=corp,DC=limmatFirma,DC=ch
S: Primary SMTP Beispiel: Zusatemail@HansMuster.com
Kann mir da jemand Helfen die wieder in AD zu importieren. Ich habe echt die User nur noch in der Excel liste und sonst Nirgendwo mehr.
DANKE schon mal für eure Mithilfe
Sorry, wenn ich nochmal Frage.
Ich habe Folgendes Problem, ich muss von einer Excel liste User ins AD Importieren.
Und zwar schaut die Excel List so aus Von 1 bis XXXX stehen die Verschiedenen User und in den Spalten sind
B: CN Beispiel: Musterman Manfred
C: Last Name Beispiel: Musterman
D: First Name Beispiel: Manfred
E: SamAccountName Beispiel: MUSMA
F: Email Beispiel: Manfred.Mustermann@Musterfirma.com
G: Telefone Beispiel: +41 56 001 01 01
H: WebPage Beispiel: www.Musterpage.xo
I:Addr1 Beispiel: Musterstr. 23
J:City Beispiel:Musterdorf
K: ZipCode Beispiel: 0456
L:State Beispiel:Musterkanton
M:Manager Beispiel: (LEER)
N:Company Beispiel: Mustermann / Musterfirma AG
O:Titl Beispiel: Muster und Helpdesk-Support
P: Descript Beispiel: (LEER)
Q: Profile Beispiel: (LEER)
R: Asspath Beispiel: LDAP://CN=Musterman Manfred,OU=Win7,OU=LDUsers,DC=corp,DC=limmatFirma,DC=ch
S: Primary SMTP Beispiel: Zusatemail@HansMuster.com
Kann mir da jemand Helfen die wieder in AD zu importieren. Ich habe echt die User nur noch in der Excel liste und sonst Nirgendwo mehr.
DANKE schon mal für eure Mithilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 202557
Url: https://administrator.de/forum/von-eine-excelliste-ins-ad-importieren-202557.html
Ausgedruckt am: 22.12.2024 um 14:12 Uhr
7 Kommentare
Neuester Kommentar
Hi,
du kannst das ganze per VB-Script machen. Es gibt da auch fertige Beispiele.
Ein Auszug mit nicht allen Funktionen wäre hier (mit dieser Datei habe ich das bei uns gemacht). Du musst nur die Domainname und TLD anpassen.
Die Excelliste speicherst du vorher als csv-Datei ab.
===
===
Die Benutzung erfolg auf eigenes Risiko. ;)
P.S.: Das ist mit Passwortgenerator. Das kannst du bzw. musst du ja auch anpassen, da du mehrere Felder hast.
Ich hoffe ich konnte dir hierbei helfen.
Gruß
du kannst das ganze per VB-Script machen. Es gibt da auch fertige Beispiele.
Ein Auszug mit nicht allen Funktionen wäre hier (mit dieser Datei habe ich das bei uns gemacht). Du musst nur die Domainname und TLD anpassen.
Die Excelliste speicherst du vorher als csv-Datei ab.
===
'Benutzername;OU;Gruppe;Passwort
'Option Explicit
Dim FSO, DateiInhalt, Zeile, Inhalt
Dim Container, Benutzer, ou, gruppe, pass, benutzername, gruppenname, group
Dim pool, poolnumb, poolsmalletter, poolbigletter, poolchar, password, Vorname, Nachname, Vordisp, Nachdisp
Dim Zieldatei, Zieldatei1, pwd, pwd1, pwd2, pwd3, pwd4, i, output, outputuser, Zieldatei_usr
poolnumb="1234567890"
poolsmalletter="abcdefghijklmnopqrstuvwxyzöäü"
poolbigletter=UCase(poolsmalletter)
poolchar="!§$%&/()=\ß?^°+-.:*'#;,<>|"&chr(34)
pool=poolnumb & poolsmalletter & poolbigletter & poolchar
randomize
Const Dateiname="importfile.csv"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Zieldatei = FSO.CreateTextFile("_output.txt")
If FSO.FileExists(Dateiname) Then
Set DateiInhalt = FSO.OpenTextFile(Dateiname)
Do Until DateiInhalt.atEndOfStream
Zeile = DateiInhalt.ReadLine
'zeile spitten
dim benutzerangaben
benutzerangaben = split(zeile, ";")
if not zeile = "Kost.st.;Name;Vorname;" then
Vorname = benutzerangaben(2)
Nachname = benutzerangaben(1)
ou = benutzerangaben(0)
abteil = split(benutzerangaben(0), ",")
abt = lcase(abteil(0))
Vordisp = Vorname
Nachdisp = Nachname
'msgbox ou
Vorname = Replace(Replace(Replace(Replace(Replace(Vorname, "ä", "ae"), "ö", "oe"), "ü", "ue"), "ß", "ss"), " ","")
benutzername = lcase(Vorname) & "." & lcase(Nachname)
benutzername = Replace(Replace(Replace(Replace(Replace(benutzername, "ä", "ae"), "ö", "oe"), "ü", "ue"), "ß", "ss"), " ","")
'msgbox benutzername
do
password = ""
pwd1 = false
pwd2 = false
pwd3 = false
pwd4 = false
pwd = true
for i = 1 to 10
' String, Stelle, Anzahl Zeichen
password = password & mid(pool,Int(rnd*len(pool))+1,1)
next
for i = 1 to Len(poolnumb)
if not (InStr(password, Mid(poolnumb,i,1)) = 0) then
pwd1 = true
'msgbox "PWD1: " & pwd1
exit for
end if
next
for i = 1 to Len(poolsmalletter)
if not (InStr(password, Mid(poolsmalletter,i,1)) = 0) then
pwd2 = true
'msgbox "PWD2: " & pwd2
exit for
end if
next
for i = 1 to Len(poolbigletter)
if not (InStr(password, Mid(poolbigletter,i,1)) = 0) then
pwd3 = true
'msgbox "PWD3: " & pwd3
exit for
end if
next
for i = 1 to Len(poolchar)
if not (InStr(password, Mid(poolchar,i,1)) = 0) then
pwd4 = true
'msgbox "PWD4: " & pwd4
exit for
end if
next
if ((pwd1 = false) or (pwd2 = false) or (pwd3 = false) or (pwd4 = false)) then
pwd = false
end if
if pwd = false then
'msgbox "false"
else
'msgbox "true"
end if
loop while pwd = false
pass = password
Zieldatei.WriteLine(password)
'benutzername = benutzerangaben(0)
'ou = benutzerangaben(1)
'gruppenname = benutzerangaben(2)
'pass = benutzerangaben(3)
'msgbox benutzername
Set Container = GetObject("LDAP://10.0.0.1/OU=" & ou & ",DC=<domainname>,DC=<tld>")
'Set Container = GetObject("LDAP://10.0.0.1/OU=" & ou )
Set Benutzer = Container.Create("user", "CN=" & Nachname & "\, " & Vorname)
Benutzer.Put "sAMAccountName", benutzername
Benutzer.Put "displayName", Nachdisp & ", " & Vordisp
Benutzer.Put "name", Nachname & "," & Vorname
Benutzer.Put "givenName", Vorname
Benutzer.Put "sn", Nachname
Benutzer.Put "userPrincipalName", benutzername & "@<domainname>.<tld>"
Benutzer.SetInfo
Benutzer.SetPassword(pass)
Benutzer.Put "pwdLastSet", 0
Benutzer.SetInfo
Benutzer.AccountDisabled = False
Benutzer.Put "scriptPath", "logon_" & abt & ".bat"
Benutzer.SetInfo
'msgbox abt
'msgbox "LDAP://10.0.0.1/OU=" & ou & ",DC=<domainname>,DC=<tld>"
output = Nachname & ", " &Vorname & ", Benutzer: " & benutzername & " | " & password
Zieldatei.WriteLine(output)
'Zieldatei1.WriteLine("net user " & benutzername & " /activate:yes")
Set outputuser = FSO.CreateTextFile(benutzername & ".txt")
outputuser.WriteLine(output)
outputuser.Close
end if
Loop
Zieldatei.Close
'Zieldatei1.close
DateiInhalt.Close
' Bach-File aufrufen
Set WshShell = WScript.CreateObject("WScript.Shell")
' Datei, 1 für Vordergrund, true ist warten
test = WShShell.Run("copy.bat",1,true)
'test = WShShell.Run("users.bat",1,true)
'Set Zieldatei1 = FSO.GetFile("batch.txt")
'Zieldatei1.Delete
else
msgbox "Datei nicht gefunden!"
End If
Die Benutzung erfolg auf eigenes Risiko. ;)
P.S.: Das ist mit Passwortgenerator. Das kannst du bzw. musst du ja auch anpassen, da du mehrere Felder hast.
Ich hoffe ich konnte dir hierbei helfen.
Gruß
Hallo,
wenn du die Powershell verwenden kannst, hätte ich ein kürzeres Beispiel:
Habe damit damals ca. 200 User in das AD eingetragen.
Was noch angepasst werden müsste:
Meine CSV-Datei war folgendermaßen aufgebaut:
Die erste Zeile des PowerShell-Scripts sorgt dafür, dass auch Umlaute in den Namen verwendet werden können.
Das Teil hier solltest du relativ leicht an deine Bedürfnisse anpassen können.
Gruß,
Florian
wenn du die Powershell verwenden kannst, hätte ich ein kürzeres Beispiel:
userimporter.ps1
get-content ".\userlist.csv" | out-file -encoding utf8 ".\userlist2.csv"
Import-Module ActiveDirectory
$Users = Import-Csv -Delimiter ";" -Path ".\userlist2.csv"
foreach ($User in $Users)
{
$Passwort = $User.passwort
$vollerName = $User.vorname + " " + $User.nachname
New-ADUser -GivenName:$User.vorname -Title:$User.position -Department:$User.abteilung -Company:$User.firma -EmailAddress:$User.email -Surname:$User.nachname -DisplayName:$vollerName -Office:$User.buero -OfficePhone:$User.tel -HomePage:$User.homepage -StreetAddress:$User.strasse -City:$User.ort -Country:"DE" -PostalCode:$User.plz -Fax:$User.fax -Name:$vollerName -SamAccountName:$User.login -Type:"user" -AccountPassword (ConvertTo-SecureString $Passwort -AsPlainText -Force) -Enabled $true -Path:"OU=DEINE_OU,DC=NAME_DEINES_DCs,DC=local"
}
Habe damit damals ca. 200 User in das AD eingetragen.
Was noch angepasst werden müsste:
-Path:"OU=DEINE_OU,DC=NAME_DEINES_DCs,DC=local"
vorname;nachname;buero;tel;homepage;strasse;ort;plz;fax;position;abteilung;email;Passwort;login;firma
Das Teil hier solltest du relativ leicht an deine Bedürfnisse anpassen können.
Gruß,
Florian
Hallo,
Gruß,
Peter
Zitat von @Kabadeluxe:
Ich habe Folgendes Problem, ich muss von einer Excel liste User ins AD Importieren.
Kann mir da jemand Helfen die wieder in AD zu importieren.
Ich habe Folgendes Problem, ich muss von einer Excel liste User ins AD Importieren.
Kann mir da jemand Helfen die wieder in AD zu importieren.
Ich habe echt die User nur noch in der Excel liste und sonst Nirgendwo mehr.
Wie kann das denn passieren?Gruß,
Peter
Tut mir leid Habe es angepasst