Using information and techniques from tips
0034 and
1087,
I have scripted Persistent.bat to generate a CSV file of a users persistent shares.
The CSV file contains "Device","\\ServerName\ShareName".
The syntax for using Persistent.bat is:
Persistent CSV_Folder
where CSV_Folder can be a local folder or a network share. The actual file is "CSV_Folder\UserName.CSV".
NOTE: If you wish to run Persistent.bat for all your users, place a call persistent CSV_Folder in your logon script.
Persistent.bat contains:
@echo off setlocal if \{%1\}==\{\} goto Syntax if not exist %1\*.* goto Syntax set folder=%1 set folder=%folder:"=% set /a cntrpt=0 if exist "%folder%\%UserName%.csv" del /q "%folder%\%UserName%.csv" regedit /a "%temp%\Persistent.reg" "HKEY_CURRENT_USER\Network" for /f "Skip=3 Tokens=1* Delims=\\]=" %%a in ('type "%temp%\Persistent.reg"') do set p1=%%a&set p2=%%b&call :report set rmt="%rmt:\\=\%" set rmt="%rmt:"=%" if defined dvc set /a cntrpt=%cntrpt% + 1&@echo "%dvc%",%rmt%>>"%folder%\%UserName%.csv" if exist "%temp%\Persistent.reg" del /q "%temp%\Persistent.reg" @echo %UserName% has %cntrpt% report lines. endlocal goto :EOF :Syntax @echo Syntax: Persistent ReportFolder endlocal goto :EOF :report set p1=%p1:"=% if "%p1:~0,1%" EQU "\[" goto new if /i "%p1%" EQU "RemotePath" set rmt=%p2% goto :EOF :new set rmt="%rmt:\\=\%" set rmt="%rmt:"=%" if defined dvc set /a cntrpt=%cntrpt% + 1&@echo "%dvc%",%rmt%>>"%folder%\%UserName%.csv" set rmt= set dvc=%p2% set dvc=%dvc:\]=% set dvc=%dvc:Network\=%
0 comments
Hide comments