Linee guida per la migrazione di OneNote per Windows 10
Importante
OneNote per Windows 10 raggiungerà la fine del supporto a ottobre 2025. I clienti aziendali devono passare da OneNote per Windows 10 a OneNote in Windows, disponibile da Microsoft Store e con un abbonamento a Microsoft 365. OneNote in Windows offre nuove funzionalità e aggiornamenti e consente di personalizzare le impostazioni utente tramite Criteri di gruppo.
Questo articolo fornisce indicazioni per la migrazione dell'organizzazione da OneNote per Windows 10 a OneNote per Windows. Include istruzioni per identificare gli utenti, personalizzare gli script di migrazione e garantire l'integrità dei dati durante tutto il processo. Sono disponibili i passaggi di risoluzione dei problemi e le procedure consigliate per ridurre al minimo le interruzioni e proteggere i dati degli utenti durante la migrazione.
Identificazione degli utenti in OneNote per Windows 10:
Per identificare utenti o dispositivi nell'organizzazione usando OneNote per Windows 10 tramite Microsoft Intune, seguire questa procedura per eseguire un report:
- In Intune passare a: Tutte le app di servizi>| Monitorare>le>app individuate e quindi cercare "Office.OneNote".
- Cercare la versione dell'applicazione a partire da
16001.xxxxx.xxxxx.x
, per identificare OneNote per gli utenti Windows 10. La versione più recente è16001.14326.22094.0
Nota
Lo script di migrazione di esempio funziona solo con OneNote per i dispositivi Windows 10 nella versione
16001.14326.22094.0
Personalizzazione di script di esempio
Prima di eseguire lo script di esempio, installare OneNote in Windows nei dispositivi utente se l'app non è stata installata. Per altre informazioni, vedere Guida alla distribuzione per OneNote
Per garantire una migrazione senza problemi a OneNote per Windows, le organizzazioni devono personalizzare lo script di esempio seguente per completare questi passaggi nell'ordine seguente:
- Controllare se OneNote per Windows 10 è installato e se il percorso della cartella AppData per l'app esiste (che indica se l'utente ha aperto l'app in precedenza) per verificare se la migrazione è necessaria.
- Controllare se OneNote per Windows è installato verificando se il file eseguibile esiste nel dispositivo.
- Controllare la versione di OneNote per Windows 10 per assicurarsi che si tratti dell'ultima versione con funzionalità importanti per evitare la perdita di dati durante la migrazione.
Nota
Questo script non funziona per i dispositivi con OneNote per Windows 10 versioni successive a 16001.14326.22094. Gli amministratori IT devono aggiornare questi dispositivi in base ai criteri dell'organizzazione.
- Terminare tutti i processi di OneNote per Windows 10.
- Eseguire il backup di eventuali sezioni non sincronizzate nella cartella sandbox usando il
onenote-uwp://backup:
comando . - Archiviare i backup all'interno della sandbox in:
$localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\AppData\Local\OneNote\16.0\BackUp\
. - Assicurarsi che solo le sezioni con contenuto non sincronizzato vengano sottoposte a backup e organizzate in cartelle in cui ogni cartella corrisponde a un notebook.
- Analizzare l'oggetto
UWPBackUpStatus.json
per verificare che il backup sia stato completato correttamente.
Avviso
La disinstallazione con un backup non riuscito può causare la perdita di dati.
- Spostare i file di backup in un percorso esterno alla sandbox:
$localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\
poiché il percorso sandbox verrà eliminato dopo la disinstallazione dell'app OneNote per Windows 10. - Disinstallare OneNote per Windows 10.
- Assicurarsi che OneNote per Windows 10 venga disinstallato per utente e non per dispositivo.
Questo processo consente di attenuare gli scenari in cui i dispositivi condivisi hanno rimosso note non sincronizzate per tutti gli account.
Importante
Prima di usare lo script di esempio, è necessario personalizzarlo in base ai requisiti di distribuzione e migrazione specifici dell'organizzazione.
#############################################
###### 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
Accesso alle note di cui è stata eseguita la migrazione
Dopo la migrazione, gli utenti possono recuperare le note:
- Apertura della nuova applicazione OneNote in Windows .
- Accesso al proprio account.
- Apertura dei notebook.
Se mancano note, controllare la cartella di backup creata nei passaggi precedenti.
Per esaminare i backup tramite OneNote in Windows:
- Passare a File -> Apri backup:> passare al percorso del file di backup.
Risoluzione dei problemi
Esaminare i
UWPBackupStatus.json
file eUWPSyncStatus.json
nella cartella di backup dell'utente per informazioni dettagliate sugli stati di backup e sincronizzazione.Per gli errori rilevati durante la migrazione, fare riferimento al file di log che si trova nel backup generato in precedenza (passaggio 1.d).
Se il onenote-uwp://backup:
comando ha esito negativo:
- Assicurarsi che OneNote per Windows 10'app sia l'app predefinita collegata al
onenote-uwp
protocollo. - Consultare l'articolo di supporto pertinente per assicurarsi che l'allegato del protocollo a OneNote sia corretto per Windows 10.
Attenzione
Prestare attenzione quando si usano i comandi trovati online. Testare sempre i comandi in un ambiente controllato prima di distribuirli a livello di organizzazione per evitare conseguenze impreviste, ad esempio quelle risultanti dal comando Remove-AppxPackage.
Per ulteriori informazioni o richieste, contattare supporto tecnico Microsoft.