Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Von eine Excelliste ins AD importieren

Frage Microsoft

Mitglied: Kabadeluxe

Kabadeluxe (Level 1) - Jetzt verbinden

28.02.2013 um 14:31 Uhr, 1866 Aufrufe, 7 Kommentare

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
Mitglied: killtec
28.02.2013, aktualisiert um 15:33 Uhr
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.

===
01.
'Benutzername;OU;Gruppe;Passwort 
02.
'Option Explicit 
03.
Dim FSO, DateiInhalt, Zeile, Inhalt 
04.
Dim Container, Benutzer, ou, gruppe, pass, benutzername, gruppenname, group 
05.
Dim pool, poolnumb, poolsmalletter, poolbigletter, poolchar, password, Vorname, Nachname, Vordisp, Nachdisp 
06.
Dim Zieldatei, Zieldatei1, pwd, pwd1, pwd2, pwd3, pwd4, i, output, outputuser, Zieldatei_usr 
07.
poolnumb="1234567890" 
08.
poolsmalletter="abcdefghijklmnopqrstuvwxyzöäü" 
09.
poolbigletter=UCase(poolsmalletter) 
10.
poolchar="!§$%&/()=\ß?^°+-.:*'#;,<>|"&chr(34) 
11.
 
12.
pool=poolnumb & poolsmalletter & poolbigletter & poolchar 
13.
randomize 
14.
 
15.
Const Dateiname="importfile.csv" 
16.
 
17.
Set FSO = CreateObject("Scripting.FileSystemObject") 
18.
Set Zieldatei = FSO.CreateTextFile("_output.txt") 
19.
If FSO.FileExists(Dateiname) Then 
20.
    Set DateiInhalt = FSO.OpenTextFile(Dateiname) 
21.
     
22.
    Do Until DateiInhalt.atEndOfStream 
23.
        Zeile = DateiInhalt.ReadLine 
24.
 
25.
        'zeile spitten 
26.
        dim benutzerangaben  
27.
        benutzerangaben = split(zeile, ";") 
28.
		if not zeile = "Kost.st.;Name;Vorname;" then 
29.
		 
30.
		Vorname = benutzerangaben(2) 
31.
        Nachname = benutzerangaben(1) 
32.
        ou = benutzerangaben(0) 
33.
		abteil = split(benutzerangaben(0), ",") 
34.
		abt = lcase(abteil(0)) 
35.
		Vordisp = Vorname 
36.
		Nachdisp = Nachname 
37.
		'msgbox ou 
38.
		 
39.
		Vorname = Replace(Replace(Replace(Replace(Replace(Vorname, "ä", "ae"), "ö", "oe"), "ü", "ue"), "ß", "ss"), " ","") 
40.
		benutzername = lcase(Vorname) & "."  & lcase(Nachname) 
41.
		benutzername = Replace(Replace(Replace(Replace(Replace(benutzername, "ä", "ae"), "ö", "oe"), "ü", "ue"), "ß", "ss"), " ","") 
42.
		'msgbox benutzername 
43.
			do  
44.
			  password = "" 
45.
			  pwd1 = false 
46.
			  pwd2 = false 
47.
			  pwd3 = false 
48.
			  pwd4 = false 
49.
			  pwd = true 
50.
			   
51.
			   
52.
			  for i = 1 to 10 
53.
			  '                              String, Stelle, Anzahl Zeichen 
54.
				password = password & mid(pool,Int(rnd*len(pool))+1,1) 
55.
 
56.
			  next 
57.
			   
58.
			  for i = 1 to Len(poolnumb) 
59.
				if not (InStr(password, Mid(poolnumb,i,1)) = 0) then 
60.
				  pwd1 = true 
61.
				  'msgbox "PWD1: " & pwd1 
62.
				  exit for 
63.
				end if 
64.
			  next 
65.
 
66.
			  for i = 1 to Len(poolsmalletter) 
67.
				if not (InStr(password, Mid(poolsmalletter,i,1)) = 0) then 
68.
					pwd2 = true 
69.
					'msgbox "PWD2: " & pwd2 
70.
				  exit for 
71.
				end if 
72.
			  next 
73.
 
74.
			  for i = 1 to Len(poolbigletter) 
75.
				if not (InStr(password, Mid(poolbigletter,i,1)) = 0) then 
76.
				  pwd3 = true 
77.
				  'msgbox "PWD3: " & pwd3 
78.
				  exit for 
79.
				end if 
80.
			  next 
81.
 
82.
			  for i = 1 to Len(poolchar) 
83.
				if not (InStr(password, Mid(poolchar,i,1)) = 0) then 
84.
				  pwd4 = true 
85.
				  'msgbox "PWD4: " & pwd4 
86.
				  exit for 
87.
				end if 
88.
			  next 
89.
			   
90.
			  if ((pwd1 = false) or (pwd2 = false) or (pwd3 = false) or (pwd4 = false)) then 
91.
				pwd = false 
92.
			  end if 
93.
				if pwd = false then 
94.
					'msgbox "false" 
95.
				else 
96.
					'msgbox "true" 
97.
				end if 
98.
			loop while pwd = false 
99.
 
100.
		pass = password	 
101.
Zieldatei.WriteLine(password) 
102.
         
103.
		'benutzername = benutzerangaben(0) 
104.
        'ou = benutzerangaben(1) 
105.
        'gruppenname = benutzerangaben(2) 
106.
        'pass = benutzerangaben(3) 
107.
		'msgbox benutzername 
108.
		Set Container = GetObject("LDAP://10.0.0.1/OU=" & ou & ",DC=<domainname>,DC=<tld>") 
109.
		'Set Container = GetObject("LDAP://10.0.0.1/OU=" & ou ) 
110.
		Set Benutzer = Container.Create("user", "CN=" & Nachname & "\, " & Vorname)  
111.
		Benutzer.Put "sAMAccountName", benutzername 
112.
		Benutzer.Put "displayName", Nachdisp & ", " & Vordisp 
113.
		Benutzer.Put "name", Nachname & "," & Vorname 
114.
		Benutzer.Put "givenName", Vorname 
115.
		Benutzer.Put "sn", Nachname 
116.
		Benutzer.Put "userPrincipalName", benutzername & "@<domainname>.<tld>" 
117.
		Benutzer.SetInfo 
118.
		Benutzer.SetPassword(pass) 
119.
		Benutzer.Put "pwdLastSet", 0 
120.
        Benutzer.SetInfo 
121.
		Benutzer.AccountDisabled = False 
122.
		Benutzer.Put "scriptPath", "logon_" & abt & ".bat" 
123.
		Benutzer.SetInfo 
124.
		'msgbox abt 
125.
		 
126.
		'msgbox "LDAP://10.0.0.1/OU=" & ou & ",DC=<domainname>,DC=<tld>" 
127.
		output = Nachname & ", " &Vorname & ", Benutzer: " & benutzername & " | " & password 
128.
		Zieldatei.WriteLine(output) 
129.
		'Zieldatei1.WriteLine("net user " & benutzername & " /activate:yes") 
130.
		Set outputuser = FSO.CreateTextFile(benutzername & ".txt") 
131.
		outputuser.WriteLine(output) 
132.
		outputuser.Close 
133.
		end if 
134.
    Loop 
135.
    Zieldatei.Close 
136.
	'Zieldatei1.close 
137.
    DateiInhalt.Close 
138.
	 
139.
	' Bach-File aufrufen 
140.
	Set WshShell = WScript.CreateObject("WScript.Shell") 
141.
	 
142.
	' Datei, 1 für Vordergrund, true ist warten 
143.
	test = WShShell.Run("copy.bat",1,true) 
144.
	'test = WShShell.Run("users.bat",1,true) 
145.
	 
146.
	'Set Zieldatei1 = FSO.GetFile("batch.txt") 
147.
	'Zieldatei1.Delete 
148.
     
149.
else 
150.
  msgbox "Datei nicht gefunden!" 
151.
 
152.
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ß
Bitte warten ..
Mitglied: flow.ryan
28.02.2013, aktualisiert um 15:31 Uhr
Hallo,

wenn du die Powershell verwenden kannst, hätte ich ein kürzeres Beispiel:

01.
userimporter.ps1 
02.
 
03.
get-content ".\userlist.csv" | out-file -encoding utf8 ".\userlist2.csv" 
04.
Import-Module ActiveDirectory  
05.
$Users = Import-Csv -Delimiter ";" -Path ".\userlist2.csv"   
06.
foreach ($User in $Users)   
07.
{   
08.
    $Passwort = $User.passwort  
09.
    $vollerName = $User.vorname + " " + $User.nachname 
10.
     
11.
    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" 
12.
     
13.
} 
Habe damit damals ca. 200 User in das AD eingetragen.
Was noch angepasst werden müsste:
01.
-Path:"OU=DEINE_OU,DC=NAME_DEINES_DCs,DC=local"
Meine CSV-Datei war folgendermaßen aufgebaut:
01.
vorname;nachname;buero;tel;homepage;strasse;ort;plz;fax;position;abteilung;email;Passwort;login;firma
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
Bitte warten ..
Mitglied: Pjordorf
28.02.2013 um 15:15 Uhr
Hallo,

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 echt die User nur noch in der Excel liste und sonst Nirgendwo mehr.
Wie kann das denn passieren?

Gruß,
Peter
Bitte warten ..
Mitglied: Snowman25
28.02.2013 um 15:30 Uhr
killtec und flow.ryan,
Schreibt code bitte immer in <code>-Tags!
Danke
Bitte warten ..
Mitglied: flow.ryan
28.02.2013 um 15:32 Uhr
Zitat von Snowman25:
killtec und flow.ryan,
Schreibt code bitte immer in <code>-Tags!
Danke

Tut mir leid Habe es angepasst
Bitte warten ..
Mitglied: killtec
28.02.2013, aktualisiert um 15:34 Uhr
Hi Snowman25,
hab es auch angepasst. War mein erster code hier ;)
Bitte warten ..
Mitglied: Kabadeluxe
01.03.2013 um 08:25 Uhr
Es geht bei mir nicht.
Ich habe den Oberen Code von Killtec genommen und in eine VBS datei gemacht. Er bringt dann die Fehlermeldung:

Zeile: 34
Zeichen: 3
Fehler: Index Auserhalb des Gültigen Bereichs: '(number:0)´
Code: 800A0009
Quelle: Laufzeitfehler in Microsoft VBScript

Aber bevor ich es vergesse Schon mal ein Ganz herzliches Danken an euch allen

Gruss Thomas
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

Windows Server
AD-Berechtigungen von zwei Servern miteinander vergleichen (3)

Frage von s0m3ting zum Thema Windows Server ...

Exchange Server
gelöst Kontaktliste in Userpostfach importieren via PS (17)

Frage von atk691 zum Thema Exchange Server ...

Windows Server
AD Replikation zwischen untergeordneten Domäne zwingend? (4)

Frage von Gien-app zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...