echo off REM REM Prior to ESX Update 2, the commands in this script need to be REM transfered to: REM REM %systemroot%\pre-freeze-script.bat REM REM For ESX Update 2, copy: REM REM %Programfiles%\Symantec\Backup Exec\BE VSS Provider\freeze.bat REM REM to the following ESX folder: REM REM %Programfiles%\VMware\VMware Tools\backupscripts.d REM REM Example: REM copy "%Programfiles%\Symantec\Backup Exec\BE VSS Provider\freeze.bat" "%Programfiles%\VMware\VMware Tools\backupscripts.d" REM REM The paths listed may not be the same on your system. Verify all paths REM before using the commands in this script. REM REM First detect if VMware Tools VSS provider is installed and if it is do NOT run our provider. Create the key to be looked at on the media server REM REM Added in to protect against double provider calls by VMware Tools introduced in vSphere 5.0. IF "%1" == "all" GOTO BEGIN_PROCESSING IF "%1" == "freeze" GOTO DONE :BEGIN_PROCESSING IF EXIST "%ProgramFiles%\VMware\VMware Tools\Drivers\vss\VCBRequestor.dll" ( reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BeVssProviderConflict" /f exit 0 ) IF EXIST "%ProgramFiles%\VMware\VMware Tools\Drivers\vss\VCBSnapshotProviderr.dll" ( reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BeVssProviderConflict" /f exit 0 ) FOR /F "tokens=2*" %%a in ('REG QUERY "HKLM\Software\VMware, Inc.\VMware Tools" /v "InstallPath" ^|FINDSTR "InstallPath"') DO ( IF EXIST "%%bDrivers\vss\VCBRequestor.dll" ( reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BeVssProviderConflict" /f exit 0 ) IF EXIST "%%bDrivers\vss\VCBSnapshotProvider.dll" ( reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BeVssProviderConflict" /f exit 0 ) ) reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BeVssProviderConflict" if %errorlevel% == 0 ( reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BeVssProviderConflict" /f ) REM DO NOT MOVE THIS LINE reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce" /f /v "SymcProviderCleanup" /d "%systemroot%\post-thaw-script.bat" setlocal enabledelayedexpansion SET ProdID=BackupExec reg query HKLM\Software\Veritas\NetBackup\CurrentVersion\ /v VERSION if %errorlevel% == 0 ( SET ProdID=NetBackup ) IF [!ProdID!] == [NetBackup] ( REM check whether we should perform a full or a copy backup setlocal enabledelayedexpansion SET VMBackupType= SET SkipSQL= SET SkipExReplica=-skipExReplica SET ExcludeList= FOR /F "tokens=2*" %%a in ('REG QUERY "HKLM\Software\Veritas\NetBackup\CurrentVersion\Agents" /v "VM_BackupType" ^|FINDSTR "VM_BackupType"') DO SET VMBackupType=-%%b FOR /F "tokens=2*" %%a in ('REG QUERY "HKLM\Software\Veritas\NetBackup\CurrentVersion\Agents" /v "ExcludeList" ^|FINDSTR "ExcludeList"') DO ( IF [%%b] == [Y] (SET ExcludeList=-ExcludeList) ) FOR /F "tokens=2*" %%a in ('REG QUERY "HKLM\Software\Veritas\NetBackup\CurrentVersion\Agents" /v "VM_SharePointSQL" ^|FINDSTR "VM_SharePointSQL"') DO ( IF [%%b] == [Y] (SET SkipSQL=) ) FOR /F "tokens=2*" %%a in ('REG QUERY "HKLM\Software\Veritas\NetBackup\CurrentVersion\Agents" /v "VM_SkipExReplica" ^|FINDSTR "VM_SkipExReplica"') DO ( IF [%%b] == [N] (SET SkipExReplica=) ) IF EXIST "%Programfiles%\Symantec\Backup Exec\BE VSS Provider\BeVssRequestor.exe" ( "%Programfiles%\Symantec\Backup Exec\BE VSS Provider\BeVssRequestor.exe" -pre2 -logscreen !SkipExReplica! !SkipSQL! !VMBackupType! !ExcludeList! ) ELSE IF EXIST "%BATDIR%\BeVssRequestor.exe" ( "%BATDIR%\BeVssRequestor.exe" -pre2 -logscreen !SkipExReplica! !SkipSQL! !VMBackupType! !ExcludeList! ) REM End of NetBackup section goto DONE ) IF EXIST "%Programfiles%\Symantec\Backup Exec\BE VSS Provider\BeVssRequestor.exe" ( "%Programfiles%\Symantec\Backup Exec\BE VSS Provider\BeVssRequestor.exe" -pre2 -logscreen ) ELSE IF EXIST "%BATDIR%\BeVssRequestor.exe" ( "%BATDIR%\BeVssRequestor.exe" -pre2 -logscreen ) ELSE IF EXIST "%Programfiles%\Symantec\Backup Exec\RAWS\VSS Provider\BeVssRequestor.exe" ( "%Programfiles%\Symantec\Backup Exec\RAWS\VSS Provider\BeVssRequestor.exe" -pre2 -logscreen ) ELSE IF EXIST "%systemdrive%\Program Files\Symantec\Backup Exec\RAWS\VSS Provider\BeVssRequestor.exe" ( "%systemdrive%\Program Files\Symantec\Backup Exec\RAWS\VSS Provider\BeVssRequestor.exe" -pre2 -logscreen ) ELSE ( FOR /F "tokens=2*" %%a in ('REG QUERY "HKLM\Software\Symantec\Backup Exec For Windows\Remote Agent for Windows Servers\Install" /v "Path" ^|FINDSTR "Path"') DO "%%b\VSS Provider\BeVssRequestor.exe" -pre2 -logscreen ) ) :DONE