Jump to content

Batch (Kixtart) - User aus Text-File auslesen ?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

ich hänge an dem Problem fest über eine Batch Homeverzeichnisse zu erstellen.

Der Admin soll mittels dieser Batch (KixTart) alle User der Domäne (AD) abfragen, ob das Homeverzeichnis schon existiert. Wenn nicht dann anlegen. Die komplexe Userliste liegt als txt-File (Zeilenweise) vor.

 

Mein Problem ist nun die User aus dem Text-File Zeile für Zeile auszulesen und dann den Ordner (Homeverzeichnis) zu erstellen! Kann mir da bitte jemand helfen...

 

Lieben Gruß Cappuccino

Link zu diesem Kommentar

http://support.microsoft.com/default.aspx?scid=kb;en-us;234746 könnte da helfen.

 

Das Beispiel macht das ganze nicht mit einem Textfile, sondern mit den existierenden Benutzern im AD. Folgender Code wird dort virgeschlagen:

 

Sub GetParentDir
 ParentDir = InputBox("Type the path of the parent folder for the user folders:", "Parent Directory Input Prompt", ParentDir)
 If Not FS.FolderExists(ParentDir) Then
   GetParentDir
 End If
End Sub

Dim WSHNetwork, WSHShell, FS, Domain, DomainObj, Computer, ShareServiceObj, ParentDir, Hidden, Drive
Set FS = CreateObject("Scripting.FileSystemObject")
Set WSHNetwork = CreateObject("WScript.Network")
Set ShareServiceObj = GetObject("WinNT://" & WSHNetwork.ComputerName & "/LanManServer")

Domain = InputBox("Type the name of your domain:","Enumeration and Creation of User Shares","DomainName")
ParentDir = "C:\Users"
GetParentDir
Hidden = MsgBox("Do you want the user shares to be hidden? If yes, the share will be username$; If no, the share will be username", 4, "Hidden Shares?")
Hidden = Hidden - 7
Drive = InputBox("What drive letter do you want to map the home folder to?", "Drive Letter?", "X:")
Set DomainObj = GetObject("WinNT://" & Domain)
DomainObj.Filter = Array("User")

For Each UserObj in DomainObj
 Dim ShareName
 If Not FS.FolderExists(ParentDir & "\" & UserObj.Name) Then
   FS.CreateFolder(ParentDir & "\" & UserObj.Name)
 End If
 ShareName = UserObj.Name
 If Hidden Then
   ShareName = ShareName & "$"
 End If
 On Error Resume Next
 Set NewShare = ShareServiceObj.Create("fileshare", ShareName)
 If Not Err Then
   NewShare.Path = ParentDir & "\" & UserObj.Name
   NewShare.MaxUserCount = 1 'Sets the limit for the number of user connections
   NewShare.SetInfo
   UserObj.HomeDirectory = "\\" & WSHNetwork.ComputerName & "\" & ShareName
   UserObj.HomeDirDrive = Drive 'Requires ADSI 2.5
   UserObj.SetInfo
 End If
Next

MsgBox "Script Complete",, "Finished"

Link zu diesem Kommentar

Vielen Dank, phrator!

 

werde ich gleich mal durchgehen...

 

Wüsste aber dennoch gerne einen Ansatz für das auslesen von User'n aus einem TextFile den ich autom. mit "DumpSec" erstelle, da das ADS sehr verschachtelt ist! Die Text-Strktur ist:

 

UserName FullName Commands

 

Für jeden Ansatz wäre ich super Dankbar!

 

Lieben Gruß Cappuccino

:wink2:

Link zu diesem Kommentar

Dim fso, f, Zeile, Feld
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile ("user.txt",1,0)

Do while not f.AtEndOfLine
Zeile = f.readLine
Feld = split(Zeile,",")
Benutzer = Feld(0)
Vorname = Feld(1)
Nachname = Feld(2)
Passwort = Feld(2)
Call BenuntzerAnlegen(Benutzer,Vorname,Nachname,Passwort)
Loop
f.Close
Wscript.Quit(0)

 

Trennzeichen ist hier das , (Komma - bei split).

 

siehe auch http://www.mcseboard.de/showthread.php?threadid=13316

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...