Почему мой Windows 10 загружается так долго?


Давно руки не доходили проанализировать загрузку корпоративных систем, и вот это случилось.

Есть давний инструмент Windows Performance Toolkit, который следует регулярно применять в корпоративной сети — рекомендую.

Собственно проблемы медленной загрузки можно разделить на два вида — общие (для всех корпоративных компьютеров из-за использования общих шаблонов конфигурирования) и частные (которые возникают только на отдельных компьютерах из-за их специфики). Вот примеры.

При анализе трассировки загрузки Windows 10 была обнаружена общая проблема: сервис «Служба Office Нажми и Работай» при запуске пытается сделать сетевой запрос, который тормозит. По всей видимости это запрос в Облако, а так как корпоративная сеть закрыта фаерволом, то неудивительно, что запрос тормозит и замедляет старт службы. Собственно облачные сервисы не используются, поэтому хорошо бы от этого избавиться. После перевода службы в Delayed Start загрузка системы улучшается. (Не понятны последствия для самого Office, но, как говорится, жизнь покажет, точнее, протестируем.)

Второй пример частный. При анализе трассировки загрузки системы было замечено замедление при вызове некой функции, в имени которой присутсвует Home. Имена соседних функций также информативны и говорят о сетевом запросе — очевидно проблема с монтированием сетевой домашней папки в виде диска. В свойствах доменной учётной записи на закладке Profile действительно есть эти настройки. Только указан старый, уже неиспользуемый, сервер! Так как пользователь никогда не пользовался домашней папкой, то никто не знал об ошибке конфигурации. После удаления этой настройки время загрзки улучшилось на 17 секунд, а вместе с первым изменением более чем на 20 секунд.

Общее впечатление после анализа процесса загрузки — Windows 10 поприятнее Windows 7. Я ожидал худшего на старом железе, но ожидания не оправдались.

Хотя загрузка теперь в пределах нормы (100 секунд) для корпоративной системы (с кучей групповых политик и злобным антивирусом на борту, тем не менее вижу ещё потенциал для ускорения загрузки. Возможно удастся найти другие узкие и проблемные места в загрузке из-за «ошибок» в корпоративных шаблонах конфигураций.

Реклама

Опыт перехода на Windows 10


Этот 2019 год последний в жизненном цикле Windows 7. Это ставит задачу перехода на более новую версию Windows 10 (1809/Ent 2019).

Самый главный опыт — систему надо ставить с нуля. Почему?

  1. Официально обновление поверх (in-place upgrade) не поддерживается.
  2. Существует недокументированный способ, как это обойти.
  3. Этим способом лучше не мигрировать, так как будут проблемы на каждом шагу:
    • Часто нужны новые версии драйверов для сетевых и видео карт.
    • Нужно предварительно снести антивирус. Манипуляции с KES 10 и 11 не дали надежного результата. Учтите, что KES 11 Device Control может работать на Windows 10 немного не так как раньше: у нас отвалились некоторые USB принтеры — заработали после правки настроек Device Control.
    • Нужно обязательно удалить App-V и TMG клиент до обновления.
    • Не все приложения будут нормально работать — их надо выявить и также удалить до обновления системы. Скорее всего само приложение надо обновить до версии, которое работает на Windows 10. Например, Crypto Pro 3 -> 4.
    • В Windows 7 версия профиля 3. На Windows 10 1809 — уже 6. Не факт, что профили пользователей смигрируется правильно и без потерь.
    • Windows 7 очень надежная система и скорее всего работает на конкретных компьютерах много лет. Это означает, что на диске скопилось много мусора. Установка поверх не удалит его полностью. Например, давно ненужные установленные программы и их рабочие файлы. Древние архивы и прочие «запасы» в профилях пользователей.

Установка новой системы также хороший повод протестировать и обновить версии других приложений. Например, перейти на Office 2016 или 2019 — про это будет отдельный пост.

Если у вас типовая конфигурация, то вы можете отладить обновление поверх. Но если у вас зоопарк оборудования и приложений, то вы съэкономите массу времени, если будете ставить новые системы с нуля.

Следующая версия PowerShell Core — PowerShell 7.0


Команда Microsoft официально объявила, что следующая версия PowerShell Core выйдет как PowerShell 7.0.

Основной посыл в том, что с переходом на .Net Core 3.0 пользователи получат версию почти на 90% совместимую с Windows PowerShell.

Имя PowerShell 7.0 без Core также призвано демонстрировать этот факт.

Ещё один важный момент: теперь выпуски основных версий будут следовать выпускам .Net Core. Это означает, что появятся LTS версии с увеличенным временем поддержки. Это будет стимулировать использование PowerShell Core в других продуктах. По-прежнему каждый месяц будут выходить предварительные версии для тестирования исправлений и новых функций.

Кроме этого PowerShell 7.0 в скором времени будет добавлено в Windows 10 как дополнительный компонент.

Настройка Start Layout в Windows 10


Теперь мы можем централизованно настраивать Start Layout для корпоративных пользователей.

Описано в блоге https://blogs.technet.microsoft.com/deploymentguys/2016/03/07/windows-10-start-layout-customization/

Документация https://docs.microsoft.com/en-us/windows/configuration/customize-and-export-start-layout

По поводу DesktopApplicationLinkPath — это работает, но сам файл lnk должен быть в папке меню, например, %ALLUSERPROFILE%\Microsoft\Windows\Start Menu\Programs

Памятка по установке RSAT


Последние версии RSAT уже не имеют msi файлов.

Установка через GUI не работает, поэтому скрипт:

$currentWU = Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "UseWUServer" | select -ExpandProperty UseWUServer
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "UseWUServer" -Value 0
Restart-Service wuauserv
Get-WindowsCapability -Name RSAT* -Online | Add-WindowsCapability –Online
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "UseWUServer" -Value $currentWU
Restart-Service wuauserv

Это отключает WSUS и грузит RSAT из Интернет. Вместо этого можно скачать ISO с FoD (Feature on Demand), распаковать и указать путь к этой директории в параметре Source.

Remote Desktop 2019 — профили и миграция


В начале февраля выбрал для пробы один узел терминальной фермы на Windows Server 2012 R2 и запустил обновление до Windows Server 2019. Февраль на исходе, я в отпуске, катюсь на горных лыжах, а миграция всё ещё идёт: на ферме всего навсего пара тысяч с хвостиком профилей.

В общем, это совсем не рабочий сценарий.

Единственный вариант ускорить процесс это удалить все профили перед миграцией. Это можно сделать простым скриптом, который использует WMI Win32_UserProfile. После обновления профилей миграция пролетит быстро.

Что если профили содержат важную информацию и вам нужно всё же перенести её в новые профили? Тут вам придётся разработать план работ, который отражает вашу конкретную конфигурацию. Ничего универсального не существует (если только что-то коммерческое).

Если у вас терминальная ферма и профили лежат на шаре, то удаление вышеупомянутым скриптом затронет только локальные копии, на шаре информация сохранится.

Если профили только локальные (один сервер), то придется сделать их копию.

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

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

Кстати, профили теперь имеют суффикс V6. Да, Windows 10 начала с V5, а теперь уже V6. Какая-то бесконечная миграция профилей.

Подробная история профилей Windows https://www.ivanti.com/blog/a-brief-history-of-windows-profiles

Официальная статья на эту тему https://support.microsoft.com/en-us/help/3056198/roaming-user-profiles-versioning-in-windows-10-and-windows-server

Коротко о Delivery Optimization


Для Windows 10 компания Microsoft создала новый облачный сервис для оптимизации установки обновлений и соответствующую Windows службу Delivery Optimization.

С выходом Windows 10 Enterprise 2019 компании начали массовые миграции на Windows 10, и в корпоративной среде теперь нужно решить, как жить с Delivery Optimization.

Если корпоративные политики разрешают использовать облачные сервисы, то можно оставить настройки по умолчанию, тем более что это работает и с WSUS. Также можно подкрутить режим загрузки. В документации описано несколько доступных режимов https://docs.microsoft.com/en-us/windows/deployment/update/waas-delivery-optimization#download-mode.

Если корпоративные политики запрещают использование облачных сервисов, то включите с помощью политик режим Bypass. В этом случае у вас будет работать BranchCache и BITS. Скорее всего они у вас уже настроены. Есть нюанс: Delivery Optimization работает лучше с Distributed Cache mode, Hosted Cache mode не рекомендуется и тем более не работает с Configuration Manager. Подробности https://docs.microsoft.com/en-us/windows/deployment/update/waas-branchcache.