Using RMTShare.exe, I have scripted SharePerms.bat to list the shares and permission on a 'server'.

The syntax for using SharePerms.bat is:

SharePerms ServerName

Where ServerName is the computer name of any computer that hosts one or more shares.

The ouptut is displayed in the CMD window and will look similar to:

"\\jsi001\print$" "\Everyone" "READ"
"\\jsi001\print$" "BUILTIN\Administrators" "FULL CONTROL"
"\\jsi001\JSI007Bkp" "\Everyone" "CHANGE"
"\\jsi001\Fax" "\Everyone" "READ"
"\\jsi001\Fax" "JSIINC\Domain Admins" "FULL CONTROL"
"\\jsi001\Fax" "BUILTIN\Print Operators" "FULL CONTROL"
"\\jsi001\Fax" "BUILTIN\Server Operators" "FULL CONTROL"
You can pipe the output to a file using the following syntax:

SharePerms ServerName >FileName

You can use the output in subsequent commands, as in:

for /f "Tokens=*" %%i in ('SharePerms ServerName') do SomeCommand %%i

SharePerms.bat contains:

@echo off
if \{%1\}==\{\} @echo Syntax SharePerms ServerName&goto :EOF
setlocal
set server=%1
set server=%server:\=%
for /f "Skip=4 Tokens=*" %%s in ('rmtshare \\%server%') do (
 if /i "%%s" NEQ "The command completed successfully." set line=%%s&call :parses
)
endlocal
goto :EOF
:parses
set work=%line:  =#%
set /a cnt=0
set share=
:ploop
call set char=%%work:~%cnt%^,1%%
if "%char%" EQU "#" goto getshare
if "%char%" EQU ":" goto fixshare
set share=%share%%char%
set /a cnt=%cnt% + 1
if %cnt% LSS 65 goto ploop
goto :EOF
:fixshare
set /a cnt=%cnt% - 2
call set share=%%share:~0,%cnt%%%
:getshare
set Perm=N
for /f "Skip=3 Tokens=*" %%p in ('rmtshare \\%server%\"%share%"') do set line=%%p&call :parsep
goto :EOF
:parsep
if /i "%line%" EQU "The command completed successfully." goto :EOF
if "%Perm%" EQU "Y" goto parsep1
if /i "%line%" EQU "Permissions:" set Perm=Y
goto :EOF
:parsep1
for /f "Tokens=1* Delims=:" %%a in ('@echo %line%') do set who=%%a#&set what=#%%b
set who=%who: #=%
set who=%who:#=%
set what=%what:# =%
set what=%what:#=%
@echo "\\%server%\%share%" "%who%" "%what%"