Det næste blever vel at sætte fil sikkerhed på de oprettede folders. Det gør dette script.
Brugeren får Change (C)
Administrators får Full Control (F)
strOptinalSecurityGroup, hvis defineret, får Full Control (F)
Du kan rette linien:
Const strOptinalSecurityGroup = ""
til
Const strOptinalSecurityGroup = "Futte"
Hvor Futte er en bruger eller en sikkerheds gruppe, denne bruger/gruppe får får Full Control (F)
Skal det kun være Change (C) så ret linien
'***** Script start *****
Const FtpRoot = "C:\FTP"
Const strOptinalSecurityGroup = ""
Const strInputFile = "Brugere.csv"
Const BrugerNavn = 0
Const FuldtNavn = 2
Const ForReading = 1
strResponse = MsgBox ("Start oprettelsen af FTP Virtual Directories ", 36, "FTP Virtual Directories")
If strResponse <> 6 then WScript.Quit
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oUserList = oFSO.OpenTextFile (strInputFile, ForReading)
Counter = 0
Set oSite = GetObject("
IIS://localhost/MSFTPSVC/1/root")
Set WshNetwork = CreateObject("WScript.Network")
Do Until oUserList.AtEndOfStream
strNextLine = oUserList.Readline
arrUserList = Split(strNextLine , ";")
If Len(arrUserList(BrugerNavn)) > 0 Then
Call CreateFolder(FtpRoot & "\" & arrUserList(FuldtNavn), arrUserList(BrugerNavn))
Set oVDir = oSite.Create("IIsFtpVirtualDir", arrUserList(BrugerNavn))
oVDir.Path = FtpRoot & "\" & arrUserList(FuldtNavn)
oVDir.AccessRead = True
oVDir.AccessWrite = True
oVDir.SetInfo
Counter = Counter + 1
End If
Loop
oUserList.Close
strMessage = "Der er oprettet " & Counter & " FTP Virtual Directories. " & Chr(13) & Chr(13)
strResponse = MsgBox (strMessage, 64, "FTP Virtual Directories")
Sub CreateFolder(FolderName, strUser)
arrNewFolder = Split(FolderName, "\")
strNewFolder = arrNewFolder(0) & "\"
Set oFileSystem = CreateObject("Scripting.FileSystemObject")
For I = 1 To UBound(arrNewFolder)
strNewFolder = strNewFolder & arrNewFolder(I) & "\"
if Not oFileSystem.FolderExists(strNewFolder) Then
Set NewFolder = oFileSystem.CreateFolder(strNewFolder)
End if
Next
strCommand = "cmd /c echo Y|Cacls " & Chr(34) & FolderName & Chr(34) & " /P " & strUser & ":C Administrators:F"
If Len(strOptinalSecurityGroup) > 0 Then
strCommand = strCommand & " " & Chr(34) & strOptinalSecurityGroup & Chr(34) & ":F"
End If
Set WshShell = WScript.CreateObject("WScript.Shell")
errReturn = WshShell.Run(strCommand, 7, true)
End Sub
'***** Script slut *****