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

Batch erstellen um User in die AD hinzuzufügen

Frage Entwicklung Batch & Shell

Mitglied: Esry84

Esry84 (Level 1) - Jetzt verbinden

16.02.2013 um 14:54 Uhr, 1832 Aufrufe, 7 Kommentare

Hallo!

Kurz zu mir ;)

Ich mache im Moment eine Ausbildung als Netzwerktechniker!
Die Aufgabe besteht darin durch Scripte User anzulegen in der ADS, jeden einen Ordner erstellen und als Home Laufwerk zuzuweisen!
Desweiteren soll der User in eine Gruppe verschoben werden!

Da unser Mentor rein gar nichts dazu sagte, habe ich mich vor 2 Tagen daran gemacht das Problem zu lösen!

Leider nur mit mäßigen Erfolg

Ich habe verdammt viele Foren zum Thema Batch gelesen und auch schon einiges geschafft!

Noch kurz zur Aufgabe, die User sollen aus Textdateien angelegt werden, diese sehen folgendermaßen aus:

Max Mustermann
Heinz Kowalski

usw

Der Username soll sich aus dem ersten Buchstaben des Vornamens und max. 7 Zeichen des Nachnamens bestehen.

Ich habe nun schon ein Script geschrieben mit hilfe eines guten Tutorials hier auf dem Board ;) , welches jeweils den Anfangsbuchstaben auslesen kann und die 7 des nachnamens.
Diese Speicher ich zu testzwecken in einer Textdatei ab:

das Ergebnis bei meinem Script:

M
H
Musterm
Kowalsk

nur wie bekomm ich dies zusammen und eventuell noch normalisiert?
ich hätte gern alle Usernamen kleingeschrieben damit es nicht zu Missverständnissen kommt!


Hier mal der Teil des Scriptes für die namen:

setlocal enabledelayedexpansion

for /f "tokens=1" %%i in (namen.txt) do (
set a=%%i
set a=!a:~0,1!
echo !a! >> hier.txt
)
for /f "tokens=2" %%i in (namen.txt) do (
set a=%%i
set a=!a:~0,7!
echo !a! >> hier.txt
)

Ich bin wirklich mit meinem Latein am Ende
Mitglied: catachan
16.02.2013 um 16:11 Uhr
Hi

Muss es unbedingt batch sein ? In der Powershell geht das wesentlich eleganter.

Lg
Bitte warten ..
Mitglied: Esry84
16.02.2013 um 17:18 Uhr
Ja leider, es wird so verlangt!
Ich habe auch schon bessere Varianten gefunden während meines Suchens ^^
Bitte warten ..
Mitglied: rubberman
16.02.2013, aktualisiert um 19:06 Uhr
Hallo Esry84, willkommen im Forum.

Mit Batch ist das tatsächlich etwas suboptimal.

1. Teste ...
01.
@echo off &setlocal 
02.
>"hier.txt" ( 
03.
  for /f "usebackq tokens=1*" %%i in ("namen.txt") do ( 
04.
    set "vorname=%%i" 
05.
    set "nachname=%%j" 
06.
    setlocal EnableDelayedExpansion 
07.
    set "name=!vorname:~0,1!!nachname:~0,7!" 
08.
    for %%k in ("A=a","B=b","C=c","D=d","E=e","F=f","G=g","H=h","I=i","J=j","K=k","L=l","M=m","N=n","O=o","P=p","Q=q","R=r","S=s","T=t","U=u","V=v","W=w","X=x","Y=y","Z=z"," =") do ( 
09.
      set "name=!name:%%~k!" 
10.
11.
    echo !name! 
12.
    endlocal 
13.
14.
)
und 2. Bete ...
dass nie so etwas wie "Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Freiherr von und zu Guttenberg" (natürlich nur des Namens wegen ) in deiner Textdatei auftaucht. Ein Vor- und ein Nachname, Punkt sonst nix.

Grüße
rubberman
Bitte warten ..
Mitglied: Esry84
16.02.2013 um 20:29 Uhr
Cool ich danke dir ;)
Es funktioniert ;) ;) ;)

Mit was sollte man besser arbeiten?
Bitte warten ..
Mitglied: rubberman
16.02.2013 um 21:54 Uhr
Hallo Esry84.

Mit was sollte man besser arbeiten?
So ziemlich jede Programmier-/Scriptsprache ist besser geeignet. Arrays wären nett, implementierte Funktionen oder Methoden für Kleinschreibung ebenfalls.
Also Gegenfrage: Mit welchen Sprachen bist du vertraut?

Grüße
rubberman
Bitte warten ..
Mitglied: Esry84
16.02.2013 um 22:19 Uhr
C++ ein wenig im Moment!
Möchte mich aber gern weiterbilden, nur bin ich mir nicht sicher welche Sprache geeignet wäre!

Ja der Gedanke der Arrays kam mir ebenfalls als ich an dem Problem gesessen habe, nur leider fand ich keine Möglichkeit dies in einer cmd zu machen.

Ich habe noch eine frage, mein Script läuft nun, dh ich kann Benutzer in der ADS anlegen (mit den namen von dem Script hier), kann diesen eine Gruppe zuweisen und ein Homelaufwerk erstellen mit dem namen des Users!

Nun möchte ich das jeder User der sich anmeldet automatisch verschiedene Netzlaufwerke bekommt!
Das wollte ich über ein Anmeldescript lösen!
Das funktioniert auch einigermaßen, nur wie kann ich es in den User_erstellen Script schreiben das ich das Anmeldescript nicht per Hand eintragen muss in der ADS?
Bitte warten ..
Mitglied: rubberman
17.02.2013, aktualisiert um 02:19 Uhr
Hallo Esry84.

... das ich das Anmeldescript nicht per Hand eintragen muss in der ADS?
Ich habe noch nie etwas mit Benutzerverwaltung zu tun gehabt. Ich gehe aber davon aus dass du in deinem Script mit dsmod arbeitest, oder? In dem Fall hätte dsmod user die Option -loscr zu diesem Zweck. Mehr kann ich dazu aber nicht beitragen. Ggf. solltest du mal hier stöbern oder nachfragen.

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Ich Möchte in einem Batch Programm User erstellen (14)

Frage von Gangster137910 zum Thema Batch & Shell ...

Windows Server
gelöst AD-User einer AD-Gruppe auslesen und in ein File schreiben (15)

Frage von Estefania zum Thema Windows Server ...

Microsoft Office
gelöst Wird ein Cloud-User durch AD-Sync überschrieben (2)

Frage von olimo zum Thema Microsoft Office ...

Batch & Shell
Mehrere AD Benutzer aus CSV Datei mit PowerShell erstellen (1)

Frage von windelterrorist zum Thema Batch & Shell ...

Neue Wissensbeiträge
Entwicklung

Exploit Development

Anleitung von burhanudinn123 zum Thema Entwicklung ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
Leiten "dumme" Switches VLAN-Tags mit durch? (19)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (12)

Frage von departure69 zum Thema Windows Server ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...