Поделиться через


Руководство по развертыванию для OneNote

Важно!

Поддержка OneNote для Windows 10 завершится в октябре 2025 г. Всем корпоративным клиентам рекомендуется перейти с OneNote для Windows 10 на OneNote в Windows, которая доступна в Microsoft Store и имеет подписку На Microsoft 365. OneNote в Windows предлагает новые функции и обновления, а также позволяет настраивать параметры пользователей с помощью групповой политики.

OneNote включается вместе с другими приложениями Office, такими как Word, Excel и PowerPoint, при развертывании приложений Microsoft 365, Office LTSC 2021 или Office 2019. Чтобы включить OneNote в новые установки Office, не нужно выполнять никаких других действий. Но всегда проверяйте параметры развертывания перед развертыванием, например при использовании мастеров в Configuration Manager (текущая ветвь) или Microsoft Intune.

Используйте средство развертывания Office или программное обеспечение корпоративного развертывания, например Microsoft Configuration Manager, чтобы включить или исключить OneNote при развертывании Office в организации.

Добавление OneNote в существующую установку Office

Если вы устанавливаете Office на устройстве, но oneNote отсутствует, используйте средство развертывания Office и следующий файл configuration.xml, чтобы добавить OneNote.

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

При развертывании бесплатной версии OneNote лицензия автоматически обновляется в соответствии с версией Office, уже установленной на устройстве после первого открытия OneNote пользователем.

Примечание.

  • Использование OneNoteFreeRetail не поддерживается в версиях Office с корпоративной лицензией, таких как Office LTSC профессиональный плюс 2021 или Office Standard 2019. Чтобы добавить OneNote обратно в эти версии Office, можно запустить исправление по сети.
  • При развертывании бесплатной версии OneNote при переходе к разделуПрограммы>и компонентыпанели> управления OneNote будет отображаться в виде автономной записи Microsoft OneNote Home and Student 2016.

Исключение oneNote из установки

Существует несколько способов исключить oneNote из установки с Office в зависимости от используемого метода развертывания, как показано в следующей таблице.

Метод Инструкции
Средство развертывания Office Элемент ExcludeApp можно использовать в файле configuration.xml.

Для создания файла configuration.xml рекомендуется использовать центр развертывания Office .
Microsoft Configuration Manager (current branch) В мастере установки клиента Office 365 при настройке параметров Office можно задать для OneNote положение Выкл .
Microsoft Intune На странице Настройка набора приложений можно снять флажок для OneNote в раскрывающемся списке Выбор приложений Office .

Но если вы разрешаете пользователям устанавливать Office для себя на портале Office 365, невозможно исключить oneNote из установки.

Руководство по миграции OneNote для Windows 10

Примечание.

Чтобы обеспечить бесперебойную работу служб и рабочих процессов, настоятельно рекомендуется организациям перейти на OneNote в Windows до даты окончания поддержки OneNote для Windows 10 в октябре 2025 г.

В этом разделе содержится пошаговое руководство по разработке политики миграции и плавному выполнению перехода.

Разработка политики миграции. Чтобы упростить успешную миграцию в OneNote в Windows, организациям следует:

Настройте скрипт миграции.

Используйте этот пример скрипта в соответствии с потребностями вашей организации.

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

Убедитесь, что скрипт выполняет следующие функции:

  • Устанавливает OneNote в Windows на пользовательских устройствах. Дополнительные сведения см. в разделе Руководство по развертыванию.

  • Обновляет OneNote для Windows 10 до последней сборки (минимум сборки 16001.14326.21802.0), чтобы включить основные функции, предотвращающие потерю данных во время переноса несинхронизованных заметок.

  • Завершает все процессы OneNote для Windows 10.

  • Создает резервную копию всех несинхронизованных записных книжек в папку резервного копирования пользователя с помощью onenote-cmd://backup: команды .

    • Резервные копии хранятся в C:\temp\OneNoteMigration, однако вы можете изменить путь в соответствии с потребностями вашей организации.
    • Каждая резервная копия создает соответствующую папку для каждой записной книжки с несинхронизованными разделами в этом пути.
  • Синтаксический анализ через UWPBackUpStatus.json для проверки успешного резервного копирования.

    • Удаление с помощью неудачной резервной копии может привести к потере данных.
  • Удаляет OneNote для Windows 10.

    • Убедитесь, что OneNote для Windows 10 удаляется на основе пользователя, а не на устройстве. Этот процесс помогает смягчить сценарии, в которых общие устройства удаляют несинхронизованные заметки для всех учетных записей.

Доступ к перенесенным заметкам

После миграции пользователи могут получать свои заметки, выполнив следующие действия:

  1. Открытие нового приложения OneNote для Windows .
  2. Вход в свою учетную запись.
  3. Открытие записных книжек.

Если какие-либо заметки отсутствуют, проверьте папку резервного копирования, созданную на предыдущих шагах.

Чтобы просмотреть резервные копии с помощью OneNote в Windows, выполните приведенные далее действия.

  • Перейдите к файлу —> Открыть резервные копии.> Перейдите к пути к файлу резервной копии.

Устранение неполадок

  • Просмотрите UWPBackupStatus.json файлы и UWPSyncStatus.json в папке резервного копирования пользователя, чтобы получить подробные сведения о состоянии резервного копирования и синхронизации.

  • Сведения об ошибках, возникших во время миграции, см. в файле журнала, расположенном в созданной ранее резервной копии (шаг 1.d).

Если команда завершается ошибкой onenote-cmd://backup: :

  • Убедитесь, что приложение OneNote для Windows 10 является приложением по умолчанию, связанным с протоколом onenote-cmd .
  • Обратитесь к соответствующей статье поддержки, чтобы обеспечить правильное вложение протокола в OneNote для Windows 10.

Предостережение

Будьте осторожны при использовании команд, найденных в Интернете. Всегда тестируйте команды в управляемой среде перед их развертыванием в масштабах всей организации, чтобы избежать непредвиденных последствий, таких как те, которые возникают в результате выполнения команды Remove-AppxPackage.

Чтобы получить дополнительную помощь или запросы, обратитесь в службу поддержки Майкрософт.

Дополнительные сведения о развертывании OneNote

Учебные ресурсы OneNote

Мы предоставляем бесплатные и доступные для общего доступа электронные книги , которые помогут пользователям перейти к пользовательскому интерфейсу и функциям в OneNote.

Настройка параметров OneNote

Групповую политику можно использовать для настройки определенных параметров OneNote для пользователей. Чтобы использовать групповую политику, скачайте последние файлы административных шаблонов (ADMX/ADML) для Office из Центра загрузки Майкрософт и реализуйте параметры политики с помощью доменных служб Active Directory (AD DS).

Примечание.

  • Групповая политика требует, чтобы устройства с OneNote были присоединены к домену Active Directory.
  • Большинство из этих параметров политики можно применить с помощью облачной политики, которая не требует присоединения устройства к домену.
  • Групповую политику нельзя использовать с приложениями Microsoft 365 для бизнеса или OneNote для Windows 10.
  • Облачную политику можно использовать только с приложениями Microsoft 365 для предприятий.

Поддерживаемые языки

Хотя OneNote и OneNote для Windows 10 доступны на большинстве одних и тем же языков, существует несколько различий. Списки поддерживаемых языков доступны здесь: OneNote, OneNote для Windows 10

Другие платформы

Существуют также версии OneNote для Mac, iPad, iPhone, Android и для веб-браузеров. Дополнительные сведения см. в статье В чем разница между версиями OneNote?