The IFS provides access to the Exchange 2000 information store through Win32 file system APIs. The Exchange 2000 IFS supports the \\.\backofficestorage\ namespace. For compatibility and convenience, Exchange 2000 also supports a normal drive namespace, by default M:\. The IFS was introduced in Exchange 2000 as a way to access the Exchange 2000 information store by using the standard file system interface.
However, in some situations, you may experience issues when you use the IFS. Because of these issues, Microsoft recommends that you remove the drive M mapping to the IFS, unless you are using the IFS for specific reasons. The \\.\backofficestorage\ namespace remains available even when you remove drive M or other drive letter mappings.
Some reasons to keep the IFS mapping in place are:
- If you use Microsoft FrontPage Extensions for Web Storage System Forms.
- For development using the drive M mapping.
- If you use Microsoft Internet Explorer to search drive M as a file system.
To remove the drive M mapping, use the script that is provided in this article. This script will automatically update the Outlook Web Access virtual directories to use the \\.\BackOfficeStorage path.
Create the Drive M removal script
To create the drive M removal script:- Start a text editor (such as Microsoft Notepad), and then copy and paste the following script text into the editor:
@setlocal @if "%1"=="" goto usage @if "%1"=="/?" goto usage @if "%1"=="-?" goto usage @rem Parameter is either a drive letter, or "none" @rem check for presence of adsutil.vbs @set adu=%systemdrive%\inetpub\adminscripts\adsutil.vbs @if exist %adu% goto stopsrv @echo This tool requires %adu% from the IIS scripts. @goto fail :stopsrv @rem Record what Exchange services are currently running @echo off @set StartSA=0 @set StartIS=0 @set StartMTA=0 @set StartWWW=0 For /f "delims=" %%a in ('net start') do if "%%a" == " Microsoft Exchange System Attendant" set StartSA=1 For /f "delims=" %%a in ('net start') do if "%%a" == " Microsoft Exchange Information Store" set StartIS=1 For /f "delims=" %%a in ('net start') do if "%%a" == " Microsoft Exchange MTA Stacks" set StartMTA=1 For /f "delims=" %%a in ('net start') do if "%%a" == " World Wide Web Publishing Service" set StartWWW=1 @echo on @echo Stopping Exchange services... net stop msexchangesa /y @echo Stopping Web services... net stop w3svc /y @if "%temp%" == "" set temp="C:\" @set regfile=%temp%\addm.reg @echo REGEDIT4 > "%regfile%" @if "%1"=="none" goto deldrive @set drive=%1 @set newdrive=%drive:~0,1% @echo Adding %newdrive% drive mapping to the registry... @echo [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EXIFS\Parameters] >> "%regfile%" @echo "DriveLetter"="%newdrive%" >> "%regfile%" @goto doregedit :deldrive @echo removing existing drive letter mapping... For /f "delims=\=>; tokens=1,2*" %%a in ('subst') do ( if /i "%%c" == " BackOfficeStorage" ( subst %%a /d ) ) @echo Removing drive mapping from the registry... @echo [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EXIFS\Parameters] >> "%regfile%" @echo "DriveLetter"="" >> "%regfile%" :doregedit @type %regfile% regedit -s "%regfile%" @if errorlevel 0 goto mb @goto fail :mb @echo Touching the metabase to force update of Exchange virtual roots... cscript %adu% delete /ds2mb/HighWaterMarks @goto restart :restart @echo Restarting services... @if %StartSA%==1 net start "Microsoft Exchange System Attendant" /y @if %StartIS%==1 net start "Microsoft Exchange Information Store" /y @if %StartMTA%==1 net start "Microsoft Exchange MTA Stacks" /y @if %StartWWW%==1 net start w3svc /y @goto done :fail @echo The operation did not succeed. @goto end :done @echo Done. @goto end :usage @echo Usage: ifsdrive ^<drive-letter^> @echo ifsdrive none @echo Modifies or removes the mapping of Exchange storage to a local drive letter. @echo Specify a single letter to map Exchange storage to that drive. @echo Specify "none" (without quotes) to remove the mapping. @goto end :end @if not "%regfile%" == "" del "%regfile%"
- Save the text file with the file name Ifsdrive.cmd.
Run the Drive M removal script
After you create the drive M removal script, you need to run the script from a command prompt on the Exchange 2000 server:- Open a command prompt window, and then change to the folder that you saved the script to.
- At the command prompt, type the following command to remove the drive M mapping:
ifsdrive noneNOTE: To remove the mapping, use the actual word "none."
- As the script runs, the action that it is performing next appears. When the script is finished, "Done" appears as the last line.
NOTE: The script stops and starts the Exchange 2000 message transfer agent (MTA), Exchange 2000 Post Office Protocol version 3 (POP3), Exchange 2000 Internet Message Access Protocol, Version 4rev1 (IMAP4), Exchange 2000 information store, and World Wide Web Publishing services. - If you incorrectly remove the drive M mapping and you need it for one of the reasons listed earlier in this article, type the following command at a command prompt (where drive_letter is the letter of the IFS drive mapping):
ifsdrive drive_letterThe drive_letter is drive M by default, but if the IFS drive mapping was ever changed to a different drive letter, use the new drive letter instead. This script will automatically update the Outlook Web Access "Exchange" and "public" virtual directories to use the specified drive letter.
Source: ExWin32
EventID: 1
Type: Error
Description:
The Exchange IFS failed to map drive: ?:. Please free drive ?: to use Exchange IFS.
EventID: 1
Type: Error
Description:
The Exchange IFS failed to map drive: ?:. Please free drive ?: to use Exchange IFS.
Important You should run this script from the console of the Exchange 2000 Server computer. If this script is run by using a Terminal Server session, the drive mapping may reappear after a few days.