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, 1820 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Netzwerkgrundlagen
IPsec - .conf und .secret erstellen aus Gruppe und User (16)

Frage von MaxMLe zum Thema Netzwerkgrundlagen ...

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

Frage von windelterrorist zum Thema Batch & Shell ...

Batch & Shell
Batch: .rar-Pakete automatisch Ordner erstellen und verschieben (2)

Frage von BowserMD zum Thema Batch & Shell ...

Windows Server
MSSQL 2012 User erstellen mit gewissen Berechtigungen (1)

Frage von rabo001 zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...