- Windows как залочить файл
- Что такое заблокированный файл
- Как разблокировать файл в Windows 10
- Снятие блокировки файла через PowerShell
- Как заблокировать файл в Windows 10
- Как ограничить доступ к файлу или папке
- 1 Как заблокировать файл
- Файл заблокирован процессом Windows, как снять блокировку?
- Как разблокировать файл с помощью Process Explorer?
- Сброс дескриптора файла с помощью утилиты Handle
Windows как залочить файл
Добрый день! Уважаемые читатели и гости одного из крупнейших блогов по системному администрированию Pyatilistnik.org. В прошлый раз мы с вами научились производить обновление групповой политики разными методами, как локально так и удаленно. В сегодняшней заметке я рассмотрю более обыденный вопрос, как разблокировать файл в Windows 10, что это вообще за файлы и можно ли самому создать такой заблокированный файл. Уверен, что вы хоть раз да встречались с таким.
Что такое заблокированный файл
В операционной системе Windows 10 есть компонент «Диспетчер вложений (Attachment Manager)» — он нужен, чтобы помочь защитить ваш компьютер от небезопасных вложений, которые вы можете получить с помощью сообщения электронной почты, и от небезопасных файлов, которые вы можете сохранить из Интернета посредством браузера. Если Диспетчер вложений определяет вложение, которое может быть небезопасным, то он запрещает вам открывать файл или предупреждает вас перед его открытием.
Диспетчер вложений Windows использует интерфейс прикладного программирования (API) IAttachmentExecute, чтобы найти тип файла, найти ассоциацию файла. Когда одно из этих приложений сохраняет загруженный файл на диск, отформатированный в NTFS, он обновляет метаданные для файла с зоны, из которой он был загружен. Метаданные сохраняются как
- Тип программы, которую вы используете.
- Тип файла, который вы загружаете или пытаетесь открыть
- Параметры безопасности зоны веб-содержимого, из которой вы загружаете файл (Интернет, Местная интрасеть, Надежные узлы, Опасные сайты)
Диспетчер вложений классифицирует файлы, которые вы получаете или загружаете, в зависимости от типа файла и расширения имени файла. Диспетчер вложений классифицирует типы файлов как группы с высоким, средним и низким уровнем риска.
- Высокий риск — если вложение находится в списке типов файлов с высоким риском и находится в зоне ограниченного доступа, Windows блокирует доступ пользователя к файлу. Если файл находится в зоне Интернета, Windows предлагает пользователю предупреждение системы безопасности Windows: «Windows обнаружила, что этот файл потенциально опасен. Чтобы защитить ваш компьютер, Windows заблокировала доступ к этому файлу.»
- Умеренный риск — если вложение находится в списке типов файлов с умеренным риском и относится к зоне с ограниченным доступом или из Интернета, Windows выдает пользователю предупреждение: «Не удалось проверить издателя. Вы уверены, что хотите запустить это программное обеспечение?».
- Низкий уровень риска. Если вложение находится в списке типов файлов с низким уровнем риска, Windows не будет запрашивать пользователя перед доступом к файлу, независимо от информации о зоне файла.
Поэтому если простым языком, то заблокированный файл — это файл который попал под правила проверки диспетчером вложений и был помечен, как не заслуживающий доверия в виду того, что он был получен из недоверенного источника.
Вот вам пример оповещения от диспетчера вложений:
Если вы мой постоянный читатель, то помните что я уже сталкивался с ситуациями при которых я имел заблокированный, исполняемый файл exe. Вот два примера:
Вот так выглядит заблокированный файл, я для такой демонстрации заблокировал исполняемый файл chrome.exe запускающий браузер Google Chrome.
Как разблокировать файл в Windows 10
Существует минимум два метода позволяющих вам это сделать, первый, это самый простой из графического интерфейса, второй с использованием PowerShell. Я рассмотрю оба варианта. Щелкаете по заблокированному файлу правым кликом, переходите в его свойства и на вкладке «Общие» ставите птичку на против слова «Разблокировать«.
Применяем настройку, в итоге у вас пропадет поле «Разблокировать», в результате чего файл станет как проверенный и заслуживающий доверия.
Снятие блокировки файла через PowerShell
У меня для разблокировки файла есть командлет Unblock-File. Давайте я разблокирую файл chrome.exe. Для этого запустите окно PowerShell от имени администратора и введите команду:
В параметре -Path указываете полный путь до файла, если в пути есть пробелы в имени ,то заключите его в кавычки.
Если вам нужно разблокировать много файлов, то можно воспользоваться вот такой конструкцией:
В данном примере будут разблокированы все файлы содержащиеся в конечной папке. А вот так можно разблокировать по нужным именам:
Тут будут применены меры к файлам в имени которых есть «chr».
Так же можно использовать и командлет get-childitem, вот пример:
Как заблокировать файл в Windows 10
Если вы хотите сами заблокировать нужный файл, то вы можете это сделать через PowerShell. Вам нужно открыть PowerShell, перейти в расположение с файлом и выполнить код:
Set-Content chrome.exe -Stream «Zone.Identifier» -Value $data
В первой строке вам нужно подставить свой путь, в последней поменять имя на ваш файл.
На этом у меня все, мы с вами подробно разобрали, причину блокировки файлов в Windows, как это исправить и как самому его заблокировать. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Как ограничить доступ к файлу или папке
Когда к данным на компьютере имеет доступ более одного человека, всегда возникает необходимость ограничить, скрыть и сделать невозможным доступ к некоторым личным файлам или папкам.
Сегодня я расскажу несколько способов по маскировке и закрытию доступа к файлам и папкам.
Первый – самый простой способ, который защитит ваши файлы и папки от начинающих пользователей ПК — это скрыть ваши данные. Для этого нажмите на любом файле или папке правой кнопкой мыши и выберите свойства.
Там необходимо будет отметить галочкой “Скрытый” и нажать применить, после этого файл или папка будет невидимой.
Чтобы увидеть скрытые файлы и папки, необходимо через мой компьютер зайти в “Сервис -> Свойства папки”
В открывшемся окошке выбираем вкладку “Вид” и отмечаем пункт показывать скрытые файлы и папки.
Все теперь ваша папка или файл будет виден. Когда завершите работу с вашими данными, не забудьте вернуть обратно настройку показа файлов и папок (последнее действие).
Такой способ сможет уберечь ваши данные от вмешательства пользователей новичков и детей, так как многие к моему удивлению даже не знают о такой возможности в Windows .
Конечно способ примитивен, но даже разработчики Windows пользуются оным для скрытия таких системных файлов как boot . ini и другие. Чтобы в случае неаккуратных действий не потребовалось восстановление системных файлов .
Итак для улучшения защиты ваших личных данных необходимо провести еще одну операцию, которая в сумме с скрытие ваших файлов сделает ваши данные еще более защищенными.
Кстати, этот способ работает только с файловой системой NTFS . Сейчас файловая система FAT 32 используется по умолчанию на флешках, так что если хотите защитить данные на флешке, файловую систему необходимо будет изменить на NTFS . О том как это делается, я писал здесь .
1 Как заблокировать файл
Итак, для начала переходим в уже знакомый нам раздел: “ Свойства папки -> Вид” и убираем стоящую по умолчанию галочку в пункте “Использовать простой и общий доступ к файлам”
теперь переходим к нашей скрытой папке и нажимаем свойства. Там появится новый раздел “Безопасность”. Нажимаем на него и настраиваем права доступа для любого из пользователей.
В моем случае это полный запрет на выполнение любых действий с пользователем под которым я сейчас работаю.
Нажимаем применить и когда попытаемся открыть папку получаем такое сообщение.
Вот и все. Сегодня мы рассмотрели защиту данных средствами Windows. Также существуют способы ограничения доступа к файлам и папкам с помощью программ.
Файл заблокирован процессом Windows, как снять блокировку?
Иногда при попытке удалить, переименовать или переместить какой-то файл в Windows вы можете получить сообщение, что файл занят/заблокирован/используется) другим процессом. Чаще всего имя программы, которая держит файл открытым указывается прямо в окне сообщения File Explorer. Чтобы снять блокировку файла достаточно просто закрыть эту программу. Но бывает ситуации, когда какой-то файл и библиотека используется неизвестным или системным процессом. В этом случае снять блокировку с файла немного сложнее.
Сообщение о блокировке файла может выглядеть по-разному. Например в следующем примере указан тип файла и с каким приложением он ассоциирован:
В этом случае вы можете легко понять какое приложение заблокировало файл и закрыть его.
Однако иногда можно увидеть более интересное сообщение, о том, что файл заблокирован неизвестным или системным процессом Windows. Это может быть, как процесс самой ОС Windows, так и другие процессе, работающий с правами System, например, антивирус, агент резервного копирования, база данных mssql и т.д.):
Попробуем разобраться, как понять какой программой, службой или системным процессом Windows занят файл, как разблокировать файл и можно ли разблокировать файл не закрывая родительский процесс.
Самый простой вариант разблокировать файл – завершить процесс, которые его заблокировал. Но это не всегда возможно, особенно на серверах.
Кроме того, это сторонняя утилита, при установке которой нужно быть внимательным, т.к. в процессе она предлагает установить пачку ненужные программы в нагрузку.
Когда процесс в Windows открывает файл, этому потоку ввода/вывода назначается файловый дескриптор (handler). Процесс и его дочерние процессы получают доступ к файлу по этому дескриптору. Через Window API вы можете послать сигнал файловой системе на освобождение данного дескриптора и снятие блокировки с файла.
Как разблокировать файл с помощью Process Explorer?
ProcessExplorer это бесплатная утилита из набора системных утилит Sysinternals, которую можно скачать на сайте Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer). Попробуем с помощью Process Explorer найти, какой процесс заблокировал определенный файл и освободить этот файл, сбросив файловый дескриптор процесса.
- ProcessExplorer не требует установки, просто скачайте распакуйте и запустите с правами администратора procexp.exe ;
- Выберите меню Find ->Find Handle or DLL (или нажмите Ctrl-F );
- Укажите имя файла, который нужно разблокировать и нажмите Search;
- Выберите нужный файл. Процесс, который открыл файлы будет выделен в дереве процессов. Можно завершить этот процесс, щелкнув по нему правой кнопкой и выбрав Kill Process Tree. Но можно попробовать закрыть дескриптор файла, не завершая процесс целиком. Дескриптор файла, который вы искали, автоматически выделяется в нижней панели Process Explorer. Щелкните по дескриптору правой кнопкой и выберите Close handle. Подтвердите закрытие файла.
Итак, вы закрыли дескриптор файла, не завершая родительский процесс. Теперь вы можете спокойно удалить или переименовать файл.
Сброс дескриптора файла с помощью утилиты Handle
Handle – это еще одна утилита командной строки из комплекта инструментов Sysinternals (доступна для скачивания на сайте Microsoft (https://docs.microsoft.com/en-us/sysinternals/downloads/handle. Она позволяет найти процесс, который заблокировал ваш файл и снять блокировку, освободив дескриптор.
- Скачайте и распакуйте архив с утилитой Handle;
- Запустите командную строку с правами администратора и выполните команду: handle64.exe > listproc.txt
Данная команда сохранит список открытых дескрипторов в файл. Можно вывести дескрипторы для каталога, в котором находится файл, который вы хотите изменить: Handle64.exe -a C:\Some\Path или конкретного процесса: handle64.exe -p winword.exe
- Откройте файл listproc.txt в любом текстовом редакторе и найдите строку, в которой указано имя заблокированного файла. Скопируйте ID дескриптора файла (значение в hex формате). Затем поднимитесь немного выше к разделу, в котором указан процесс, являющийся владельцем данного дескриптора и запишите его ID. Для процесса запущенного от имени системы скорее всего будет PID 4.
Если система отреагирует на закрытие файла корректно, вы разблокируете ваш файл без необходимости завершать процесс или перезагружать сервер/компьютер.