Microsoft была вынуждена выпустить AHQ и PowerShell-скрипт для поиска и восстановления некоторых ярлыков приложений Windows, так как недавно Microsoft Defender удалил их из-за ошибки в ASR-правиле.
В конце прошлой недели разработчики Microsoft выпустили обновление сигнатур для Microsoft Defender for Endpoint (1.381.2140.0), которое вносило изменения в правило ASR (Attack Surface Reduction), связанное с параметрами «Block Win32 API calls from Office macro» в Configuration Manager, а также «Win32 imports from Office macro code» в Intune. Фактически это правило обнаруживает и блокирует использование макросов VBA для вызовов Win32 API.
Однако обновление правила было выполнено с ошибкой (идентификатор правила: 92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b) и обернулось удалением ярлыков ряда приложений с рабочего стола, из меню «Пуск» и «Панели задач» Windows. По данным СМИ, проблема затронула как приложения, принадлежащие самой Microsoft, так и сторонние продукты.
Из-за этого произошли массовые сбои в корпоративных средах, а у специалистов техподдержки заметно прибавилось работы, так как пользователи попросту не могли найти и быстро запустить нужные приложения, а администраторы занимались восстановлением пропавших ярлыков. В итоге Microsoft спешно отключила неработающее правило.
В прошедшие выходные инженерам Microsoft пришлось выпустить AHQ и специальный PowerShell-скрипт для помощи администраторам, которые занимались поиском и восстановлением удаленных ярлыков.
Опубликованный на GitHub PowerShell проверяет ключ реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\, чтобы определить, установлены ли на конкретной машине 33 разные программы. Если программа установлена, скрипт проверит наличие соответствующего ярлыка в меню «Пуск» и, если его нет, создаст заново. Список приложений, которые проверяет скрипт, можно найти в таблице ниже.
Adobe Acrobat | Adobe Photoshop 2023 |
Adobe Illustrator 2023 | Adobe Creative Cloud |
Firefox Private Browsing | Firefox |
Google Chrome | Microsoft Edge |
Notepad++ | Parallels Client |
Remote Desktop | TeamViewer |
Royal TS6 | Elgato StreamDeck |
Visual Studio 2022 | Visual Studio Code |
Camtasia Studio | Camtasia Recorder |
Jabra Direct | 7-Zip File Manager |
Access | Excel |
OneDrive | OneNote |
Outlook | PowerPoint |
Project | Publisher |
Visio | Word |
PowerShell 7 (x64) | SQL Server Management Studio |
Azure Data Studio |
К сожалению, список совсем небольшой, и на деле пострадавших приложений было больше. Поэтому в Microsoft отмечают, что организации могут изменить скрипт самостоятельно, включив $programs и другие продукты.
Также отмечается, что ярлыки можно восстановить вручную, но этот процесс займет гораздо больше времени, так как часто для этого придется переустанавливать всю программу, и не все приложения предлагают функцию восстановления.
При этом издание Bleeping Computer пишет, что предложенный компанией скрипт работает не во всех случаях: администраторы жалуются, что он не всегда способен восстановить даже ярлыки целевых приложений, таких как Microsoft Office. Кроме того, скрипт воссоздает только ярлыки в меню «Пуск», но не может воссоздать ярлыки, удаленные с «Панели быстрого запуска, «Панели задач» или с рабочего стола Windows.