• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 555
  • Last Modified:

List FTP Virtual Directories Permissions in IIS 6.0

Hi Experts,

I need a vbscript to list all the users in the permissions tab from the ftp virtual directories regarding all the FTP sites in a server.

Bellow is a test but I cannot list the permissions and view the users that are configured in the permissions tab.
strComputer = "."
Const ForReading = 1
Const ForAppending = 8

Set objFS = CreateObject("Scripting.FileSystemObject")

If (objFS.FileExists("c:\userssite.txt")) Then

	Set filewrite=objFS.GetFile ("c:\userssite.txt")
	
	
End If


'Open output file  

Set objFSO2 = CreateObject("Scripting.FileSystemObject")
Set objTextFile2 = objFSO2.OpenTextFile _
    ("c:\userssite.txt", ForAppending, True)
    
Set objWMIService = GetObject _
    ("winmgmts:{authenticationLevel=pktPrivacy}\\" _
        & strComputer & "\root\microsoftiisv2")

Set colItems = objWMIService.ExecQuery _
    ("Select * from IIsFtpVirtualDirSetting")
	  
			
	For Each objItem in colItems
		objTextFile2.WriteLine("Access Execute: " & objItem.AccessExecute & vbCrLf & "Access Flags: " & objItem.AccessFlags & "Access No Physical Directory: " & objItem.AccessNoPhysicalDir & vbCrLf & "Access No Remote Execute: " & objItem.AccessNoRemoteExecute & vbCrLf & "Access No Remote Execute: " & objItem.AccessNoRemoteExecute & vbCrLf & "Access No Remote Script: " & _
	        objItem.AccessNoRemoteScript & vbCrLf & "Access Read: " & objItem.AccessRead & vbCrLf & "Access Script: " & objItem.AccessScript & vbCrLf &  "Access Source: " & objItem.AccessSource & vbCrLf & "Access Source: " & _
		objItem.AccessSource & vbCrLf & "Access Source: " & objItem.AccessSource & vbCrLf & "Access Write: " & objItem.AccessWrite & vbCrLf & "Name: " & objItem.Name & vbCrLf & "Path: " & _
		objItem.Path & vbCrLf & "Path: " & objItem.Path)
	Next
				
	objTextFile2.WriteLine("")    

          
	MsgBox "Finished " & strOutputFile



' List FTP Site Security Account Properties

Open in new window

0
pcfreaker
Asked:
pcfreaker
1 Solution
 
Brad HoweCommented:
Does it need to be vbs? I have a BAT that does just that.

enum.bat
 @echo off

 set source=D:\Inetpub\ftproot
 set target=d:\%Permissions%.txt

 echo Compiling a directory listing
 dir /b /ad /s "%source%" > d:\tempenum.txt

 echo %date% at %time:~0,5% > %target%
echo List of access rights >> %target%
echo ==================== >> %target%
 for /F "tokens=*" %%* in (d:\tempenum.txt) do (
 echo Processing %%*
 cacls "%%*" >> %target%
 )
del d:\tempenum.txt
notepad %target%


Sample output
Fri 05/06/2011 at  7:16
List of access rights
====================
..
D:\Inetpub\ftproot\LocalUser\ftpuser_printsvcs\BUMU BUILTIN\Administrators:(OI)(CI)F
                                                                       SERVER\ftpuser_printsvcs:(OI)(CI)(special access:)

                                                                                                              READ_CONTROL
                                                                                                              SYNCHRONIZE
                                                                                                              FILE_GENERIC_READ
                                                                                                              FILE_GENERIC_WRITE
                                                                                                              FILE_GENERIC_EXECUTE
                                                                                                              FILE_READ_DATA
                                                                                                              FILE_WRITE_DATA
                                                                                                              FILE_APPEND_DATA
                                                                                                              FILE_READ_EA
                                                                                                              FILE_WRITE_EA
                                                                                                              FILE_EXECUTE
                                                                                                              FILE_READ_ATTRIBUTES
                                                                                                              FILE_WRITE_ATTRIBUTES
                                                                       DOMAIN\USER1:(OI)(CI)F
                                                                       DOMAIN\USER2:(OI)(CI)F

D:\Inetpub\ftproot\NA\Public BUILTIN\Administrators:F
                                                             BUILTIN\Administrators:(OI)(CI)(IO)F
                                                             NT AUTHORITY\SYSTEM:F
                                                             NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F
                                                             NT AUTHORITY\Authenticated Users:C
                                                             NT AUTHORITY\Authenticated Users:(OI)(CI)(IO)C
                                                             BUILTIN\Users:R
                                                             BUILTIN\Users:(OI)(CI)(IO)(special access:)

                                                                                       GENERIC_READ
                                                                                       GENERIC_EXECUTE
...
....
......

CACLS Abbreviations:
   CI - Container Inherit.
        The ACE will be inherited by directories.
   OI - Object Inherit.
        The ACE will be inherited by files.
   IO - Inherit Only.
        The ACE does not apply to the current file/directory.


Cheers,
Hades666
0

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now