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

Jerold Schulman

December 23, 2001

2 Min Read
ITPro Today logo in a gray background | ITPro Today

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: \ComputerNameShareName [Options]

where:

"New Name"

will display as New Name (DriveLetter:).

DriveLetter:

is the drive letter you are mapping. Previous mappings will be replaced.

\ComputerNameShareName

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 \ComputerNameShareName [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 \ComputerNameShareName [Options].

The following characters may NOT be used in New Name:

" % & : ;  ^ | ~

RenUse.bat contains:

@echo offsetlocalif {%3}
<h1><a name="_echo_Syntax_RenUse_Name_Drive_Server_Share_Options_amp_goto_done_if_not_OS_" id="_echo_Syntax_RenUse_Name_Drive_Server_Share_Options_amp_goto_done_if_not_OS_">{} @echo Syntax: RenUse Name Drive: ServerShare [Options] &amp;goto doneif not "%OS%"</a></h1>
"Windows_NT" goto W9xset arg=%1set arg=%arg:"=%set drive=%2set drivel=%drive:~0,1%if "%drivel%:" NEQ "%drive%" @echo Syntax: RenUse Name Drive: ServerShare [Options] &goto donefor /f "Tokens=5,6 Delims=[. " %%i in ('ver') do @set osv=%%i.%%jif "%osv:~0,3%" LSS "5.0" goto w9xif "%osv:~0,3%" GTR "5.0" goto wxpset uni=!21#23$24'27(28)29*2A+2B,2C-2D.2E/2F030131232333434535636737838939?3F@40A41B42C43D44E45F46G47H48I49J4AK4BL4CM4DN4EO4FP50Q51R52S53T54U55V56W57X58Y59Z5A[5B5C]5D_5F`60a61b62c63d64e65f66g67h68i69j6Ak6Bl6Cm6Dn6Eo6Fp70q71r72s73t74u75v76w77x78y79z7A{7B}7D~20~20set cachefill=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000##set cache=set /a cachecnt=0if exist %drive% net use %drive% /D>nul 2>&1net use %drive% %3 %4 %5 %6 %7 %8>nul 2>&1set arg=%arg: =~%set file=%TEMP%Renuse.tmpset file="%file:"=%"if exist %file% del /q %file%for /l %%i in (0,3,249) do call :build %%iset /a cnt=0goto :parse:buildfor /f "Tokens=*" %%j in ('@echo %%uni:~%1^,3%%') do @echo %%j>>%file%goto :EOF:parsefor /f "Tokens=*" %%n in ('@echo %%arg:~%cnt%^,1%%') do set char=%%nif "%char%" EQU "ECHO is on." goto endset /a cnt=%cnt% + 1for /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%00set /a cachecnt=%cachecnt% + 4set cachefill=%cachefill:0000##=##%if %cachecnt% GEQ 128 goto endgoto parse:wxpif exist %drive% net use %drive% /D>nul 2>&1set key=%3set key=HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2%key:=#%reg ADD %key% /v _LabelFromReg /d "%arg%" /f>nul 2>&1:wxpqryreg QUERY %key% /v _LabelFromReg>nul 2>&1if %ERRORLEVEL% EQU 1 goto :wxpqrynet use %drive% %3 %4 %5 %6 %7 %8>nul 2>&1endlocalgoto :EOF:w9xif exist %2 net use %2 /D>nul 2>&1net use %2 %3 %4 %5 %6 %7 %8>nul 2>&1endlocalgoto :EOF:endset cachefill=%cachefill:##=%set cache=%cache%%cachefill%:queryset key=HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints%drivel%_LabelFromRegreg QUERY %key% /v Cache>nul 2>&1if %ERRORLEVEL% EQU 1 goto :queryreg QUERY %key% /v Version>nul 2>&1if %ERRORLEVEL% EQU 1 goto :queryreg ADD %key% /v Cache /t REG_BINARY /d %cache% /f>nul 2>&1reg ADD %key% /v Version /t REG_DWORD /d 3 /f>nul 2>&1:doneEndlocal

See tip 4602 How do I automatically rename a mapped drive to the share name?


Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like