| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Users/SERVERWEB/AppData/Local/Microsoft/OneDrive/26.074.0420.0001/ |
Upload File : |
@echo off
setlocal EnableDelayedExpansion
REM =====================================================================
REM CollectSyncLogsLite.bat - Lightweight OneDrive Log Collection Script
REM =====================================================================
REM This script collects OneDrive diagnostic logs without user prompts.
REM Excludes only security-sensitive files:
REM - Keystore files (*.keystore)
REM - Obfuscation maps (ObfuscationStringMap.txt)
REM
REM Output is saved to %TEMP%\OneDriveLogs to avoid syncing collected logs.
REM =====================================================================
set RETURNCODE=0
set TOTAL_STEPS=6
set CURRENT_STEP=0
REM Output to TEMP folder (neutral, non-synced location)
set OUTPUTDIR=%TEMP%\OneDriveLogs
set DATETIMESUFFIX=%DATE:/=_%_%TIME::=_%
set CABOUTPUT=OneDriveLogs_%DATETIMESUFFIX: =_%.cab
REM -------------------------
REM * CLIENT PATH DISCOVERY *
REM -------------------------
if "%LOCALAPPDATA%"=="" (
set LOCALAPPDATA=%USERPROFILE%\Local Settings\Application Data
)
set CLIENTPATH=%LOCALAPPDATA%\Microsoft\OneDrive
set LEGACY_MACHINE_SETUP_LOGS_PATH=%PROGRAMDATA%\Microsoft OneDrive
set MACHINE_I386_SETUP_LOGS_PATH=%PROGRAMFILES(X86)%\Microsoft OneDrive
set MACHINE_AMD64_SETUP_LOGS_PATH=%ProgramW6432%\Microsoft OneDrive
REM Verify at least one data folder exists
if not exist "%CLIENTPATH%" (
if not exist "%LEGACY_MACHINE_SETUP_LOGS_PATH%" (
if not exist "%MACHINE_I386_SETUP_LOGS_PATH%" (
if not exist "%MACHINE_AMD64_SETUP_LOGS_PATH%" (
echo Error: No OneDrive application data found.
set RETURNCODE=1
goto :Cleanup
)
)
)
)
REM Create output directory
if not exist "%OUTPUTDIR%" mkdir "%OUTPUTDIR%"
REM Create working directory
set WORKINGDIR=%TEMP%\OneDriveLogCollection_%RANDOM%
if exist "%WORKINGDIR%" rd /s /q "%WORKINGDIR%"
mkdir "%WORKINGDIR%"
echo.
echo OneDrive Log Collection (Lite)
echo ==============================
echo.
echo Output will be saved to: %OUTPUTDIR%
echo.
REM -------------------------
REM Step 1: System Information
REM -------------------------
set /a CURRENT_STEP+=1
echo [%CURRENT_STEP%/%TOTAL_STEPS%] Collecting system information...
REM Filter sensitive environment variables
set 2>nul | findstr /V /I "PASSWORD TOKEN SECRET KEY CREDENTIAL AUTH API" > "%WORKINGDIR%\env.txt" 2>nul
tasklist.exe > "%WORKINGDIR%\tasklist.txt" 2>nul
systeminfo.exe > "%WORKINGDIR%\systeminfo.txt" 2>nul
net.exe start > "%WORKINGDIR%\services.txt" 2>nul
REM -------------------------
REM Step 2: OneDrive Logs
REM -------------------------
set /a CURRENT_STEP+=1
echo [%CURRENT_STEP%/%TOTAL_STEPS%] Collecting OneDrive logs...
set WORKINGDIRONEDRIVE=%WORKINGDIR%\OneDrive
mkdir "%WORKINGDIRONEDRIVE%"
REM Exclusion patterns: only exclude security-sensitive files (keystores, obfuscation maps)
set EXCLUDE_FILES=/XF *.keystore ObfuscationStringMap.txt
if exist "%CLIENTPATH%" (
dir /S "%CLIENTPATH%" > "%WORKINGDIRONEDRIVE%\tree.txt" 2>nul
robocopy.exe "%CLIENTPATH%\logs" "%WORKINGDIRONEDRIVE%\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
robocopy.exe "%CLIENTPATH%\setup\logs" "%WORKINGDIRONEDRIVE%\setup\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
)
REM -------------------------
REM Step 3: Setup Logs
REM -------------------------
set /a CURRENT_STEP+=1
echo [%CURRENT_STEP%/%TOTAL_STEPS%] Collecting setup logs...
if exist "%LEGACY_MACHINE_SETUP_LOGS_PATH%" (
robocopy.exe "%LEGACY_MACHINE_SETUP_LOGS_PATH%\setup\logs" "%WORKINGDIRONEDRIVE%\LegacyMachineSetupLogs\setup\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
robocopy.exe "%LEGACY_MACHINE_SETUP_LOGS_PATH%\StandaloneUpdater\logs" "%WORKINGDIRONEDRIVE%\LegacyMachineSetupLogs\StandaloneUpdater\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
robocopy.exe "%LEGACY_MACHINE_SETUP_LOGS_PATH%\UpdaterService\logs" "%WORKINGDIRONEDRIVE%\LegacyMachineSetupLogs\UpdaterService\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
)
if exist "%MACHINE_I386_SETUP_LOGS_PATH%" (
robocopy.exe "%MACHINE_I386_SETUP_LOGS_PATH%\setup\logs" "%WORKINGDIRONEDRIVE%\MachineSetupLogs\setup\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
robocopy.exe "%MACHINE_I386_SETUP_LOGS_PATH%\StandaloneUpdater\logs" "%WORKINGDIRONEDRIVE%\MachineSetupLogs\StandaloneUpdater\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
)
if exist "%MACHINE_AMD64_SETUP_LOGS_PATH%" (
robocopy.exe "%MACHINE_AMD64_SETUP_LOGS_PATH%\setup\logs" "%WORKINGDIRONEDRIVE%\MachineAmd64SetupLogs\setup\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
robocopy.exe "%MACHINE_AMD64_SETUP_LOGS_PATH%\StandaloneUpdater\logs" "%WORKINGDIRONEDRIVE%\MachineAmd64SetupLogs\StandaloneUpdater\logs" /S %EXCLUDE_FILES% /NFL /NDL /NJH /NJS >nul 2>&1
)
REM -------------------------
REM Step 4: Registry Keys
REM -------------------------
set /a CURRENT_STEP+=1
echo [%CURRENT_STEP%/%TOTAL_STEPS%] Collecting registry information...
reg.exe query "HKCU\Software\Microsoft\OneDrive" /s > "%WORKINGDIRONEDRIVE%\reg_OneDriveRegKeys.txt" 2>&1
reg.exe query "HKLM\Software\Microsoft\OneDrive" /s >> "%WORKINGDIRONEDRIVE%\reg_OneDriveRegKeys.txt" 2>&1
reg.exe query "HKLM\Software\Policies\Microsoft\OneDrive" /s > "%WORKINGDIRONEDRIVE%\reg_OneDrivePolicies.txt" 2>&1
reg.exe query "HKCU\Software\Policies\Microsoft\OneDrive" /s >> "%WORKINGDIRONEDRIVE%\reg_OneDrivePolicies.txt" 2>&1
REM -------------------------
REM Step 5: Event Logs
REM -------------------------
set /a CURRENT_STEP+=1
echo [%CURRENT_STEP%/%TOTAL_STEPS%] Exporting event logs...
wevtutil.exe export-log Application "%WORKINGDIR%\Application.evtx" 2>nul
wevtutil.exe export-log System "%WORKINGDIR%\System.evtx" 2>nul
REM -------------------------
REM Step 6: Create CAB
REM -------------------------
set /a CURRENT_STEP+=1
echo [%CURRENT_STEP%/%TOTAL_STEPS%] Creating log archive...
call :CABIT "%WORKINGDIR%"
REM Move CAB to output directory
move /y "%WORKINGDIR%\%CABOUTPUT%" "%OUTPUTDIR%\." >nul 2>&1
if ERRORLEVEL 1 (
echo Error: Failed to move log archive to output directory.
set RETURNCODE=1
goto :Cleanup
)
echo.
echo ==============================
echo Log collection complete!
echo.
echo Logs saved to:
echo %OUTPUTDIR%\%CABOUTPUT%
echo.
REM Open the output directory in File Explorer
explorer.exe "%OUTPUTDIR%"
:Cleanup
REM Clean up working directory
if exist "%WORKINGDIR%" rd /s /q "%WORKINGDIR%" 2>nul
echo Press any key to close...
pause >nul
exit /b %RETURNCODE%
REM =====================================================================
REM CAB Creation Subroutine
REM =====================================================================
:CABIT
set DIRECTIVEFILE=%TEMP%\LogCollectionSchema_%RANDOM%.ddf
set TARGET=%1
set TEMPFILE=%TEMP%\LogCollectionTemp_%RANDOM%.tmp
if not exist %TARGET% (
goto :Return
)
pushd %TARGET%
echo. > %DIRECTIVEFILE%
echo .set CabinetNameTemplate=%CABOUTPUT% >> %DIRECTIVEFILE%
echo .set DiskDirectoryTemplate= >> %DIRECTIVEFILE%
echo .set InfFileName=%TEMPFILE% >> %DIRECTIVEFILE%
echo .set RptFileName=%TEMPFILE% >> %DIRECTIVEFILE%
echo .set MaxDiskSize=0 >> %DIRECTIVEFILE%
echo .set CompressionType=LZX >> %DIRECTIVEFILE%
call :CAB_DIR .
makecab.exe /f %DIRECTIVEFILE% >nul 2>&1
del /f %DIRECTIVEFILE% 2>nul
del /f %TEMPFILE% 2>nul
popd
goto :Return
:CAB_DIR
echo .set DestinationDir=%1 >> %DIRECTIVEFILE%
for /f "tokens=*" %%i in ('dir /b /a:-d %1 2^>nul') do (
echo "%~1\%%i" >> %DIRECTIVEFILE%
)
for /f "tokens=*" %%i in ('dir /b /a:d %1 2^>nul') do (
call :CAB_DIR "%~1\%%i"
)
goto :Return
:Return
exit /b 0