Compartir a través de


Guía de migración de OneNote para Windows 10

Importante

OneNote para Windows 10 finalizará el soporte técnico en octubre de 2025. Se recomienda que todos los clientes empresariales cambien de OneNote para Windows 10 a OneNote en Windows, que está disponible en Microsoft Store y con una suscripción de Microsoft 365. OneNote en Windows ofrece nuevas características y actualizaciones y le permite personalizar la configuración del usuario a través de directiva de grupo.

En este artículo se proporcionan instrucciones para migrar la organización de OneNote para Windows 10 a OneNote para Windows. Incluye instrucciones para identificar usuarios, personalizar scripts de migración y garantizar la integridad de los datos durante todo el proceso. Encontrará pasos de solución de problemas y procedimientos recomendados para ayudar a minimizar la interrupción y proteger los datos de usuario durante la migración.

Identificación de usuarios en OneNote para Windows 10:

Para identificar usuarios o dispositivos de su organización mediante OneNote para Windows 10 a través de Microsoft Intune, siga estos pasos para ejecutar un informe:

  • En Intune, vaya a: Todas las aplicaciones de servicios>| Supervise Supervisar>>aplicaciones detectadas y, a continuación, busque "Office.OneNote".
  • Busque la versión de la aplicación a partir de 16001.xxxxx.xxxxx.x para identificar OneNote para Windows 10 usuarios. La versión más reciente es 16001.14326.22008.0

    Nota:

    El script de migración de ejemplo solo funciona con OneNote para dispositivos Windows 10 en la versión16001.14326.22008.0

Personalización de script de ejemplo

Para garantizar una migración sin problemas a OneNote para Windows, las organizaciones deben personalizar el siguiente script de ejemplo para completar estas funciones:

  • Instala OneNote en Windows en dispositivos de usuario. Para obtener más información, vea Guía de implementación de OneNote.

  • Novedades OneNote para Windows 10 a la compilación más reciente para incorporar características importantes y evitar la pérdida de datos durante la migración de notas sin sincronizar.

    Nota:

    Este script no actualiza OneNote para Windows 10 dispositivos que no están en la versión 16001.14326.22008. Los administradores de TI deben actualizar estos dispositivos de acuerdo con la directiva de su organización.

  • Finaliza todo OneNote para los procesos de Windows 10.

  • Realiza una copia de seguridad de los cuadernos sin sincronizar en la carpeta de copia de seguridad del usuario mediante el onenote-cmd://backup: comando .

    • Las copias de seguridad se almacenan en , sin embargo, no dude en C:\temp\OneNoteMigrationeditar la ruta de acceso para satisfacer las necesidades de su organización.
    • Cada copia de seguridad crea una carpeta correspondiente para cada cuaderno con secciones sin sincronizar dentro de esta ruta de acceso.
  • UWPBackUpStatus.json Analice para validar que la copia de seguridad se realizó correctamente.

    • La desinstalación con una copia de seguridad con errores puede provocar la pérdida de datos.

      Nota:

      Para realizar la copia de seguridad, se debe instalar OneNote para Windows y OneNote para Windows 10 debe actualizarse a la versión 16001.14326.22008 o posterior.

  • Desinstala OneNote para Windows 10.

    • Asegúrese de que OneNote para Windows 10 está desinstalado por el usuario y no por dispositivo. Este proceso ayuda a mitigar los escenarios en los que los dispositivos compartidos han quitado notas sin sincronizar para todas las cuentas.

Importante

Antes de usar el script de ejemplo, debe personalizarlo para que se ajuste a los requisitos específicos de implementación y migración de su organización.

#############################################
######   OneNote for Windows 10  ############
######   External Migration Script v5  ######
#############################################

## Creates backupFolder and writes log from script to UWPMigrationResult.log File and Console ##

function writeLogsToFileAndConsole {
    Param ([string]$logstring)
    $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
    $logstringWithTimestamp = "[$timestamp] $logstring"
    $backupFolder = [System.Environment]::GetFolderPath('LocalApplicationData') + "\Microsoft\OneNote\16.0\Backup"
    $outputFile = $backupFolder + "\UWPMigrationResult.log"

    if (-not (Test-Path $backupFolder)) {
        New-Item -Path $backupFolder -ItemType Directory
    }

    if (-not (Test-Path $outputFile)) {
        New-Item -Path $outputFile -ItemType File
    }

    Add-content $outputFile -value "$logstringWithTimestamp"
    Write-Host "$logstringWithTimestamp"
}

## Checks if OneNote UWP is installed and if app data exists, writes version to log file and console ##

function checkOneNoteUWPInstall {
    $folderPath = "$env:LOCALAPPDATA\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\LocalState\AppData\Local\OneNote"
    $uwpApp = Get-AppxPackage | Where-Object {$_.Name -eq "Microsoft.Office.OneNote"}
    if ($null -ne $uwpApp) {
    $uwpVersion = $uwpApp.Version
    $uwpVersionObject = [System.Version]$uwpVersion
        writeLogsToFileAndConsole "UWP OneNote app version: $uwpVersion"
    } else {
        writeLogsToFileAndConsole "OneNote UWP App is not installed"
    exit
    }

    if (Test-Path $folderPath) {
        Write-Host "AppData folder detected"
    } else {
        ($null -ne $uwpApp) 
        $uwpApp | Remove-AppxPackage
        writeLogsToFileAndConsole "AppData folder does not exist and OneNote UWP will now be uninstalled"
    exit
    }
}

## Checks if OneNote Win32 is installed by checking the existence of the executable file and checks the version ##

function checkOneNoteWin32Install {
    $oneNotePath = Join-Path $env:ProgramFiles "Microsoft Office\root\Office16\ONENOTE.EXE"
    $registryPath = "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"
    $versionValueName = "ClientVersionToReport"
    $registry = Get-ItemProperty -Path $registryPath
    
    if (Test-Path $oneNotePath) {
        if ($registry.PSObject.Properties[$versionValueName]) {
            $versionValue = $registry.$versionValueName
            writeLogsToFileAndConsole "OneNote Win32 Version Value: $versionValue is installed at path $oneNotePath"   
    } else {
        writeLogsToFileAndConsole "OneNote Win32 is not installed"
        exit
    }
 }   

## Checks for backup folder path
  
    $registryPath = "HKCU:\SOFTWARE\Microsoft\Office\16.0\OneNote\Options\Paths"
    $backupValueName = "BackupFolderPath"
    if (Test-Path $registryPath) {
        $registry = Get-ItemProperty -Path $registryPath
        if ($registry.PSObject.Properties[$backupValueName]) {
            $backupValue = $registry.$backupValueName
            writeLogsToFileAndConsole "OneNote Win32 Backup Path Value: $backupValue"
        }
    }
}

## Updates OneNote for Windows 10 to the latest version available ##

function updateUWPVersion {
    $uwpApp = Get-AppxPackage | Where-Object {$_.Name -eq "Microsoft.Office.OneNote"}
    if ($null -ne $uwpApp) {
        $uwpVersion = $uwpApp.Version
        $uwpVersionObject = [System.Version]$uwpVersion

        $updatedVersion = "16001.14326.22008.0"
        $updatedVersionObject = [System.Version]$updatedVersion

        $unsupportedVersion = "16001.14327.10000.0"
        $unsupportedVersionObject = [System.Version]$unsupportedVersion

    if ($uwpVersionObject -ge $unsupportedVersionObject)
        {
        writeLogsToFileAndConsole "Unsupported version of OneNote UWP app. Please check the Microsoft Store for updates"
            exit
    }

    if ($uwpVersionObject -lt $updatedVersionObject)
        {
            writeLogsToFileAndConsole "You must upgrade OneNote UWP to a version higher than 16.0.14326.21802. Please check the Microsoft Store"
            exit
        }
    else
        {
            writeLogsToFileAndConsole "OneNote UWP will backup and uninstall"
        }
    }
    else
    {
        writeLogsToFileAndConsole "No OneNote UWP detected therefore no need for migration"
        exit
    }
}
## Terminates the OneNote for Windows 10 app before executing the rest of the migration script ##

function killProcess {
    if (Get-Process -Name "OneNoteIm" -ErrorAction SilentlyContinue)
    {
        try
        {
            $uwpProcess = Get-Process -Name "OneNoteIm"
            Stop-Process -Id $uwpProcess.Id -Force
            Start-Sleep -Seconds 10
        }
        catch
        {
            writeLogsToFileAndConsole "An error occurred when killing the current OneNote UWP process: $($_.Exception.GetType().FullName)"
            writeLogsToFileAndConsole "$($_.Exception.Message)"
            exit
        }

        writeLogsToFileAndConsole "OneNote UWP process killed"
    }
}

function launchBackUp {
    try
    {
        Start-Process "onenote-uwp://backup:"
        Start-Sleep -Seconds 60
        writeLogsToFileAndConsole "OneNote UWP backup initiated"
    }
    catch
    {
        writeLogsToFileAndConsole "An error occurred when starting the backup: $($_.Exception.GetType().FullName)"
        writeLogsToFileAndConsole "$($_.Exception.Message)"
        exit
    }

    writeLogsToFileAndConsole "OneNote UWP backup in progress"
}

## Parses the results in the json files to validate that the backup was successful ##

 function parseJson {
    try
    {
        $localAppDataPath = [System.Environment]::GetFolderPath('LocalApplicationData')
        $jsonPath = "$localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\LocalState\AppData\Local\OneNote\16.0\UWPBackUpStatus.json"
        if(!(test-path $jsonPath)){
            writeLogsToFileAndConsole "Backup Json file path is not valid"
            exit
        }
        $backupJsonFileContent = Get-Content -Path $jsonPath -Raw | ConvertFrom-Json
        $status = $backupJsonFileContent."UWP Backup Status"
        if ($status -eq "Completed") {
            $jsonPath2 = "$localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\LocalState\AppData\Local\OneNote\16.0\UWPSyncStatus.json"
            if(test-path $jsonPath2)
            {
            $syncStatusJsonContent = Get-Content -Raw -Path $jsonPath2
            $syncStatusJsonObject = COnvertFrom-Json $syncStatusJsonContent
            foreach ($key in $syncStatusJsonObject.PSObject.Properties)
            {
                $value = $syncStatusJsonObject.$($key.Name)
                if ($value.StartsWith("Contains pending outbounding changes: true,"))
                {
                    if ($backupJsonFileContent."Number of sections Backed up" -eq 0)
                    {
                        writeLogsToFileAndConsole "No error occurred when backing up but outbounding changes were not backed up successfully"
                        exit
                    }
                    else
                    {
                        break
                    }
                }
            }
        }

            writeLogsToFileAndConsole "OneNote UWP backup is completed and status is saved"
        }
        elseif ($status -eq "")
        {
            writeLogsToFileAndConsole "$status"
            writeLogsToFileAndConsole "No error occurred but backup did not finish. We cannot continue migration. Consider increasing the Start-Sleep time in line 130 and rerun the script"
            exit
        }
        else
        {
            writeLogsToFileAndConsole "No error occurred but backup status is $status. We cannot continue migration. Consider increasing the Start-Sleep time in line 130 and rerun the script"
            exit
        }
    }
    catch
    {
        writeLogsToFileAndConsole "An error occurred when finishing the backup: $($_.Exception.GetType().FullName)"
        writeLogsToFileAndConsole "$($_.Exception.Message)"
        exit
    }
}

## Copies the backup files to the local app data folder ##

 function moveBackup {
    try
    {
        $localAppDataPath = [System.Environment]::GetFolderPath('LocalApplicationData')
        $sourcePath = "$localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\LocalState\AppData\Local\OneNote\16.0\BackUp\"
        $destinationPath = [System.Environment]::GetFolderPath('LocalApplicationData') + "\Microsoft\OneNote\16.0\Backup\"

        Copy-Item -Path $sourcePath\* -Destination $destinationPath -Recurse -Force

        $sourcePath = "$localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\LocalState\AppData\Local\OneNote\16.0"
        $fileExtensions = "*.json", "*.txt"
        foreach ($fileExtension in $fileExtensions)
        {
            $files = Get-ChildItem -Path $sourcePath -Filter $fileExtension
            foreach ($file in $files) {
                Copy-Item -Path $file.FullName -Destination $destinationPath -Force
            }
        }
    }
    catch
    {
        writeLogsToFileAndConsole "An error occurred when moving the backup files: $($_.Exception.GetType().FullName)"
        writeLogsToFileAndConsole "$($_.Exception.Message)"
        exit
    }

    writeLogsToFileAndConsole "Backup files copied successfully from $sourcePath to $destinationPath"
 }

function uninstallUWP {
    $uwpApp = Get-AppxPackage | Where-Object {$_.Name -eq "Microsoft.Office.OneNote"}
    if ($null -ne $uwpApp) {
        $uwpApp | Remove-AppxPackage
        writeLogsToFileAndConsole "OneNote UWP version uninstalled"
    }
}

function MainRoutine {
    checkOneNoteWin32Install
    checkOneNoteUWPInstall
    updateUWPVersion
    launchBackUp
    killProcess
    parseJson
    moveBackup
    uninstallUWP
}

## Executes the main routine ##

MainRoutine

Acceso a las notas migradas

Después de la migración, los usuarios pueden recuperar sus notas mediante:

  1. Abrir la nueva aplicación OneNote en Windows .
  2. Iniciar sesión en su cuenta.
  3. Abrir sus cuadernos.

Si faltan notas, compruebe la carpeta de copia de seguridad que se creó en los pasos anteriores.

Para revisar las copias de seguridad a través de OneNote en Windows:

  • Vaya a Archivo:> abrir copias de seguridad:> vaya a la ruta de acceso del archivo de copia de seguridad.

Solución de problemas

  • Revise los UWPBackupStatus.json archivos y UWPSyncStatus.json de la carpeta de copia de seguridad del usuario para obtener información detallada sobre los estados de copia de seguridad y sincronización.

  • Para ver los errores detectados durante la migración, consulte el archivo de registro ubicado en la copia de seguridad generada anteriormente (paso 1.d).

Si se produce un error en el onenote-uwp://backup: comando:

  • Asegúrese de que oneNote para Windows 10 aplicación es la aplicación predeterminada vinculada al onenote-uwp protocolo.
  • Consulte el artículo de soporte técnico correspondiente para asegurarse de que los datos adjuntos de protocolo a OneNote son correctos para Windows 10.

Precaución

Tenga cuidado al usar los comandos que se encuentran en línea. Pruebe siempre los comandos en un entorno controlado antes de implementarlos en toda la organización para evitar consecuencias involuntarias, como las resultantes del comando Remove-AppxPackage.

Para obtener más ayuda o consultas, póngase en contacto con Soporte técnico de Microsoft.