Уявіть два сценарії. У першому вимагач за кілька хвилин шифрує сотні файлів на ПК — договори, звіти, таблиці, — а OneDrive сумлінно синхронізує в хмару вже пошкоджені версії. У другому з OneDrive видаляють геть усі файли й очищають обидва кошики: працівник, який іде з компанії, або хтось, хто дізнався його пароль. Так буває частіше, ніж хочеться думати, а напрацювання за законом і за договором належать компанії.

Чи готова ваша компанія до кожного з цих сценаріїв? Ми перевірили — і відповідь залежить від того, чи є у вас копія поза OneDrive користувача.

Коротка відповідь

Що OneDrive врятував

  • ✓Один зіпсований файл — повернувся з історії версій без жодних втрат.
  • ✓Видалена тека з 58 файлами — повернулась із кошика одним кліком.

Де не врятував

  • ✕531 файл зіпсовано за 2 хвилини — OneDrive не попередив і весь час показував «синхронізовано».
  • ✕Історія версій повертає їх лише по одному — а в деяких файлів справної версії немає взагалі. Відкотити весь OneDrive можна, але разом з усіма змінами після атаки.
  • ✕Файли видалили разом з обома кошиками — за 5 кліків, звичайним користувачем, без адміністратора. Повернути їх уже нічим.

Висновок: OneDrive добре рятує від окремих помилок, але сам по собі не є резервною копією за правилом 3‑2‑1. Схема нижче закриває це засобами вашого ж Microsoft 365.

Розкриття. Ми робимо OneMount — застосунок для SharePoint і OneDrive, який серед іншого робить резервні копії. Тому спершу методика й цифри, а там, де OneDrive впорався, ми пишемо про це прямо. Половина схеми нижче працює взагалі без нашого продукту.

Видалення всіх файлів разом із кошиками: п'ять кліків

Почнемо з найнеприємнішого: людина, яка має доступ до облікового запису, — працівник перед звільненням чи зловмисник з його паролем — видаляє робочі теки й замітає сліди. Ми робили це під звичайним тестовим користувачем, не адміністратором. Видалена тека Finance з «Документів» — 39 МБ звітів і таблиць — лягає в кошик OneDrive, і там у того самого користувача поруч із «Відновити» є кнопка «Видалити».

Кошик OneDrive: видалена тека Finance з Documents, у меню доступні Відновити і Видалити
Тека Finance з «Документів» у кошику. Користувач може не лише відновити її, а й видалити звідси.

Чи вдасться так стерти все до кінця, ми перевірили на великому файлі в 543 МБ — для OneDrive немає різниці, тека це з документами чи один файл:

  1. Видалили в OneDrive у браузері — файл ліг у кошик.
  2. Видалили з кошика — він перейшов у кошик другого рівня.
  3. Видалили з кошика другого рівня — і більше його немає ніде.
Ліворуч — перший кошик: файл на 543 МБ видалив сам користувач. Праворуч — кошик другого рівня: його користувач теж бачить і може очистити. Ліворуч — перший кошик: файл на 543 МБ видалив сам користувач. Праворуч — кошик другого рівня: його користувач теж бачить і може очистити.
Ліворуч — перший кошик: файл на 543 МБ видалив сам користувач. Праворуч — кошик другого рівня: його користувач теж бачить і може очистити.

Ми спостерігали Файл зник повністю, жодного дозволу адміністратора не знадобилося. Причина проста: в особистому OneDrive користувач — власник, тобто адміністратор колекції сайтів. Він може видалити будь-що й очистити обидва кошики. Вимагач, що працює під його обліковим записом, може те саме.

Що лишається після цього. Microsoft заявила Підтримка Microsoft може відновити OneDrive цілком на момент у межах останніх 14 днів — окремі файли так не повертаються, а відкат чіпає й усе, що змінилось після. А якщо працівник уже звільнився й обліковий запис видалено, його OneDrive типово зберігається лише 30 днів.

Тобто OneDrive добре рятує від випадкових помилок. Від навмисного видалення всіх файлів він не рятує, бо все, що в нього є, живе в тому самому акаунті. Далі — що саме OneDrive вміє, як ми це перевірили і як зробити копію, якої користувач стерти не може.

Синхронізація і резервна копія — це різне

Більшість суперечок «OneDrive — це бекап чи ні?» плутають дві речі. Синхронізація робить усі копії однаковими якнайшвидше — саме цього ви хочете, поки працюєте, і саме це заважає в день збою: збій синхронізується теж. Резервна копія — це знімок на певний момент, якого наступні зміни не торкаються.

Синхронізація (OneDrive)Резервна копія
Що копіюєПоточний стан, безперервноЗнімок на момент, за розкладом
Видалений файлЗникає всюди, далі — кошикЛишається в кожному попередньому знімку
Пошкоджений файлЗамінює добру копію; стара живе як версіяПопередні знімки не змінюються
Сотні файлів одразуПоштучно або відкат усього OneDriveУвесь набір з одного знімка

Плутанина — не провина користувачів. Windows 11 пропонує «створити резервну копію» Робочого столу, Документів і Зображень, а насправді вмикає їхню синхронізацію з OneDrive — часто ще під час налаштування нового ПК, про що писали PCWorld та Office Watch. Назва «резервна копія» не змінює того, як це працює.

Що Microsoft зберігає за вас

Для робочих і навчальних облікових записів (OneDrive для бізнесу й SharePoint Online) — Microsoft заявила:

МеханізмЩо робитьМежа
Історія версійПопередні версії кожного файлу, будь-якого типуТипово 500 версій; у режимі Automatic — усі версії перших 30 днів, далі проріджено (документація)
КошикВидалені файли й теки; другий рівень — для власника сайту93 дні від видалення; займає квоту сховища (документація)
«Відновити OneDrive»Відкат усього OneDrive на момент у минулому30 днів; спирається на версії й кошик (документація)
OneDrive звільненого працівникаЗберігається після видалення облікового записуТипово 30 днів (документація)
Microsoft 365 BackupОкремий платний сервіс із точками відновленняДо 1 року; $0,15 за ГБ на місяць (документація)

Це пристойний набір, і чесна відповідь — не «OneDrive загубить ваші файли». Сценарій «хмара сама зіпсувала файл» практично не реальний. Реальний — коли файл псуєте ви, програма на ПК чи зловмисник, а синхронізація чесно передає це в хмару.

Три тести відновлення OneDrive

Окрема віртуальна машина з Windows 11 і стандартним клієнтом OneDrive, тестовий обліковий запис без прав адміністратора (Microsoft 365 Business Standard), Робочий стіл і Документи перенесені в OneDrive, типові налаштування тенанта. Набір — 263 реалістичні файли (Word, Excel, PDF, PowerPoint, зображення) на 188 МБ, згенеровані скриптом. Перед кожною руйнівною дією ми знімали контрольні суми SHA-256: файл «цілий», лише якщо збігся з еталоном байт у байт.

Тест 1. Пошкоджений файл — OneDrive впорався

Найбуденніший випадок: програма падає під час збереження або людина зберігає не той вміст. Ми перезаписали таблицю Excel випадковими байтами того самого розміру.

Excel не відкриває пошкоджений файл
Після пошкодження Excel файл не відкриває.

Ми виміряли Пошкоджена версія потрапила в хмару за кілька секунд (в одному з трьох прогонів — за 2 хв 23 с). Відновлення — Провідник → правою кнопкою на файлі → OneDrive → Version history → попередня версія → «Відновити». Через 30 секунд – 3 хвилини файл на ПК знову збігся з еталоном байт у байт.

Меню Провідника: OneDrive, Version history
Історію версій не треба шукати у вебі — вона є в контекстному меню Провідника.
  • Поки ПК не оновився, файл виглядає пошкодженим, хоча в хмарі все вже гаразд. Не відновлюйте вдруге.
  • Кілька близьких збережень можуть злитися в одну версію — «кожне збереження = версія» не гарантовано.
  • Відкриття файлу в Excel у браузері створює нову версію, навіть без змін. Шукаючи добру версію, дивіться історію, а не відкривайте файли по черзі.

Тест 2. Видалена тека — один клік

Ми видалили теку з фінансовими документами — 58 файлів, 39,4 МБ — звичайною клавішею Delete. За 10 секунд тека зникла з хмари. У кошику OneDrive вона лежала одним записом, і «Відновити» повернуло 58 файлів з 58 за кілька секунд, зі структурою тек.

Кошик OneDrive: видалена тека Finance одним записом
Уся тека — один запис у кошику. Відновлення — один клік.

Дві дрібниці з наслідками. У Windows два кошики: кошик Windows живе лише на цьому ПК, тож від зламаного чи вкраденого ноутбука рятує тільки кошик OneDrive. А відновлені файли повертаються як «лише в хмарі» — без інтернету вони не відкриються.

Тест 3. Зіпсовано все — і ніхто не попередив

Вимагач чи збійний скрипт псують не один файл, а все підряд. Ми зіпсували вміст усього Робочого столу й Документів тестового користувача — разом із тим, що там накопичилось за дні тестів. Імена, теки й розміри лишились ті самі: на перший погляд усе на місці, поки не спробуєш відкрити.

531 файл зіпсовано за 2 хвилини: знімки не відкриваються, Excel в браузері не відкриває книгу — отже, у хмарі вже зіпсована версія, а OneDrive тим часом показує «Backed up and synced». 531 файл зіпсовано за 2 хвилини: знімки не відкриваються, Excel в браузері не відкриває книгу — отже, у хмарі вже зіпсована версія, а OneDrive тим часом показує «Backed up and synced». 531 файл зіпсовано за 2 хвилини: знімки не відкриваються, Excel в браузері не відкриває книгу — отже, у хмарі вже зіпсована версія, а OneDrive тим часом показує «Backed up and synced».
531 файл зіпсовано за 2 хвилини: знімки не відкриваються, Excel в браузері не відкриває книгу — отже, у хмарі вже зіпсована версія, а OneDrive тим часом показує «Backed up and synced».

Ми виміряли 531 з 532 файлів (~778 МБ) за 123 секунди. Ми спостерігали OneDrive не показав жодного попередження про масову зміну — лише «синхронізовано». Кошик порожній: файли ж ніхто не видаляв.

Шлях 1 — історія версій. Там, де справна версія є, вона повертається коректно. Але відновлювати треба кожен файл окремо: відкрити, історія, версія, «Відновити», наступний. Для сотень файлів — години однакових кліків.

Історія версій одного файлу: остання версія пошкоджена, попередні цілі
Остання версія пошкоджена, попередні цілі — але кожен файл відновлюється окремо.

І справна версія є не в кожного. Ми спостерігали Серед файлів трапився текстовий документ, у якого в історії була лише одна версія — уже зіпсована. Повертати не було до чого. Такий файл ми знайшли випадково; скільки їх насправді серед 531, перебрати вручну неможливо.

Історія версій текстового файлу: одна версія, і та пошкоджена
Одна версія — і та зіпсована. Історія версій тут безсила.

Шлях 2 — резервна копія поруч із синхронізацією. Синхронізація за своєю природою повторює будь-яку зміну — і корисну, і шкідливу. Тому до неї додають те, чого в OneDrive немає: регулярний знімок тек, який після створення вже ніхто не змінює. Зіпсований сьогодні Робочий стіл не торкається вчорашнього знімка, і повертати доводиться не сотні файлів поштучно, а стан на конкретну дату.

Для тесту ми використали резервне копіювання в OneMount — нашому застосунку, який доповнює OneDrive, а не замінює його: за розкладом він складає теки ПК у датовані архіви в SharePoint або OneDrive. Ми обрали копію, зроблену до атаки, і весь Робочий стіл повернувся однією дією в окрему теку з датою копії. Наявні файли при цьому не перезаписуються, тож можна спокійно порівняти й забрати потрібне. Той самий принцип працює з будь-яким засобом резервного копіювання — важливо лише, щоб копія жила окремо від файлів, які синхронізуються.

OneMount: вибір копії Робочого столу для відновлення
Обираємо копію до пошкодження — і відновлюємо весь набір.
Провідник: відновлена тека Desktop з датою копії
Робочий стіл повернувся однією дією в теку з датою копії.
Після масового пошкодженняІсторія версій OneDriveРезервна копія (знімок)
Дій на 500+ файлівпо кілька на кожен файлодна на всю теку
Як знайти, що зламаноперебирати всене потрібно — повертається весь знімок
Файл без справної версіїне повернутиповертається стан на момент копії

Наша інтерпретація У OneDrive є ще «Відновити OneDrive» — відкат усього OneDrive на момент до атаки в межах 30 днів. Для масового пошкодження це сильний штатний інструмент, якщо версії цілі. Але він відкочує й усе корисне, зроблене після, і не допоможе, якщо разом із файлами очищено кошики — як у сценарії на початку статті.

Шифрувальник 2026: чому атака на OneDrive і SharePoint простіша, ніж здається

«Нас таке не стосується, це складно» — найпоширеніша відповідь. Але програмі-вимагачу не потрібно зламувати Microsoft 365. Достатньо запуститися в сеансі користувача — з листа, флешки чи «корисної» утиліти: далі вона має ті самі права, що й людина за комп'ютером. І дістатися хмарних файлів може трьома шляхами.

  1. Локально, як класичні шифрувальники. Програма псує файли на диску, а клієнт OneDrive сумлінно вивантажує зіпсовані версії в хмару — і в синхронізовані бібліотеки SharePoint теж. Саме це ми бачили в тесті 3: 531 файл за 2 хвилини, без жодного попередження.
  2. Через браузер. Користувач уже увійшов у Microsoft 365, тож програма може відкрити браузер з його профілем або викрасти файли cookie сесії й діяти від його імені на всіх сайтах, до яких він має доступ. Багатофакторна автентифікація тут не рятує: вона захищає момент входу, а не вже відкриту сесію.
  3. Через API. З токеном користувача досить кількох запитів до SharePoint чи Microsoft Graph, щоб перелічити доступні сайти, перезаписати або видалити файли, очистити кошики. Без вікон і без кліків.

Дослідження Proofpoint ще 2022 року описала сценарій саме для SharePoint і OneDrive: зловмисник у викраденому обліковому записі зменшує ліміт версій файлу до однієї й шифрує файл кілька разів — старих справних версій не лишається. Права адміністратора для цього не потрібні, а всі кроки автоматизуються через API й PowerShell; Microsoft відповіла, що функції працюють так, як задумано (Proofpoint). Схожий метод крадіжки сесії — розширення браузера, що викрадає cookie Entra ID і обходить MFA для Outlook, Teams, SharePoint та OneDrive, — дослідники показали 2025 року під назвою Cookie-Bite.

Штучний інтелект прибрав останній бар'єр

Раніше такий скрипт міг написати лише досвідчений розробник. Тепер — будь-хто, хто вміє описати задачу словами. Дослідження У серпні 2025 року ESET знайшла PromptLock — перший відомий шифрувальник, який сам генерує свої скрипти за допомогою мовної моделі; поки що це прототип, а не робоча атака (ESET). Того ж місяця Anthropic повідомила, що зловмисник із базовими навичками програмування за допомогою ШІ створював і продавав готові шифрувальники по 400–1 200 доларів (Anthropic). Висновок простий: усе, що ми робили в цій статті руками, — пошкодити сотні файлів, видалити теки, очистити кошики — сьогодні укладається в невеликий скрипт, написати який може будь-хто.

Коли пароль від Windows — той самий, що й від Microsoft 365

У багатьох компаніях облікові записи синхронізуються з локального Active Directory у Microsoft Entra ID: людина входить у Windows і в Microsoft 365 з тим самим паролем. Зручно — але зламаний комп'ютер чи домен стає ключем і до хмари. Microsoft заявила У серпні 2025 року Microsoft описала атаку угруповання Storm-0501: зловмисники захопили локальний Active Directory і сервер Entra Connect, скинули пароль синхронізованого облікового запису з роллю глобального адміністратора, у якого не було MFA, — і новий пароль синхронізувався в хмару. Далі вони вивантажили дані, видалили знімки, точки відновлення й резервні копії в Azure, а викуп вимагали через Teams (Microsoft Security Blog). Резервні копії в тому самому тенанті нападники знищили першими.

Що з цього випливає. Будь-яка дія, доступна користувачу, доступна й програмі, запущеній від його імені. Тому захист будується на двох речах, які від користувача не залежать:

  • копія, яку неможливо змінити з його облікового запису — тека «тільки додавання» з кроку 1 нижче;
  • копія поза тенантом — на локальному диску чи NAS, куди не дотягнеться навіть зламаний адміністратор Microsoft 365.

І гігієна облікових записів: стійка до фішингу MFA, окремі хмарні (не синхронізовані з AD) облікові записи адміністраторів, обмеження тривалості сесій через Conditional Access.

Чому OneDrive — ще не бекап: правило 3-2-1

Класичне правило резервного копіювання 3-2-1: три копії даних, на двох різних типах сховищ, одна — окремо від решти. Сучасний варіант 3-2-1-1-0 додає ще одну копію, яку не можна змінити, і нуль помилок у перевірках відновлення. З самим OneDrive у вас одна копія, віддзеркалена в кількох місцях: історія версій і кошик живуть у тому самому акаунті. Вони не дотягуються до таких подій:

  • видалення геть усіх файлів з очищенням обох кошиків — працівником перед звільненням чи зловмисником з його паролем;
  • зламаний або видалений обліковий запис, вимкнена ліцензія;
  • помилка адміністратора чи скрипта, що прибирає версії або кошики;
  • видалення, яке помітили пізніше, ніж за 93 дні.
Вимога 3-2-1Лише OneDriveСхема нижче
3 копіїПК + віддзеркалення в хмаріПК · OneDrive з історією версій · окрема копія за розкладом
2 типи сховищодна копія — зміни синхронізуютьсякопія з хмари на локальний диск чи NAS
1 окремоні — той самий акаунтокремий тенант або локальний диск
+1 незміннанітека «тільки додавання»: користувач копію не змінить і не видалить

Схема 3-2-1 у Microsoft 365: три кроки

Мета — додати до OneDrive незалежну копію за розкладом, яку не можна стерти з облікового запису користувача, і щоб вона не росла безмежно. Усе — засобами вашого Microsoft 365, без сторонніх хмар.

0
OneDrive з історією версійРобочі файли, як зараз. Рятує від щоденних помилок — тести 1 і 2.
1
Окрема тека копій «тільки додавання»Користувачі кладуть туди нові архіви, але не можуть змінити чи видалити жоден. Вимагач під їхнім обліковим записом — теж.
2
Ротація «тримати N» без кошикаПотік Power Automate тримає N найновіших копій і видаляє старіші назавжди, щоб кошик не з'їдав квоту.
3
Копії за розкладомЗастосунок робить датовані архіви тек з ПК і спільних бібліотек сайтів: з ПК — у теку з кроку 1, з хмари — на диск чи NAS. Ми використовуємо OneMount.

Де розмістити теку копій. Найсильніше — окремий тенант з власним сайтом SharePoint або локальний диск чи NAS (копія з хмари на ПК): події в основному тенанті до них не дотягуються. Найпростіше — окремий сайт SharePoint у тому ж тенанті: від помилок і вимагачів на ПК він захищає, від подій рівня тенанта — ні. Головне — щоб користувач там не був власником.

Крок 1. Тека копій «тільки додавання»

У SharePoint немає готового рівня дозволів «додавати можна, видаляти не можна», але його легко зібрати. Потрібен власник сайту.

  1. Рівень дозволів. ⚙ → Site permissions → Advanced permissions settings → Permission Levels → Contribute → Copy Permission Level. Назва — Backup Append-Only. Зніміть лише три права: Edit Items, Delete Items, Delete Versions.
  2. Окремі дозволи на теці. Тека копій → ⋯ → Manage access → Advanced settings → Stop Inheriting Permissions.
  3. Прибрати право редагування. Видаліть з теки групу учасників сайту (Members, Edit) — ефективні права об'єднуються з усіх груп, і з Edit людина видалятиме файли. Групу власників залиште.
  4. Видати «тільки додавання». Grant Permissions → група безпеки з користувачами, чиї копії сюди лягатимуть → рівень Backup Append-Only, без листа-запрошення.
Рівень дозволів Backup Append-Only: Add Items і View Items увімкнені, Edit і Delete вимкнені
Add Items і View Items лишаються; Edit Items, Delete Items і Delete Versions — вимкнені.
Дозволи теки копій: група записувачів з Backup Append-Only і власники сайту
Підсумок: група записувачів із «тільки додавання» і власники сайту.

Ми спостерігали Під звичайним користувачем новий архів завантажується, змінити чи видалити наявний — No access, завантажити собі для відновлення — можна.

Спроба видалити архів під користувачем: No access
Спроба видалити копію під обліковим записом користувача — «No access».

Це дозвіл, а не незмінне сховище: власник сайту й адміністратор тенанта видалити все одно можуть. Від помилки користувача й вимагача на ПК це захищає, від зламаного адміністратора — ні.

Крок 2. Ротація без кошика

Головний біль, про який рідко пишуть: видалені старі копії падають у кошик сайту й лежать там до 93 днів, займаючи квоту. При щоденному архіві на 5 ГБ у кошику постійно лежить близько 450 ГБ «видаленого». До того ж користувачі з кроку 1 видаляти не можуть — прибирати має хтось інший.

Рішення — потік Power Automate під обліковим записом власника сайту. Коли в теці з'являється новий архів <Джерело> рррр-ММ-дд ГГххсс.zip, потік бере архіви того самого джерела в тій самій теці, лишає N найновіших, а старші видаляє назавжди — але лише ті, яким уже більше D днів (типово 7). OneMount кладе копії кожного ПК в окрему підтеку, тож «Робочий стіл» двох комп'ютерів рахується окремо. Ми виміряли Стандартна дія «Delete file» кладе файл у кошик; видалення назавжди дає запит DELETE через «Send an HTTP request to SharePoint» — у кошиках обох рівнів видалених архівів не було, а кожен запуск потоку тривав близько пів секунди.

А якщо зловмисник розумніший? Він стирає Робочий стіл і Документи, а потім кладе в теку копій сім порожніх архівів поспіль. Потік «тримати 7» чесно залишить сім найновіших — тобто порожні — і назавжди видалить усі справжні копії. Тому в потоці друга умова: копію не видаляє ніхто, доки їй не виповниться D днів, хоч скільки нових архівів з'явилось. Дату створення ставить SharePoint, а змінити властивості файлу в теці «тільки додавання» користувач не може.

Ми змоделювали 20 днів щоденних копій, потім сім порожніх архівів за хвилину: лише з правилом N справжніх копій лишається 0, з мінімальним віком 7 днів — усі 7 копій за останній тиждень.

Два потоки: ротація і чищення покинутих ПК

1 · Ротація

Прокидається за кілька хвилин після кожної нової копії й одразу прибирає зайву стару в тій самій теці: лишає N найновіших і не чіпає нічого молодшого за мінімальний вік.

2 · Чищення покинутих ПК

Раз на добу. ПК зламався, перейшов до іншої людини, працівник звільнився — копії не приходять, і потік 1 туди не зазирне. Через 14 днів без копій лишається тільки остання, через 30 днів від її створення зникає і вона.

Поріг «покинутого» ставте більшим за відпустку й за найрідший розклад копій: ПК, вимкнений на два тижні, для потоку виглядає так само, як зламаний, і його історія скоротиться до однієї копії.

Варіант А · Генератор — рекомендовано (10 хвилин)

Генератор нічого не встановлює в тенант: він складає два .zip, які Power Automate імпортує як готові потоки, — manifest.json з назвою й описом і definition.json з усім потоком, де вже підставлено ваш сайт, бібліотеку, теку й числа. Саме для цього його й зроблено: п'ять клацань замість двох десятків полів і виразів.

  1. Завантажте onemount-retention-flow.zip, розпакуйте й запустіть Create-RetentionFlow.bat від імені власника сайту (у браузері — теж він).
  2. Вставте посилання на теку копій з адресного рядка — сайт, бібліотеку й теку генератор визначить сам. На службовій сторінці з ID бібліотеки натисніть Ctrl+A, Ctrl+C — вікно генератора це помітить.
  3. Дайте відповіді на два блоки питань (Enter — типове значення, до кожного є підказка). Поруч зі скриптом з'являться OneMount-1-Rotation-….zip, OneMount-2-Cleanup-….zip і OneMount-IMPORT-STEPS-….txt — інструкція саме з вашими назвами й числами.
  4. Імпортуйте кожен пакет: Power Automate → My flows → Import → Import Package (Legacy) → Upload. Рядок потоку лишіть Create as new; у червоному рядку SharePoint Connection — Select during import → з'єднання власника сайту (немає — + Create; клацніть рядок, щоб з'явилась ✓) → Save → Import.
  5. Увімкніть обидва потоки в My flows — імпортований потік вимкнений. Потік 1 має тип Automated, потік 2 — Scheduled. Старий потік ротації для цієї теки вимкніть або видаліть.
Генератор: питання з підказками і три готові файли.
Генератор: питання з підказками і три готові файли.
My flows → Import → Import Package (Legacy).
My flows → Import → Import Package (Legacy).
Upload — вибір пакета.
Upload — вибір пакета.
Опис пакета: назва, сайт, тека, числа; SharePoint Connection поки червоний.
Опис пакета: назва, сайт, тека, числа; SharePoint Connection поки червоний.
З'єднання власника сайту обрано — Import активна.
З'єднання власника сайту обрано — Import активна.
«All package resources were successfully imported».
«All package resources were successfully imported».
Імпортований потік вимкнений — увімкніть його.
Імпортований потік вимкнений — увімкніть його.
Обидва потоки увімкнено: 1-Rotation (Automated) і 2-Cleanup (Scheduled).
Обидва потоки увімкнено: 1-Rotation (Automated) і 2-Cleanup (Scheduled).

← гортайте вбік · клацніть знімок, щоб збільшити →

Перевірка. Потік 1 спрацьовує на нові архіви після увімкнення, з затримкою до ~5 хвилин (з ліцензією Microsoft 365 тригер перевіряє теку приблизно так часто): покладіть нову копію й подивіться історію запусків. Успішний запуск без видалень — норма, доки копій не більше N або вони молодші за мінімальний вік. Потік 2 не обов'язково чекати до ночі: відкрийте його → Test → Manually → Run flow. Для тесту ротації згенеруйте пакети з Create-RetentionFlow.bat -Keep 1 -MinAgeDays 0.

Варіант Б · Створити потоки вручну

Корисно, щоб розуміти, що всередині, або якщо імпорт пакетів у вашому середовищі заборонено. Загальні правила: вираз вставляйте через вкладку fx (або Edit in advanced mode у Filter array); назви дій задавайте точно як тут — вирази посилаються на них (пробіл у назві стає _: «Active sources» → body('Active_sources')). Замініть OneMount_BackUP, 7 копій, 7 / 14 / 30 днів і ID бібліотеки на свої.

Потік 1 · Ротація Automated cloud flow · 7 кроків
  1. Тригер — When a file is created (properties only) (SharePoint): Site Address і Library Name зі списку, з'єднання власника сайту.
  2. Condition, усі рядки через And; лівий бік — вираз, оператор і значення — як у підписі:
    1 · contains → OneMount_BackUP
    triggerOutputs()?['body/{Path}']
    2 · ends with → .zip
    toLower(triggerOutputs()?['body/{FilenameWithExtension}'])
    3 · is greater or equal to → 3
    length(split(triggerOutputs()?['body/{FilenameWithExtension}'], ' '))
    4 · is equal to → 10 (дата в назві)
    length(first(skip(split(triggerOutputs()?['body/{FilenameWithExtension}'], ' '), max(0, sub(length(split(triggerOutputs()?['body/{FilenameWithExtension}'], ' ')), 2)))))
  3. Гілка True → Compose — назва джерела без дати й часу («Desktop 2026-10-20 230000.zip» → «Desktop»):
    Inputs
    join(take(split(replace(triggerOutputs()?['body/{FilenameWithExtension}'], '.zip', ''), ' '), max(0, sub(length(split(replace(triggerOutputs()?['body/{FilenameWithExtension}'], '.zip', ''), ' ')), 2))), ' ')
  4. Get files (properties only) — той самий сайт і бібліотека, Order By: Created asc; Settings → Pagination On, Threshold 5000 (без цього потік бачить лише 100 файлів).
  5. Filter array — From: body/value з Get files; Edit in advanced mode — архіви того самого джерела в тій самій теці:
    Filter query
    @and(equals(item()?['{Path}'], triggerOutputs()?['body/{Path}']), endsWith(toLower(item()?['{FilenameWithExtension}']), '.zip'), equals(join(take(split(replace(item()?['{FilenameWithExtension}'], '.zip', ''), ' '), max(0, sub(length(split(replace(item()?['{FilenameWithExtension}'], '.zip', ''), ' ')), 2))), ' '), outputs('Compose')))
  6. Ще один Filter array, назва Filter old enough — понад N найновіших і старші за мінімальний вік:
    From · N = 7
    take(body('Filter_array'), max(0, sub(length(body('Filter_array')), 7)))
    Filter query · 7 днів
    @less(ticks(item()?['Created']), ticks(addDays(utcNow(), -7)))
  7. Apply to each над Body з Filter old enough → всередині Send an HTTP request to SharePoint: ваш сайт, Method DELETE, Headers IF-MATCH = * — видалення назавжди, повз кошик. ID бібліотеки — в адресі Library settings після List=. Save.
    Uri
    concat('_api/web/lists(guid''<ID бібліотеки>'')/items(', item()?['ID'], ')')
Потік 1 цілком; тригер — сайт і бібліотека.
Потік 1 цілком; тригер — сайт і бібліотека.
Condition: чотири рядки через And.
Condition: чотири рядки через And.
Filter array: From body/value, умова в розширеному режимі.
Filter array: From body/value, умова в розширеному режимі.
Filter old enough: From take(…), умова ticks(…) is less than ticks(…).
Filter old enough: From take(…), умова ticks(…) is less than ticks(…).
Apply to each над Body з Filter old enough.
Apply to each над Body з Filter old enough.
Усередині циклу — DELETE з IF-MATCH: *.
Усередині циклу — DELETE з IF-MATCH: *.
Історія запусків: кожен близько пів секунди.
Історія запусків: кожен близько пів секунди.

← гортайте вбік · клацніть знімок, щоб збільшити →

Потік 2 · Чищення покинутих ПК Scheduled cloud flow · 9 кроків
  1. Recurrence: Interval 1, Frequency Day, ваш часовий пояс, At these hours 3, At these minutes 0.
  2. Get files (properties only) — сайт і бібліотека, Order By: Created desc (найновіші першими — так при великій бібліотеці живий ПК ніколи не здасться покинутим); Pagination 5000.
  3. Filter array, назва Backups — From body/value; лише архіви OneMount у вашій теці:
    Filter query
    @and(contains(item()?['{Path}'], 'OneMount_BackUP'), endsWith(toLower(item()?['{FilenameWithExtension}']), '.zip'), greaterOrEquals(length(split(item()?['{FilenameWithExtension}'], ' ')), 3), equals(length(first(skip(split(item()?['{FilenameWithExtension}'], ' '), max(0, sub(length(split(item()?['{FilenameWithExtension}'], ' ')), 2))))), 10))
  4. Filter array «Recent» — From Body з Backups; копії за останні 14 днів:
    Filter query · 14 днів
    @greater(ticks(item()?['Created']), ticks(addDays(utcNow(), -14)))
  5. Select «Active sources» — From Body з Recent; Map у текстовому режимі (кнопка праворуч від Map) — ключ «тека|джерело»:
    Map
    concat(item()?['{Path}'], '|', join(take(split(replace(item()?['{FilenameWithExtension}'], '.zip', ''), ' '), max(0, sub(length(split(replace(item()?['{FilenameWithExtension}'], '.zip', ''), ' ')), 2))), ' '))
  6. Compose «Active set» — список без повторів:
    Inputs
    union(body('Active_sources'), body('Active_sources'))
  7. Filter array «Abandoned» — From Body з Backups; копії джерел, яких немає серед активних:
    Filter query
    @not(contains(outputs('Active_set'), concat(item()?['{Path}'], '|', join(take(split(replace(item()?['{FilenameWithExtension}'], '.zip', ''), ' '), max(0, sub(length(split(replace(item()?['{FilenameWithExtension}'], '.zip', ''), ' ')), 2))), ' '))))
  8. Condition: length(body('Abandoned')) is greater than 0. У гілці True — три дії: Select «Abandoned keys» (From Body з Abandoned, Map — той самий вираз, що в кроці 5); Select «Mark newest» — позначає останню копію кожного джерела; Filter array «To delete» — усі, крім останньої, і саму останню, коли їй понад 30 днів:
    Mark newest · From
    range(0, length(body('Abandoned')))
    Mark newest · Map: ID
    body('Abandoned')[item()]?['ID']
    Mark newest · Map: Created
    body('Abandoned')[item()]?['Created']
    Mark newest · Map: Newest
    not(contains(take(body('Abandoned_keys'), item()), body('Abandoned_keys')[item()]))
    To delete · From Body з Mark newest · Filter query · 30 днів
    @or(not(item()?['Newest']), less(ticks(item()?['Created']), ticks(addDays(utcNow(), -30))))
  9. Там само, після To delete — Apply to each над Body з To delete і той самий Send an HTTP request to SharePoint з DELETE, що в потоці 1. Save.
Recurrence: щодня о 3:00 за вашим часовим поясом.
Recurrence: щодня о 3:00 за вашим часовим поясом.
Get files: Order By Created desc.
Get files: Order By Created desc.
Backups: умова в розширеному режимі.
Backups: умова в розширеному режимі.
Recent: ticks(…) is greater than ticks(…).
Recent: ticks(…) is greater than ticks(…).
Active sources: Select, Map — concat(…).
Active sources: Select, Map — concat(…).
Active set: union(…).
Active set: union(…).
Abandoned: Outputs does not contain concat(…).
Abandoned: Outputs does not contain concat(…).
Condition: length(…) is greater than 0.
Condition: length(…) is greater than 0.

← гортайте вбік · клацніть знімок, щоб збільшити →

Ціна видалення назавжди — кошик більше не страхує від помилки самого потоку. Тому обидва потоки торкаються лише архівів .zip з датою в назві, рахують кожне джерело в кожній теці окремо і не видаляють нічого молодшого за мінімальний вік. Перший запуск робіть на тестових значеннях.

Крок 3. Копії за розкладом

Кроки 1 і 2 працюють із будь-яким засобом, що кладе в SharePoint датовані архіви. Ми використовуємо OneMount: майстер на чотири кроки — напрямок, що копіювати, куди, як часто.

Майстер резервних копій OneMount: з ПК у хмару або з хмари на ПК
Крок 1 майстра: з ПК у хмару або з хмари на ПК.
Майстер OneMount: вибір теки копій OneMount_BackUP
Крок 3: обираємо теку з кроку 1. OneMount додає підтеку з іменем ПК.
  • Знімки, а не синхронізація. Кожен запуск — новий датований архів, у який потім ніхто не пише.
  • Працює з текою «тільки додавання». OneMount сам перевіряє права й попереджає в картці копії. Великі архіви передає через OneDrive користувача й серверне копіювання SharePoint — права «додавати» достатньо.
  • В обидва боки. Теки з ПК — у SharePoint чи OneDrive; бібліотеки SharePoint — на локальний диск чи NAS, тобто та копія поза Microsoft 365, якої вимагає 3-2-1.
  • Відновлення всього набору одразу, просто з хмари; наявні файли не перезаписуються.
Картка копії OneMount: тека тільки додавання розпізнана
Картка копії: OneMount розпізнав теку «тільки додавання»; «Зберігати: ∞» — ротацію робить потік.
Меню архіву в теці копій під користувачем: немає пункту Delete
Архіви в теці копій під обліковим записом користувача: у меню немає «Delete».
OneMount: відновлення Робочого столу, вибір копії за датою
Відновлення: копія за датою, нова тека з датою — нічого не перезаписується.

Ми спостерігали Під звичайним користувачем копія Робочого столу на 510,8 МБ лягла в теку «тільки додавання», повторна копія того ж дня — поруч, а видалити архів користувач не може.

Що копіювати: спільні бібліотеки — не менше, ніж OneDrive

Досі мова йшла про файли користувача. Але в більшості організацій найцінніше лежить у спільних бібліотеках сайтів SharePoint: договори, бухгалтерія, кадрові документи, проєкти. Файли команд Teams — теж бібліотеки сайтів. І ризик там часто вищий, ніж в особистому сховищі:

  • одна людина — наслідки для всього відділу. Учасник сайту з правом редагування може видалити теку, з якою працюють десятки колег, а власник сайту — ще й очистити обидва кошики;
  • пошкодження розходиться ширше. Зашифровані на одному ПК файли синхронізуються в бібліотеку, а звідти — на комп'ютери всіх, хто її синхронізує;
  • помітити пізно. Спільна тека «нічия»: зниклі файли часто шукають тоді, коли до кінця строку в кошику лишились дні.

Тому пріоритети варто розставляти за тим, що коштуватиме бізнесу втрата, а не за тим, де файли лежать:

ДаніПріоритетЯк копіювати
Бібліотеки відділів: фінанси, договори, кадри, проєктинайвищийз хмари на диск чи NAS, щодня
Файли команд Teamsвисокийтак само — це бібліотеки сайтів
Робочий стіл і Документи ПКвисокийз ПК у теку «тільки додавання» — схема вище
OneDrive користувачівза роллю людиниз хмари на диск чи NAS; для ключових працівників — обов'язково
Архіви, що рідко змінюютьсянижчийраз на тиждень

OneMount копіює бібліотеки сайтів тим самим механізмом, що й теки з ПК: напрямок «З хмари на цей ПК», датовані знімки за розкладом, відновлення всього набору в окрему теку. Як саме це вбудувати в інфраструктуру, вирішує адміністратор. Типовий варіант — окремий комп'ютер чи сервер, який працює постійно: OneMount під обліковим записом із правом читання потрібних бібліотек кладе копії на локальний диск чи NAS. Така копія лежить поза Microsoft 365 — саме та окрема копія, якої вимагає правило 3‑2‑1, — а керувати завданнями й бачити їхній стан можна централізовано.

А якщо копії тримати в OneDrive користувача?

Спокуса зрозуміла: у кожного працівника вже є OneDrive на 1 ТБ, а загального сховища тенанту на копії Робочих столів по 20–40 ГБ у компанії на тисячу людей може не вистачити. Але, як ми бачили на початку, в особистому OneDrive користувач — власник, і рівень «тільки додавання» там не діє: копію він видалить разом із кошиками.

Обмежити його може лише політика зберігання Microsoft Purview, яку налаштовує адміністратор відповідності. Microsoft заявила Вона не забороняє видаляти й чистити кошики, але перед видаленням чи зміною зберігає копію в прихованій бібліотеці Preservation Hold Library, і звідти її не прибере ні користувач, ні вимагач, доки не мине строк (документація). Саме це не дасть безслідно видалити файли — ні працівнику перед звільненням, ні зловмиснику з його паролем.

  1. Портал Microsoft Purview → Data lifecycle management → Retention policies → New retention policy.
  2. Розташування — лише OneDrive accounts (для пілоту — кілька користувачів чи група).
  3. Retain items for a specific period, наприклад 90 днів; наприкінці — Do nothing.
  4. Застосування займає до 7 днів; стан — Get-RetentionCompliancePolicy -DistributionDetail. Бібліотека з'являється після першої зміни чи видалення під політикою: https://<тенант>-my.sharepoint.com/personal/<користувач>/PreservationHoldLibrary.

Ціна цього варіанту. Ми його не тестували, і ось чому не радимо як основний:

  • політика діє на весь OneDrive — зберігається все, що людина змінює й видаляє;
  • місце — з квоти самого користувача, а кожна прибрана копія займає його двічі: у кошику й у Preservation Hold Library;
  • повернути копію може лише адміністратор;
  • це той самий акаунт і тенант — не 3-2-1.

Інший варіант: копія OneDrive на мережеву теку

Можна піти й у зворотний бік: копіювати OneDrive користувача з хмари на локальний диск чи мережеву теку (\\сервер\тека). У майстрі OneMount це напрямок «З хмари на цей ПК»: обираєте OneDrive, а місцем копій — мережеву теку, у яку користувач має право писати. Ми спостерігали Копія лягла архівом у мережеву теку, як на звичайний диск. Така копія лежить поза Microsoft 365 — тобто це та сама окрема копія з правила 3-2-1.

Картка копії OneMount: з особистого OneDrive у мережеву теку localhost Share2, щодня
Копія OneDrive користувача з хмари в мережеву теку — щодня, вночі, 7 останніх копій.

Одне важливе «але»: копіюється те, що є в хмарі. Якщо OneDrive на ПК у людини давно не синхронізується (так буває, і місяцями ніхто не помічає), найсвіжіших файлів у хмарі просто немає — і в копії теж. Тому цей варіант добре доповнює копію з ПК, а не замінює її. І пам'ятайте: хто може писати в мережеву теку, той зазвичай може з неї й видаляти — права на ній варто налаштувати окремо.

Наша інтерпретація Для компанії, де напрацювання — власність компанії, найнадійніше — копії на окремому тенанті чи окремому сайті SharePoint з текою «тільки додавання», де користувач не власник. Політика Purview на OneDrive — запасний варіант, коли окремого сховища немає зовсім.

Що таке OneMount

OneMount — спеціалізований застосунок для роботи з SharePoint Online і OneDrive для бізнесу у Windows. Він доповнює OneDrive, а не замінює його:

  • підключає бібліотеки SharePoint і OneDrive як диски в Провіднику — з літерою, без синхронізації й локальних копій, зі співредагуванням Office;
  • робить резервні копії за розкладом — тек з ПК у SharePoint чи OneDrive і бібліотек SharePoint на локальний диск, з відновленням в один крок;
  • керується централізовано — з кабінету адміністратора чи груповими політиками, і адміністратор бачить стан копій на всіх ПК.

Без сторонніх хмар і без реєстрації застосунків в Azure: дані лишаються у вашому Microsoft 365. Як підключити SharePoint як мережевий диск →

FAQ: OneDrive і резервні копії

Чи є OneDrive резервною копією?

Не в повному сенсі. OneDrive — синхронізація з добрими функціями відновлення: окремі пошкоджені й видалені файли в наших тестах повернулись байт у байт. Але це одна копія даних у тому самому акаунті, тож правило 3-2-1 він сам по собі не виконує, а при масовому пошкодженні відновлює файли поштучно.

Чи може працівник перед звільненням видалити геть усі файли з OneDrive?

Так. В особистому OneDrive користувач — власник: він може видалити файли й очистити обидва кошики. Ми перевірили це на файлі в 543 МБ — він зник без участі адміністратора. Захистити напрацювання можна окремою копією, яку користувач не контролює, або політикою зберігання Microsoft Purview.

Що буде, якщо всі файли в OneDrive зашифрують або видалять разом із кошиком?

Масове шифрування OneDrive синхронізує в хмару як звичайні зміни. Окремі файли повертаються з історії версій поштучно, весь OneDrive — функцією «Відновити OneDrive» на момент до атаки в межах 30 днів, якщо помітити вчасно. Видалення з очищенням обох кошиків гірше: зловмисник під обліковим записом користувача має ті самі права, що й власник OneDrive, окремі файли вже не повернути, а підтримка Microsoft може відкотити лише весь OneDrive у межах 14 днів. Тому потрібна копія в місці, куди цей обліковий запис не має права видаляти.

Скільки зберігаються видалені файли в OneDrive для бізнесу?

93 дні в кошику (першого й другого рівня разом). Видалене з кошика другого рівня окремими файлами вже не повертається.

Скільки версій зберігає OneDrive?

Типово 500 на файл. У режимі Automatic — усі версії перших 30 днів, старші проріджуються. Історія версій працює для будь-якого типу файлу — ми відновлювали і Excel, і PDF.

Чи можна в SharePoint дати право додавати файли, але не видаляти?

Так: скопіюйте рівень дозволів Contribute без Edit Items, Delete Items і Delete Versions, розірвіть успадкування на теці й видайте новий рівень. Пам'ятайте: права з усіх груп користувача об'єднуються.

Чому заповнюється місце на сайті, хоча старі копії видаляються?

Бо видалене лежить у кошику сайту до 93 днів і займає квоту. Видаляйте старі копії запитом REST DELETE — він минає кошик.

Чи може вірус-шифрувальник зашифрувати файли в OneDrive і SharePoint?

Так. Програма, запущена в сеансі користувача, має його права: шифрує файли на диску, а OneDrive вивантажує зіпсовані версії в хмару; або використовує вже відкриту сесію браузера чи токен і через API змінює й видаляє файли на всіх доступних сайтах. Якщо пароль від Windows синхронізований із Microsoft 365, зламаний ПК чи домен відкриває й хмару. Захищає копія, яку не можна змінити з облікового запису користувача, і копія поза тенантом.

А файловий сервер надійніший за OneDrive?

Не сам по собі — усе залежить від налаштування. На Windows Server є «Тіньові копії спільних тек» (вкладка «Попередні версії»), а NAS на кшталт Synology чи QNAP роблять знімки файлової системи. Але це знімки за розкладом — типово для Windows о 7:00 і 12:00 у будні, до 64 штук, — а не історія кожної зміни документа, як в OneDrive: усе, що змінилось між знімками, повернути не вийде. Перевага — вимагач, що шифрує спільну теку з ПК користувача, знімки на сервері не зачепить, а на NAS їх можна зробити незмінними. Слабкі місця — зловмисник із правами адміністратора сервера видаляє тіньові копії першою ж командою, а самі знімки лежать на тому ж сервері, тож це не окрема копія за правилом 3‑2‑1. Висновок той самий, що й для OneDrive: поруч потрібна окрема резервна копія. А звичку до мережевого диска з літерою зберігає SharePoint, підключений як диск.

Чи потрібен Microsoft 365 Backup, якщо вже є OneDrive?

Це нативний вибір, якщо треба відновлювати цілі сайти й OneDrive до року назад і є адміністратор, який цим займатиметься. Коштує $0,15 за ГБ на місяць — для 30 ТБ це близько $4 500 на місяць — і не покриває файлів, які є лише на ПК.


Як OneDrive поводиться з по-справжньому великими бібліотеками — тест синхронізації 1 000 000 файлів →


Джерела