Freigeben über


OneNote für Windows 10 Migrationsleitfaden

Wichtig

OneNote für Windows 10 erreicht das Ende des Supports im Oktober 2025. Unternehmenskunden sollten von OneNote für Windows 10 zu OneNote unter Windows wechseln, das im Microsoft Store und mit einem Microsoft 365-Abonnement verfügbar ist. OneNote unter Windows bietet neue Features und Updates und ermöglicht es Ihnen, Benutzereinstellungen über Gruppenrichtlinie anzupassen.

Dieser Artikel enthält Anleitungen zum Migrieren Ihrer organization von OneNote für Windows 10 zu OneNote für Windows. Sie enthält Anweisungen zum Identifizieren von Benutzern, zum Anpassen von Migrationsskripts und zum Sicherstellen der Datenintegrität während des gesamten Prozesses. Sie finden Schritte zur Problembehandlung und bewährte Methoden, um Unterbrechungen zu minimieren und Benutzerdaten während der Migration zu schützen.

Identifizieren von Benutzern in OneNote für Windows 10:

Führen Sie die folgenden Schritte aus, um Benutzer oder Geräte in Ihrer organization mithilfe von OneNote für Windows 10 über Microsoft Intune zu identifizieren:

  • Navigieren Sie in Intune zu: Alle Dienst-Apps>| Überwachen Sie>ermittelte Apps, und suchen Sie dann nach "Office.OneNote".>
  • Suchen Sie nach der Anwendungsversion ab 16001.xxxxx.xxxxx.x, um OneNote für Windows 10 Benutzer zu identifizieren. Die neueste Version ist 16001.14326.22094.0

    Hinweis

    Das Beispielmigrationsskript funktioniert nur mit OneNote für Windows 10-Geräte unter Version.16001.14326.22094.0

Beispielskriptanpassung

Bevor Sie das Beispielskript ausführen, installieren Sie OneNote unter Windows auf Benutzergeräten, wenn die App nicht installiert wurde. Weitere Informationen finden Sie im Bereitstellungshandbuch für OneNote.

Um eine reibungslose Migration zu OneNote für Windows sicherzustellen, müssen Organisationen das folgende Beispielskript anpassen, um diese Schritte in der richtigen Reihenfolge auszuführen:

  1. Überprüfen Sie, ob OneNote für Windows 10 installiert ist und ob der Pfad zum AppData-Ordner für die App vorhanden ist (was angibt, ob der Benutzer die App zuvor geöffnet hat), um zu überprüfen, ob die Migration erforderlich ist.
  2. Überprüfen Sie, ob OneNote für Windows installiert ist, indem Sie überprüfen, ob die ausführbare Datei auf dem Gerät vorhanden ist.
  3. Überprüfen Sie die Version von OneNote für Windows 10, um sicherzustellen, dass die neueste Version mit wichtigen Features verwendet wird, um Datenverluste während der Migration zu verhindern.

Hinweis

Dieses Skript funktioniert nicht für Geräte mit OneNote für Windows 10 Versionen unter 16001.14326.22094. IT-Administratoren müssen diese Geräte gemäß der Richtlinie ihrer organization aktualisieren.

  1. Beenden Sie alle OneNote-Elemente für Windows 10 Prozesse.
  2. Sichern Sie alle nicht synchronisierten Abschnitte mithilfe des onenote-uwp://backup: Befehls im Sandboxordner.
  3. Speichern Sie die Sicherungen in der Sandbox in:
    $localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\AppData\Local\OneNote\16.0\BackUp\.
  4. Stellen Sie sicher, dass nur Abschnitte mit nicht synchronisiertem Inhalt gesichert und in Ordnern organisiert werden, in denen jeder Ordner einem Notizbuch entspricht.
  5. Analysieren Sie die UWPBackUpStatus.json , um zu überprüfen, ob die Sicherung erfolgreich war.

Warnung

Die Deinstallation mit einer fehlerhaften Sicherung kann zu Datenverlusten führen.

  1. Verschieben Sie die Sicherungsdateien an einen Speicherort außerhalb der Sandbox:
    $localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\
    da der Sandboxpfad gelöscht wird, sobald die OneNote for Windows 10-App deinstalliert wurde.
  2. Deinstallieren Sie OneNote für Windows 10.
  3. Stellen Sie sicher, dass OneNote für Windows 10 auf Benutzerbasis und nicht auf Gerätebasis deinstalliert wird.
    Dieser Prozess trägt dazu bei, Szenarien zu entschärfen, in denen für freigegebene Geräte nicht synchronisierte Notizen für alle Konten entfernt wurden.

Wichtig

Bevor Sie das Beispielskript verwenden, müssen Sie es an die spezifischen Bereitstellungs- und Migrationsanforderungen Ihrer organization anpassen.

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

## Optional: Helper function to write logs 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"
}

## Check if OneNote for Windows 10 is installed and if the AppData path exists ##
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 "OneNote UWP app version: $uwpVersion"
    }
    else {
        writeLogsToFileAndConsole "OneNote UWP App is not installed"
        exit
    }

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

## Check if OneNote for Windows is installed by checking the existence of the executable file ##
function checkOneNoteWin32Install {
    $oneNotePath = Join-Path $env:ProgramFiles "Microsoft Office\root\Office16\ONENOTE.EXE"
    
    if (Test-Path $oneNotePath) {
        writeLogsToFileAndConsole "OneNote Win32 is installed"   
    } else {
        writeLogsToFileAndConsole "OneNote Win32 is not installed"
        exit
    }
 }

## Check version of the user's OneNote for Windows 10 app ##
function checkUWPVersion {
    $uwpApp = Get-AppxPackage | Where-Object {$_.Name -eq "Microsoft.Office.OneNote"}
    if ($null -ne $uwpApp)
    {
        $uwpVersion = $uwpApp.Version
        $uwpVersionObject = [System.Version]$uwpVersion

        $updatedVersion = "16001.14326.22094.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
    }
}

## Terminate 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"
    }
}

## Run the protocol to back up unsynced sections into the sandbox path ##
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"
}

## Parse 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
    }
}

## Copy the backup files to a directory outside of the sandbox path ##
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"
 }

## Uninstall the OneNote for Windows 10 app ##
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
    checkUWPVersion
    killProcess
    launchBackUp
    parseJson
    moveBackup
    uninstallUWP
}

## Executes the main routine ##
MainRoutine

Zugreifen auf migrierte Notizen

Nach der Migration können Benutzer ihre Notizen wie folgt abrufen:

  1. Öffnen der neuen OneNote-Anwendung unter Windows .
  2. Anmelden bei ihrem Konto.
  3. Öffnen der Notizbücher.

Wenn Notizen fehlen, überprüfen Sie den Sicherungsordner, der in den vorherigen Schritten erstellt wurde.

So überprüfen Sie Sicherungen über OneNote unter Windows:

  • Navigieren Sie zu Datei –> Sicherungen öffnen –> Navigieren Sie zum Pfad der Sicherungsdatei.

Problembehandlung

  • Überprüfen Sie die UWPBackupStatus.json Dateien und UWPSyncStatus.json im Sicherungsordner des Benutzers, um ausführliche Informationen zum Sicherungs- und Synchronisierungsstatus zu finden.

  • Informationen zu Fehlern, die während der Migration auftreten, finden Sie in der Protokolldatei in der zuvor generierten Sicherung (Schritt 1.d).

Wenn der onenote-uwp://backup: Befehl fehlschlägt:

  • Stellen Sie sicher, dass die OneNote für Windows 10-App die Standard-App ist, die mit dem onenote-uwp Protokoll verknüpft ist.
  • Lesen Sie den entsprechenden Supportartikel, um sicherzustellen, dass die richtige Protokollanlage zu OneNote für Windows 10.

Achtung

Seien Sie vorsichtig, wenn Sie online gefundene Befehle verwenden. Testen Sie Befehle immer in einer kontrollierten Umgebung, bevor Sie sie organization weit bereitstellen, um unbeabsichtigte Folgen zu vermeiden, z. B. solche, die sich aus dem Remove-AppxPackage-Befehl ergeben.

Für weitere Unterstützung oder Anfragen wenden Sie sich an Microsoft-Support.