Як відновити доступ до файлів і папок в Windows

4 хв читання

Що робити якщо Windows каже 'немає доступу до папки', файл заблокований або потрібні права адміністратора. Як взяти право власності і змінити дозволи NTFS.

"Немає доступу до папки" або "Вам потрібен дозвіл від..." — типові помилки при роботі з системними файлами або файлами від іншого облікового запису. Ось як виправити.


Взяти право власності на папку

Через графічний інтерфейс: Правий клік на папці → ВластивостіБезпекаДодатковоВласник: Змінити → введи своє ім'я → OK → постав галочку Замінити власника підконтейнерів і об'єктівOK.

Через CMD (швидше):

rem Взяти право власності
takeown /f "C:\SystemFolder" /r /d y

rem Дати повний доступ
icacls "C:\SystemFolder" /grant Administrators:F /t

Через PowerShell:

# Взяти право власності
$path = "C:\LockedFolder"
$acl = Get-Acl $path
$owner = New-Object System.Security.Principal.NTAccount($env:USERNAME)
$acl.SetOwner($owner)
Set-Acl $path $acl

# Дати повний доступ
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule(
  $env:USERNAME, "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow"
)
$acl.AddAccessRule($rule)
Set-Acl $path $acl

Файл заблокований іншою програмою

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

# Знайти хто тримає файл (через Resource Monitor)
# Win + R → resmon → CPU → Associated Handles → введи ім'я файлу

# Або через PowerShell з Sysinternals (потрібен handle.exe)
# handle.exe "filename.txt"

Або в Task Manager → вкладка Деталі → знайди процес → завершити задачу → повторити видалення.


Видалити незнищуваний файл

Якщо файл не видаляється навіть після закриття програм:

# Видалити при наступному перезавантаженні
$source = "C:\Locked\file.exe"
$null = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto(
  [System.Runtime.InteropServices.Marshal]::StringToHGlobalAnsi($source)
)

# Простіший спосіб через cmd
cmd /c "del /f /q `"C:\Locked\file.exe`""

Або: перезавантаж → відразу видали до завантаження Windows Explorer (через Recovery CMD).


Відновити дозволи до стандартних

Якщо випадково зламав права доступу:

rem Відновити стандартні дозволи для системної папки
icacls "C:\Windows" /reset /t /c /q

rem Відновити для папки користувача
icacls "C:\Users\%USERNAME%" /reset /t /c /q

Типові помилки і рішення

"Вам потрібен дозвіл від TrustedInstaller": Системні файли захищені TrustedInstaller. Рідко потрібно їх міняти. Якщо необхідно:

takeown /f "C:\Windows\System32\file.dll"
icacls "C:\Windows\System32\file.dll" /grant Administrators:F

"Операція вимагає підвищення привілеїв": Запусти CMD або PowerShell від адміністратора: Win + XТермінал (адміністратор).

"Файл використовується іншим процесом" при видаленні: Shift + Delete іноді допомагає. Або завантажся в Safe Mode і видали.


Резюме

Для помилки "Немає доступу": takeown /f папка /r /d y потім icacls папка /grant Administrators:F /t. Для заблокованих файлів: знайди процес через Resource Monitor і завери його. Для системних файлів захищених TrustedInstaller: спочатку takeown, потім icacls.

Схожі статті

← Всі статті