Q. How do I rename the server / share information in a logon script?

In tip 4600, I explained how Windows 2000 and Windows XP stores the information about a renamed mapped drive.

If you wish to map and rename in a logon script, use RenUse.bat. The syntax is:

RenUse "New Name" DriveLetter: \\ComputerName\ShareName \[Options\]

where:

"New Name" will display as New Name (DriveLetter:).
DriveLetter: is the drive letter you are mapping. Previous mappings will be replaced.
\\ComputerName\ShareName is the standard net use syntax.
\[Options\] are any additional net use switches that you want.

Processing and Requirements

Windows NT, Windows 9X, Windows ME

"New Name" is ignored, even though it is a required parameter.

Any previous DriveLetter: mapping is deleted and DriveLetter: is mapped to the \\ComputerName\ShareName \[Options\].

Windows 2000

The Windows 2000 Resource Kit REG.EXE program is required for writing New Name to the registry.

The conversion of New Name to Unicode takes a few seconds, more if New Name is long.

Windows XP

REG.EXE is installed when Windows XP is installed.

Windows 2000 and Windows XP

The client must have permission to write their own registry hive.

Any previous DriveLetter: mapping is deleted and DriveLetter: is mapped to the \\ComputerName\ShareName \[Options\].

The following characters may NOT be used in New Name:

" % & : ;  ^ | ~
RenUse.bat contains:
@echo off
setlocal
if \{%3\}

\{\} @echo Syntax: RenUse Name Drive: Server\Share \[Options\] &goto done if not "%OS%"

"Windows_NT" goto W9x set arg=%1 set arg=%arg:"=% set drive=%2 set drivel=%drive:~0,1% if "%drivel%:" NEQ "%drive%" @echo Syntax: RenUse Name Drive: Server\Share \[Options\] &goto done for /f "Tokens=5,6 Delims=\[. " %%i in ('ver') do @set osv=%%i.%%j if "%osv:~0,3%" LSS "5.0" goto w9x if "%osv:~0,3%" GTR "5.0" goto wxp set uni=!21#23$24'27(28)29*2A+2B,2C-2D.2E/[email protected]9J4AK4BL4CM4DN4EO4FP50Q51R52S53T54U55V56W57X58Y59Z5A\[5B\5C\]5D_5F`60a61b62c63d64e65f66g67h68i69j6Ak6Bl6Cm6Dn6Eo6Fp70q71r72s73t74u75v76w77x78y79z7A\{7B\}7D~20~20 set cachefill=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000## set cache= set /a cachecnt=0 if exist %drive% net use %drive% /D>nul 2>&1 net use %drive% %3 %4 %5 %6 %7 %8>nul 2>&1 set arg=%arg: =~% set file=%TEMP%\Renuse.tmp set file="%file:"=%" if exist %file% del /q %file% for /l %%i in (0,3,249) do call :build %%i set /a cnt=0 goto :parse :build for /f "Tokens=*" %%j in ('@echo %%uni:~%1^,3%%') do @echo %%j>>%file% goto :EOF :parse for /f "Tokens=*" %%n in ('@echo %%arg:~%cnt%^,1%%') do set char=%%n if "%char%" EQU "ECHO is on." goto end set /a cnt=%cnt% + 1 for /f "Tokens=*" %%t in ('findstr /B /L /C:%char% %file%') do set unit="%%t" if %unit% EQU "" set unit="~20" set cache=%cache%%unit:~2,2%00 set /a cachecnt=%cachecnt% + 4 set cachefill=%cachefill:0000##=##% if %cachecnt% GEQ 128 goto end goto parse :wxp if exist %drive% net use %drive% /D>nul 2>&1 set key=%3 set key=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\%key:\=#% reg ADD %key% /v _LabelFromReg /d "%arg%" /f>nul 2>&1 :wxpqry reg QUERY %key% /v _LabelFromReg>nul 2>&1 if %ERRORLEVEL% EQU 1 goto :wxpqry net use %drive% %3 %4 %5 %6 %7 %8>nul 2>&1 endlocal goto :EOF :w9x if exist %2 net use %2 /D>nul 2>&1 net use %2 %3 %4 %5 %6 %7 %8>nul 2>&1 endlocal goto :EOF :end set cachefill=%cachefill:##=% set cache=%cache%%cachefill% :query set key=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints\%drivel%\_LabelFromReg reg QUERY %key% /v Cache>nul 2>&1 if %ERRORLEVEL% EQU 1 goto :query reg QUERY %key% /v Version>nul 2>&1 if %ERRORLEVEL% EQU 1 goto :query reg ADD %key% /v Cache /t REG_BINARY /d %cache% /f>nul 2>&1 reg ADD %key% /v Version /t REG_DWORD /d 3 /f>nul 2>&1 :done Endlocal
See tip 4602 ยป How do I automatically rename a mapped drive to the share name?


Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish