Guten Morgen erstmal,
ich weiß das die Überschrift zum Thema nicht ganz passend ist, aber mir ist leider nichts besseres, zutreffenderes eingefallen.
Ich will aber auch nicht lang um den heißen Brei reden sondern gleich zur Sache kommen.
Ich hab noch nicht sehr viele Erfahrungen mit AutoIT, hab bisher nur sehr kleine Skripte geschrieben, das ist jetzt rund 2 Wochen her. Meine Kenntnisse sind daher leider noch nicht so ausgeprägt.
Nunja...
Ich habe eine Tabellen die wie folgt aussieht:
Spoiler anzeigen
Schueler_Nachname, Schueler_Vorname, Klassen_KlassenbezeichnungSchueler_Nachname, Schueler_Vorname, Klassen_Klassenbezeichnung
Mustermann, Max, 05A9
Die Tabelle hat ingesamt 866 Datensätze dieser Art.
Diese ganzen Schüler sollen nun an einen Domänencontroller als User angelegt werden, dies will ich mit einen Powershell Skript verwirklichen. Das ist auch alles kein Problem soweit.
Jedoch soll anhand der erstem Tabelle, eine zweite Tabelle erstellt werden, die für die Benutzeranlegung genutzt werden soll.
Diese würde dann wie folgt aussehen
Spoiler anzeigen
Name,NameDomain,Passwort
MMustermann,MMustermann@beispiel.local, TestPassword
Sprich von der ersten Tabelle soll der erste Buchstabe des Vornamens genommen werden und vor den Nachnamen gehangen werden.
Ich hab das auch alles soweit realisiert, jedoch bekomme ich dies nur mit dem ersten Namen hin, die ganzen Schülerdaten die danach kommen werden nicht beachtet, bzw. ich hab auch das Problem das ich mit den Skript die zweite Tablle voranfertigen lasse (Spaltennamen), jedoch wenn ich den ersten Benutzernamen in die Tabelle schreiben lasse, diese Spaltennamen überschrieben werden. Ich hoffe das ist alles soweit verständlich, ich poste hier mal mein Skript.
Spoiler anzeigen
[autoit]
#include
#include
#include
GUICreate("UserCreate Version 1.0", 250, 150)
GUISetState(@SW_SHOW)
GUICTRLCreateLabel("Tabelle mit Schülerdaten", 65,90,200,25)
$TabelleSource = GUICtrlCreateButton("Auswählen", 65, 120, 125, 25)
GUICtrlCreateLabel("Angepasste Tablle (Speicherort waehlen)",45,20,250,25)
$TabelleTarget = GUICtrlCreateButton("Auswählen", 65, 50, 125, 25)
Do
$msg = GUIGetMsg()
If $msg = $TabelleTarget Then
$Filesave = FileOpenDialog("Speichern der Tabellen Datei", "C:\", "Tabellen-Datei (*.csv)", 2, "Tabelle.csv")
FileWriteLine("" & $Filesave & "", "Name,NameDomain,Passwort" & @CRLF)
Endif
If $msg = $TabelleSource Then
$FileOpen = FileOpenDialog("Öffnen der Tabellen Datei", "C:\", "Tabellen-Datei (*.csv)", 2, "Tabelle.csv")
$FileRead = FileRead("" & $FileOpen & "")
FileWrite("" & $FileOpen &"", ",")
$StringSplit = StringSplit("" & $FileRead & "", ",")
[/autoit] [autoit][/autoit] [autoit]Do
$VornameFeld = 4
$NachnameFeld = 5
$VornameAnfang = StringLeft($Stringsplit[$VornameFeld], 1)
$Nachname = StringTrimLeft($Stringsplit[$NachnameFeld], 6)
FileOpen("" & $Filesave & "", 2)
Filewrite("" & $Filesave & "","" & $VornameAnfang &"")
FileWrite("" & $Filesave & "","" & $Nachname &"")
FileClose("" & $Filesave & "")
$VornameFeld = $VornameFeld + 3
$NachnameFeld = $NachnameFeld + 3
msgbox(64,"Test:", $VornameAnfang)
msgbox(64,"Test:", $Nachname)
Until $VornameFeld = 7
Endif
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Until $msg = $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit][/autoit]Wie man im bisherigen Skript sieht wollte ich ersteinmal die ersten beiden User in die zweite Tabelle schreiben, mein Lösungsweg ist bestimmt nicht optimal bzw. es gibt wohl einen besseren.
Ich wäre erstmal froh wenn durch ausführen des Skriptes die Spalten namen (Name,NameDomain,Passwort) erhalten bleiben würden und zumindestens unter der Spalte Name die ganzen User Daten stehen würden.
Ich hoffe mir kann hier bei meinen Problem geholfen werden, falls noch fragen bestehen dann schießt los und ansonsten bedanke ich mich schon einmal sehr für eure Hilfe.
Mfg
Timsk