Condividi tramite


Guida alla distribuzione per OneNote

Importante

OneNote per Windows 10 raggiungerà la fine del supporto a ottobre 2025. È consigliabile che tutti i clienti aziendali passino da OneNote per Windows 10 a OneNote in Windows, disponibile da Microsoft Store e con un abbonamento a Microsoft 365. OneNote per Windows offre nuove funzionalità e aggiornamenti e consente di personalizzare le impostazioni utente tramite Criteri di gruppo.

OneNote è incluso insieme alle altre app di Office, ad esempio Word, Excel e PowerPoint, quando si distribuisce Microsoft 365 Apps, Office LTSC 2021 o Office 2019. Non è necessario eseguire altri passaggi per includere OneNote con le nuove installazioni di Office. Assicurarsi tuttavia di controllare sempre le impostazioni di distribuzione prima di eseguire la distribuzione, ad esempio quando si usano le procedure guidate in Configuration Manager (Current Branch) o Microsoft Intune.

Usare lo Strumento di distribuzione di Office o il software di distribuzione aziendale come Microsoft Configuration Manager per includere o escludere OneNote quando si distribuisce Office nell'organizzazione.

Per aggiungere OneNote a un'installazione esistente di Office

Se si installa Office nel dispositivo, ma OneNote è mancante, usare lo strumento di distribuzione di Office e il file di configuration.xml seguente per aggiungere OneNote.

<Configuration>
   <Add>
      <Product ID="OneNoteFreeRetail">
       <Language ID="MatchInstalled"/>
      </Product>
   </Add>
</Configuration>

Quando si distribuisce la versione gratuita di OneNote, la licenza viene aggiornata automaticamente in modo che corrisponda alla versione di Office già installata nel dispositivo dopo che l'utente apre OneNote per la prima volta.

Nota

  • L'uso di OneNoteFreeRetail non è supportato con le versioni con contratti multiplo di Office, ad esempio Office LTSC Professional Plus 2021 o Office Standard 2019. Per aggiungere di nuovo OneNote a tali versioni di Office, è possibile eseguire un ripristino online.
  • Se si distribuisce la versione freemium di OneNote, quando si passa aProgrammi>e funzionalitàdel Pannello> di controllo, OneNote verrà visualizzato come voce autonoma denominata Microsoft OneNote Home e Student 2016.

Per escludere OneNote dall'installazione

Esistono diversi modi per escludere OneNote dall'installazione con Office, a seconda del metodo di distribuzione in uso, come illustrato nella tabella seguente.

Metodo Istruzioni
Strumento di distribuzione di Office È possibile usare l'elemento ExcludeApp nel file di configuration.xml.

È consigliabile usare lo strumento di personalizzazione di Office per creare il file di configuration.xml.
Microsoft Configuration Manager (Current Branch) Nell'Installazione guidata client di Office 365 è possibile impostare OneNote sulla posizione Disattivata quando si configurano le impostazioni di Office.
Microsoft Intune Nella pagina Configura suite di app è possibile deselezionare la casella di controllo per OneNote nell'elenco a discesa Seleziona app di Office .

Tuttavia, se si consente agli utenti di installare Office autonomamente dal portale di Office 365, non è possibile escludere OneNote dall'installazione.

Linee guida per la migrazione di OneNote per Windows 10

Nota

Per garantire un servizio e un flusso di lavoro ininterrotti, è consigliabile che le organizzazioni esegretano a OneNote in Windows ben prima della data di fine del supporto di OneNote per Windows 10 di ottobre 2025.

Questa sezione fornisce una guida dettagliata che consente di sviluppare criteri di migrazione ed eseguire la transizione senza problemi.

Sviluppo di criteri di migrazione: per facilitare la corretta migrazione a OneNote in Windows, le organizzazioni devono:

Personalizzare lo script di migrazione.

Usare questo script di esempio per soddisfare le esigenze dell'organizzazione.

#############################################
######   OneNote for Windows 10  ############
######   Migration Script  ##################
#############################################

$localAppDataPath = [System.Environment]::GetFolderPath('LocalApplicationData')
$outputFile = "C:\temp\OneNoteMigration\UWPBackUpResult.log"

function writeLogsToFileAndConsole {
    Param ([string]$logstring)
    Add-content $outputFile -value "$logstring"
    Write-Host "$logstring"
}

## Check if OneNote UWP is installed ##
function checkOneNoteUWPInstalled {
    $uwpApp = Get-AppxPackage | Where-Object {$_.Name -eq "Microsoft.Office.OneNote"}
    if ($null -ne $uwpApp) {
        writeLogsToFileAndConsole "OneNote UWP App is installed"
    }
    else {
        writeLogsToFileAndConsole "OneNote UWP App is not installed"
    }
}

function getWin32RegKeys {
    $registryPath = "HKCU:\SOFTWARE\Microsoft\Office\16.0\OneNote"
    $bootValueName = "FirstBootStatus"

    }
    $outputDir = "C:\temp\OneNoteMigration\"
    if(!(test-path $outputDir)){new-item -path "C:\temp\OneNoteMigration\" -ItemType directory -name OneNoteUWPBackup|out-null}
    new-item -path $outputDir -name UWPBackupResult.log -Type File -Force

$registry = Get-ItemProperty -Path $registryPath
    # get FRE status
    if ($registry.PSObject.Properties[$bootValueName]) {
        $bootValue = $registry.$bootValueName
        writeLogsToFileAndConsole "OneNote Win32 FRE Value: $bootValue"
    }

# get client version and audience data
    $registryPath = "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"
    $versionValueName = "ClientVersionToReport"
    $audienceValueName = "AudienceData"
    $registry = Get-ItemProperty -Path $registryPath
    if ($registry.PSObject.Properties[$versionValueName]) {
        $versionValue = $registry.$versionValueName
        writeLogsToFileAndConsole "OneNote Win32 Version Value: $versionValue"
    }
    if ($registry.PSObject.Properties[$audienceValueName]) {
        $audienceValue = $registry.$audienceValueName
        writeLogsToFileAndConsole "OneNote Win32 Audience Value: $audienceValue"
    }

# get backup folder path if existed
    $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"
        }
    }
    # get uwp version
    $uwpApp = Get-AppxPackage | Where-Object {$_.Name -eq "Microsoft.Office.OneNote"}
    $uwpVersion = $uwpApp.Version
    $uwpVersionObject = [System.Version]$uwpVersion
    writeLogsToFileAndConsole "UWP OneNote app version: $uwpVersion"

## Update 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.21942.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.21942. Please check the Microsoft Store"
            exit
        }
        else
        {
            writeLogsToFileAndConsole "OneNote UWP version up to date"
        }
    }
    else
    {
        writeLogsToFileAndConsole "No OneNote UWP detected. 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"
    }
}

function launchBackUp {
    try
    {
        $OneNoteUWPLaunch = (Get-AppxPackage -Name Microsoft.Office.OneNote).InstallLocation + "/onenoteim.exe"
        Start-Process "onenote-cmd://backup:" -filepath $OneNoteUWPLaunch
        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 started"
}

## Parse the results in json files to read if backup was successful; if so and there were outbounding changes if files were backed up and migration can continue ##
 function parseJson {
    try
    {
        killProcess

$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 backed up sections and migration result files to the output folder path determined above ##
 function moveBackup {
    try
    {
        $localAppDataPath = [System.Environment]::GetFolderPath('LocalApplicationData')
        $sourcePath = "$localAppDataPath\Packages\Microsoft.Office.OneNote_8wekyb3d8bbwe\LocalState\AppData\Local\OneNote\16.0\BackUp"
        $destinationPath = "C:\temp\OneNoteMigration\"

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 {
    checkOneNoteUWPInstalled
    getWin32RegKeys
    launchBackUp
    parseJson
    moveBackup
    updateUWPVersion
    killProcess
    uninstallUWP
}

# Execute the main routine
MainRoutine

Assicurarsi che lo script esegua le funzioni seguenti:

  • Installa OneNote in Windows nei dispositivi utente. Per altre informazioni, vedere la sezione Linee guida per la distribuzione.

  • Aggiorna OneNote per Windows 10 alla build più recente (build minima 16001.14326.21802.0) per incorporare funzionalità essenziali che impediscono la perdita di dati durante la migrazione di note non sincronizzate.

  • Termina tutti i processi di OneNote per Windows 10.

  • Esegue il backup di eventuali notebook non sincronizzati nella cartella di backup dell'utente usando il onenote-cmd://backup: comando .

    • I backup vengono archiviati in C:\temp\OneNoteMigration, tuttavia, è possibile modificare il percorso in base alle esigenze dell'organizzazione.
    • Ogni backup crea una cartella corrispondente per ogni notebook con sezioni non sincronizzate all'interno di questo percorso.
  • Analizzare l'oggetto UWPBackUpStatus.json per convalidare l'esito positivo del backup.

    • La disinstallazione con un backup non riuscito può causare la perdita di dati.
  • Disinstalla OneNote per Windows 10.

    • Assicurarsi che OneNote per Windows 10 venga disinstallato su base utente e non su base di dispositivo. Questo processo consente di attenuare gli scenari in cui i dispositivi condivisi hanno rimosso note non sincronizzate per tutti gli account.

Accesso alle note migrate

Dopo la migrazione, gli utenti possono recuperare le note:

  1. Apertura della nuova applicazione OneNote in Windows .
  2. Accesso al proprio account.
  3. 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 e UWPSyncStatus.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-cmd://backup: comando ha esito negativo:

  • Assicurarsi che l'app OneNote per Windows 10 sia l'app predefinita collegata al onenote-cmd protocollo.
  • Consultare l'articolo di supporto pertinente per assicurarsi che l'allegato di protocollo corretto a OneNote 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 altre informazioni o richieste, contattare il supporto tecnico Microsoft.

Altre informazioni sulla distribuzione di OneNote

Risorse di training di OneNote

Stiamo fornendo eBook gratuiti e condivisibili per aiutare gli utenti a passare all'interfaccia utente e alle funzionalità in OneNote.

Configurare le impostazioni di OneNote

È possibile usare Criteri di gruppo per configurare determinate impostazioni di OneNote per gli utenti. Per usare Criteri di gruppo, scaricare i file dei modelli amministrativi più recenti (ADMX/ADML) per Office dall'Area download Microsoft e implementare le impostazioni dei criteri usando Active Directory Domain Services (AD DS).

Nota

  • Criteri di gruppo richiede che i dispositivi con OneNote siano aggiunti a un dominio di Active Directory.
  • La maggior parte di queste stesse impostazioni dei criteri può essere applicata usando Criteri cloud, che non richiede l'aggiunta del dispositivo a un dominio.
  • Criteri di gruppo non può essere usato con Microsoft 365 Apps for business o con OneNote per Windows 10.
  • I criteri cloud possono essere usati solo con Microsoft 365 Apps for enterprise.

Lingue supportate

Anche se sia OneNote che OneNote per Windows 10 sono disponibili nella maggior parte delle stesse lingue, esistono alcune differenze. Gli elenchi delle lingue supportate sono disponibili qui: OneNote, OneNote per Windows 10

Altre piattaforme

Sono disponibili anche versioni di OneNote per Mac, iPad, iPhone, Android e per Web browser. Per altre informazioni, vedere Qual è la differenza tra le versioni di OneNote?