hibbert
Goto Top

Windows Server 2003 Ordnerberechtigung

Konsolenbefehle

Hi,
ich habe gerade einen Windows Server 2003 eingereichtet. Nun soll ich knapp 200 User einrichten. Die Uswer kann ich schon über ie Konsole anlegen, dafür habe ich schon ein kleines Programm geschrieben.

Nun möchte ich gerne über die Konsole vom Server Ordner in einem Bestimmten Verzeichnis anlegen.

Nachdem(!) die Ordner angelegt wurden, sollen die Ordner im Netzwerk freigegeben werden und folgende Rechte sollen enthalten sein:

? Der User "Jeder" User" soll keine Rechte haben
? Der User "Administrator" soll Vollzugrigff haben
? Der User "XYZ" soll Vollzugriff haben

Kann ich das über die Windows Konsole machen, wenn ja, wie ?

thx hibbert

Content-Key: 16617

Url: https://administrator.de/contentid/16617

Printed on: April 24, 2024 at 22:04 o'clock

Member: gemini
gemini Sep 23, 2005 at 17:32:47 (UTC)
Goto Top
' Ein überarbeitetes Beispiel aus dem Scriptcenter
' Erzeugt den Ordner C:\Finance und gibt ihn als 'FinanceShare' frei,
' gibt eine Beschreibung 'Public share for the Finance group.' an
' und begrenzt die Verbindungen auf 25
Const FILE_SHARE = 0
Const MAXIMUM_CONNECTIONS = 25
Const strAclF = "F"
Const strAdmin = "Administrator"
Const strJeder = "Jeder"
strDir = "C:\Finance"
strComputer = "<<a>computername<a>>"
strUserName = "XYZ"

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objItem = objFSO.CreateFolder(strDir)
Set objNewShare = objWMIService.Get("Win32_Share")
Set WshShell = Wscript.CreateObject("Wscript.Shell")

errReturn = objNewShare.Create("C:\Finance", "FinanceShare", FILE_SHARE, MAXIMUM_CONNECTIONS, "Public share for the Finance group.")

'~~~~~~~~~~~~~~~~~~~~~
' Für die Rechte
' Hilfe zu den cacls Parametern: cmd > cacls /?
If Right(strDir, 1) = "\" Then strDir = Left(strDir, Len(strDir) -1)
WshShell.Run("cacls " & strDir & " /T /E /P " & strAdmin & ":" & strAclF)
WshShell.Run("cacls " & strDir & " /T /E /P " & strUserName & ":" & strAclF)
WshShell.Run("cacls " & strDir & " /T /E /R " & strJeder)
If Not Right(strDir, 1) = "\" Then strDir = strDir & "\"


Das ganze musst du halt noch in eine Schleife einbauen.
Ist nicht schön ausprogrammiert, funktioniert aber.