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, 1823 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 ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Windows Netzwerk
gelöst Powershell skript zum Auslesen der im AD angemeldeten User (2)

Frage von jan.kleinel zum Thema Windows Netzwerk ...

Microsoft Office
Excelsheet gesperrt durch nicht mehr vorhandenen AD-User (5)

Frage von Dopamin85 zum Thema Microsoft Office ...

Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Windows Server
gelöst Failovercluster mit Windows 2012r2 erstellen AD, DNS (8)

Frage von eac1903 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (14)

Frage von smartino zum Thema Mac OS X ...