как узнать владельца папки windows
Доступ к папке Windows. Права на папку
Рано или поздно многие пользователи Windows, заинтересованные в более глубоком использовании своего персонального компьютера, сталкиваются с проблемами, которые вызваны ограничениями прав доступа самой операционной системы. В рамках данной статьи поговорим о том, как решить одну из таких проблем, а именно, как получить доступ к папке в Windows. Вся инструкция будет сопровождаться большим количеством скриншотов для полного понимания каждого шага настроек. все изображения кликабельны.
Содержание статьи:
Права на папку в Windows
Ошибка доступа к папке в ОС Windows может возникать как при попытке открыть папку, так и при попытке удалить или изменить её содержимое, а также провести какие-либо манипуляции с самим каталогом.
Существует множество папок, доступ к которым может быть ограничен системой, в рамках текущей статьи мы рассмотрим способ устранения ошибки доступа к папке на примере каталога WindowsApps, который в системах Windows 8 и Windows 10 является местом расположения служебных файлов для программ и игр из Microsoft Store, то есть для всех метро-приложений. По умолчанию данный каталог является скрытым и расположен по пути:
При желание расположение метро-приложений можно изменить из меню параметров системы. Чтобы изменить раздел для установки приложений из магазина Microsoft Store, нужно в разделе Хранилище изменить место сохранения для новых приложений
Но если мы попытаемся вручную переименовать вышеупомянутый каталог, удалить его или даже просто открыть, то, возможно, нас встретит следующее предупреждение: У вас нет разрешений на доступ к этой папке
Владелец папки в Windows
Запустится процесс смены владельца папки.
Однако, для некоторых операций даже сейчас будет выдаваться ошибка: Нет доступа к целевой папке
Для устранения этой ошибки нужно получить полный доступ к папке.
Отказано в доступе к каталогу. Полный доступ к папке
Соглашаемся с внесением изменений и дожидаемся окончания процесса установки безопасности для папки.
На этом процедура получения прав на папку закончена, мы сделали своего пользователя владельцем и дали ему полный доступ к каталогу в системе Windows.
Нет доступа к папке. Windows.old
В заключении рассмотрим ситуацию, при которой мы являемся владельцами папки, у нас открыт к ней полный доступ, но, тем не менее, не удаётся открыть каталог для работы.
Рассмотрим две возможные причины блокировки доступа к каталогам Windows:
и копируем из папок все необходимые файлы в папки, расположенные по пути
Либо скачиваем на свой компьютер средство устранение неполадок после «миграции» Windows от компании Microsoft: windowsmigration_ENUS, запускаем его и следуем подсказкам программы, которая попытается в автоматическом режиме устранить возникшие проблемы, а затем просто проверяем доступность файлов в новой системе.
На этом описание настроек прав доступа к папке в Windows и изменения владельца папки в рамках данной статьи можно считать законченным.
Как узнать владельца папки или файла
Работая в совместно используемой системе, Вы не можете рассчитывать на то, что все файлы принадлежат Вам, однако вполне можете столкнуться с необходимостью очистки жесткого диска. Рано или поздно Вы встретите файлы, не принадлежащие Вам, и будете вынуждены что-то делать с ними. Даже при полной уверенности в том, что файл бесполезен, и никто никогда к нему не обратится, Вам необходимо спросить о нем у владельца файла. В противном случае Вы рискуете удалить файл, для каких-то целей нужный владельцу. Таким образом, возникает задача определить, кому принадлежит файл.
К сожалению, чтобы определить владельца файла с помощью проводника нужно сделать множество щелчков мышью. Чтобы получить интересующую Вас информацию быстро, откройте окно командной строки и введите в ней команду:
Dir \Q имя_файла
После нажатия клавиши Enter утилита Dir отобразит имя владельца файла. Как правило, владельцем файла является пользователь, создавший его. В самом худшем случае он способен переадресовать Вас к лицу, способному определить, что делать с файлом. Достоинством метода является возможность одновременной проверки множества файлов, особенно если эти файлы имеют одно расширение.
Если Вы подозреваете, что решение задачи подобным способом отнимает слишком много времени, воспользуйтесь проводником. Щелкните на файле правой кнопкой мыши и выберите в контекстном меню команду Свойства. В окне свойств перейдите на вкладку Безопасность и щелкните на кнопке Дополнительно. В диалоговом окне Дополнительные параметры безопасности перейдите на вкладку Владелец, в которой расположено поле Текущий владелец этого элемента. Именно в этом поле Вы найдете информацию о владельце файла. Единственной веской причиной для использования описанного метода является смена владельца файла — задача, которую не так просто решить с помощью командной строки.
Как получить доступ к файлам, папкам, разделам реестра в Windows 10, 8, 7 и Vista
Содержание
При отсутствии доступа к локальному объекту вы не можете управлять его разрешениями, отсутствие такой возможности может быть компенсировано сменой владельца объекта, после чего вы сможете управлять его разрешениями. Сделать это можно несколькими способами, рассмотрим их по порядку.
Способ 1. Изменение владельца с использованием графического интерфейса Windows
Изменение владельца файла или папки в Windows 10/8.1/8
Если вы меняете владельца папки, то по умолчанию будет изменен владелец только этой папки, но не вложенных в нее папок и файлов. Для того, чтобы заменить владельца всех дочерних объектов папки, установите флажок на параметре «Заменить владельца подконтейнеров и объектов«.
После того как вы нажмете кнопку OK для изменения владельца папки, может быть показано предупреждение об отсутствии разрешений для вашей учетной записи. Нажмите кнопку Да для получения полного доступа к объекту.
Изменение владельца файла или папки в Windows 7/Vista
Если вы меняете владельца папки, то по умолчанию будет изменен владелец только этой папки, но не вложенных в нее папок и файлов. Для того, чтобы заменить владельца всех дочерних объектов папки, установите флажок на параметре «Заменить владельца подконтейнеров и объектов».
После того как вы нажмете кнопку OK для изменения владельца папки, может быть показано предупреждение об отсутствии разрешений для вашей учетной записи. Нажмите кнопку Да для получения полного доступа к объекту.
Изменение владельца раздела реестра
Если вы используете Windows 7 или Vista, выполните шаги 3.2 и 3.3 инструкции изменения владельца файлов и папок
Установка разрешений объекта для учетной записи
Если вы не знаете точно как написать, то нажмите в окне выбора пользователя кнопку Дополнительно, а в следующем кнопку Поиск. Выберите свою учетную запись и нажмите кнопку OK.
Способ 2. Использование утилит командной строки takeown и icacls
Примечание. Этот способ можно применить только для получения доступа к файлам или папкам, но не к разделам реестра.
Использование утилиты командной строки takeown для изменения владельца объектов
takeown /f «C:\System Volume Information» /r /d y
takeown /f «C:\Windows\System32\imageres.dll» /a
takeown /f «C:\System Volume Information» /a /r /d y
Полный синтаксис утилиты командной строки takeown вы можете получить командой takeown /?
Использование утилиты командной строки icacls для изменения разрешений объектов
icacls «C:\Windows\System32\imageres.dll» /grant администраторы:F /c /l
icacls «C:\System Volume Information» /grant администраторы:F /t /c /l /q
Полный синтаксис утилиты командной строки takeown вы можете получить командой takeown /?
Как установить службу TrustedInstaller владельцем файлов и папок
Владельцем многих системных файлов и папок является служба TrustedInstaller. В случае изменения владельца таких файлов или папок, система будет работать нестабильно, а многие задачи обслуживания системы перестанут работать.
В случае если вы изменили владельца системной папки для удаления или записи файлов, или файла для его замены или редактирования, после выполнения необходимых действий требуется назначить владельца по умолчанию, то есть TrustedInstaller.
Использование графического интерфейса Windows
Если вы назначаете TrustedInstaller владельцем папки, не рекомендуется устанавливать флажок на параметре ‘Заменить владельца подконтейнеров и объектов’. Дело в том, что при этом будет заменен владелец всех подкаталогов и файлов, содержащихся в папке, что также может привести к нестабильной работе системы из-за отсутствия разрешений у других пользователей. Например, по умолчанию владельцем папки \Windows\ является TrustedInstaller, но владельцем папки \Windows\SoftwareDistribution\ является Система.
Использование утилиты командной строки icacls
icacls «C:\System Volume Information» /setowner «NT Service\TrustedInstaller» /t /c
Добавление команды смены владельца объекта в контекстное меню проводника
Для упрощения процедуры смены владельца вы можете добавить соответствующий пункт в контекстное меню проводника.
В предлагаемом варианте также используются утилиты командной строки takeown и icacls с определенными параметрами, а полученная команда установит текущего пользователя владельцем объекта, на котором будет применяться.
Вы можете скачать готовые файлы реестра для импортирования по этой ссылке: TakeOwnership.zip
Подробнее о применении твиков реестра вы можете прочитать здесь: Применение твиков реестра
Описание файлов реестра, содержащихся в архиве:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@=»cmd.exe /c takeown /f \»%1\» && icacls \»%1\» /grant администраторы:F /c /l»
«IsolatedCommand»=»cmd.exe /c takeown /f \»%1\» && icacls \»%1\» /grant администраторы:F /c /l»
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@=»cmd.exe /c takeown /f \»%1\» /r /d y && icacls \»%1\» /grant администраторы:F /t /c /l /q»
«IsolatedCommand»=»cmd.exe /c takeown /f \»%1\» /r /d y && icacls \»%1\» /grant администраторы:F /t /c /l /q»
[HKEY_CLASSES_ROOT\dllfile\shell\runas\command]
@=»cmd.exe /c takeown /f \»%1\» && icacls \»%1\» /grant администраторы:F /c /l»
«IsolatedCommand»=»cmd.exe /c takeown /f \»%1\» && icacls \»%1\» /grant администраторы:F /c /l»
[HKEY_CLASSES_ROOT\Drive\shell\runas\command]
@=»cmd.exe /c takeown /f \»%1\» /r /d y && icacls \»%1\» /grant администраторы:F /t /c /l /q»
«IsolatedCommand»=»cmd.exe /c takeown /f \»%1\» /r /d y && icacls \»%1\» /grant администраторы:F /t /c /l /q»
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@=»cmd.exe /c takeown /f \»%1\» && icacls \»%1\» /grant administrators:F /c /l»
«IsolatedCommand»=»cmd.exe /c takeown /f \»%1\» && icacls \»%1\» /grant administrators:F /c /l»
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@=»cmd.exe /c takeown /f \»%1\» /r /d y && icacls \»%1\» /grant administrators:F /t /c /l /q»
«IsolatedCommand»=»cmd.exe /c takeown /f \»%1\» /r /d y && icacls \»%1\» /grant administrators:F /t /c /l /q»
[HKEY_CLASSES_ROOT\dllfile\shell\runas\command]
@=»cmd.exe /c takeown /f \»%1\» && icacls \»%1\» /grant administrators:F /c /l»
«IsolatedCommand»=»cmd.exe /c takeown /f \»%1\» && icacls \»%1\» /grant administrators:F /c /l»
[HKEY_CLASSES_ROOT\Drive\shell\runas\command]
@=»cmd.exe /c takeown /f \»%1\» /r /d y && icacls \»%1\» /grant administrators:F /t /c /l /q»
«IsolatedCommand»=»cmd.exe /c takeown /f \»%1\» /r /d y && icacls \»%1\» /grant administrators:F /t /c /l /q»
Windows Registry Editor Version 5.00
Добавление команды смены владельца объектов на TrustedInstaller в контекстное меню проводника
Для изменения владельца файлов и папок на TrustedInstaller вы также можете добавить контекстное меню проводника.
В предлагаемом варианте используется утилита командной строки icacls.
Готовые файлы реестра для добавления и удаления этого пункта меню: RestoreOwnerShip.zip
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@=»Сменить владельца на TrustedInstaller»
«HasLUAShield»=»»
«NoWorkingDirectory»=»»
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@=»cmd.exe /c icacls \»%1\» /setowner \»NT Service\\TrustedInstaller\» /T /C»
«IsolatedCommand»=»cmd.exe /c icacls \»%1\» /setowner \»NT Service\\TrustedInstaller\» /T /C»
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@=»Сменить владельца на TrustedInstaller»
«HasLUAShield»=»»
«NoWorkingDirectory»=»»
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@=»cmd.exe /c icacls \»%1\» /setowner \»NT Service\\TrustedInstaller\» /T /C»
«IsolatedCommand»=»cmd.exe /c icacls \»%1\» /setowner \»NT Service\\TrustedInstaller\» /T /C»
Windows Registry Editor Version 5.00
Обратите внимание, что для реализации любого пункта контекстного меню (для назначения владельцем текущего пользователя и для добавления пункта изменения владельца на TrustedInstaller) используются одинаковые разделы реестра и параметры. В связи с этим добавление обоих пунктов одновременно, в рассматриваемом варианте, невозможно.
В следующей главе статьи мы рассмотрим варианты одновременного сосуществования этих двух пунктов контекстного меню.
Добавление каскадного меню с пунктами смены владельца на текущего пользователя и на TrustedInstaller
В прошлых примерах мы использовали подраздел реестра runas, команды по умолчанию из которого запускаются с запросом повышения прав, то есть по сути выполняется запуск от имени администратора. Добавление каскадного меню с несколькими пунктами не дает такого преимущества, но запуск команд от имени администратора необходим для их выполнения.
Есть несколько путей решения этой проблемы, но использование сторонней утилиты для запуска команды с повышением привилегий все-таки является самым быстрым и простым в данном случае.
Таких утилит несколько, каждая из них обладает своими преимуществами, но большинство из них являются проектами энтузиастов и не поддерживаются и не дорабатываются уже довольно долгое время.
Исключение составляют NirCmd от известного разработчика полезных утилит Nir Sofer и PsExec Марка Руссиновича.
Я остановил свой выбор на NirCmd ввиду того, что уже использую эту утилиту для других задач, а PsExec все более узкоспециализированная утилита.
Весь процесс добавления пунктов меню и создания каскадных меню уже был рассмотрен на страницах блога.
Для удаления этого меню используйте файл Remove_Take_Ownership_Restore_Owner.reg
Павел Кравченко занимается развитием компьютерного портала OSzone.net, объединяющего сайт, форум и каталог программного обеспечения. Он отвечает на вопросы участников форума OSZone с 2003 года, а на сайте публикует статьи о клиентских операционных системах Microsoft.
С 2006 года Павел ежегодно становится обладателем награды Наиболее ценный специалист Microsoft (MVP), присуждаемой за вклад в развитие технических сообществ.
Как узнать владельца папки windows
Этот форум закрыт. Спасибо за участие!
Лучший отвечающий
Вопрос
Добрый день, помогите облегчить жизнь начинающему системному администратору. Необходимо найти файлы на файловом сервере по владельцу. То есть указать пользователя и файлы. Нашел скрипт он ищет только файлы с расширением *.txt и во всем компьютере, мне нужно на конкретно в расшаренной папке
Ответы
Не помню точно, достаточно ли для выполнения этой команды установленной FSRM или отдельно квоты на диск надо включать. Имхо тут есть некоторое преимущество перед
кстати именно про поиск по оунеру.
Не помню точно, достаточно ли для выполнения этой команды установленной FSRM или отдельно квоты на диск надо включать. Имхо тут есть некоторое преимущество перед
т.к. бежим не по каталогу, а вродь как должны шариться по дескрипторам в mft в режиме игнора пермишенов.
Если же вам нужен конкретный пользователь можете использовать нечто на подобии:
The opinion expressed by me is not an official position of Microsoft
Все ответы
Если же вам нужен конкретный пользователь можете использовать нечто на подобии:
The opinion expressed by me is not an official position of Microsoft
ммм. а можно тупой вопрос?
уж не хочет ли начинающий админ изобрести велосипед в виде например FSRM?
вы с февраля до сих пор думали чтоль?
сгенерить отчеты не пробовали например, не?
Получаем отчеты по сетевым папкам с помощью PowerShell
Получаем все сетевые папки
Начнем с того, что определим, что же расшарено. Задача проста: просто осуществляем запрос класса Win32_Share, чтобы использовать Windows Management Instrumentation (WMI). Вам даже не нужно логиниться на файловом сервере. Вы можете запустить эту команду откуда угодно.
Вместо chi-fp01 укажем имя интересующего нас компьютера
Запустив эту команду Вы получите все сетевые папки, включая принтеры (если таковые имеются). Но так как мы говорим о файловых шарах, то давайте ограничим запрос. Все экземпляры Win32_Share имеют свойство Type, как показано в таблице 1.
Добавим фильтр в первоначальную команду:
Тем самым мы выводим только нужную информацию.
Но если вы ищите также и скрытые папки – те, которые заканчиваются знаком доллара ($) – фильтр придется слегка переписать:
В WMI знак процента (%) используется вместо знака подстановки (wildcard). Вывести все папки, кроме тех, которые скрыты чуть сложнее.
Получаем размер сетевой папки
Довольно часто необходима информация о том, сколько места занимают файловые шары. Используем Get-ChildItem, или его сокращение dir, и передадим результаты в Measure-Object:
В итоге вы получите информацию об общем числе объектов, размер в байтах, наименьшие и наибольшее размерах файлов. В предыдущей команде, применил фильтр. В PowerShell 3.0 то же самое можно сделать проще, однако та команда, которую я использовал, работает как v2.0, так и 3.0. Ее лучше всего запускать локально. Код в примере 1 комбинирует эту команду с нашей техникой WMI, чтобы получить отчет о размере высокоуровневых папок.
Пример 1: Отчет о размерах высокоуровневых сетевых папок
Вы можете форматировать или обрабатывать $results как вашей душе будет угодно. Нужна удобоваримая таблица? Просто используйте следующую команду:
Тем самым можно сделать полный отчет по использованию всех папок на файловом сервере не составляет труда. Сэкономьте время, воспользуетесь примером 2.
Пример 2: Отчет об использовании файловых шар
И снова я слегка отформатирую таблицу.
Получаем файлы по владельцу
Двигаемся дальше – найдем владельцев файлов. Если вы используете квоты, отчеты уже наверняка получаете. В противном случае, все, что вам нужно – это извлечь ACL файла, который включает в себя владельца, и агрегировать результаты. Лучше всего добавить владельца файла в качестве кастомного свойства
Мы можем группировать по свойству нового владельца и затем обрабатывать новый объект.
Пара усилий и вы можете применить тот же подход к файловой шаре, как указано в коде примера 3.
Пример 3: Группируем файловые шары по владельцу
Я также должен указать на то, что могут проблемы: с файлами, имя которых более 260 символов или содержит необычные символы, особенно если вы пытаетесь запустить Get-ACL. В PowerShell 3.0 этот командлет имеет параметр -LiteralPath, что помогает решить вышеуказанные проблемы.
Опять выведем читаемую таблицу.
Получаем файлы по дате создания
Последняя техника создания отчетов, которую я хочу продемонстрировать – это создание отчета с последними созданными файлами. Фактически, мы создаем коллекцию объектов, которую можем использовать несколькими способами. Возможно вы захотите использовать объекты или удалить или переместить файлы, или можете захотите построить отчет, который можно отправить руководству. Всегда создавайте команды PowerShell так, чтобы потом их можно использовать.
Определить возраст файл не так просто. В PowerShell файловый объект (объект типа файл) имеет несколько свойств, которые вы возможно захотите использовать. Например, команда:
дает вывод, представленный на скриншоте ниже.
Лично я считаю, что лучше использовать LastWriteTime, который обозначает, когда к файлу в последний раз обращались. Мне встречались ситуации, когда LastAccessTime обновлялся через сторонние программы, например, антивирус, что само по себе уже не означает правды. И LastAccessTime был деактивировал еще со времени Windows Vista, хотя вы можете его включить. Вам также нужно быть осторожным, потому что эти значения могут меняться в зависимости от того, копируете ли вы или перемещаете файлы между дисками (between volumes). Но вы можете решить это сами. Используя этот файл как пример, мы может заставить PowerShell сказать нам, насколько стар файл. См. пример 4.
Пример 4. Определяем возраст файлов
Свойство Age является объектом TimeSpan, и свойство Days является просто свойством TotalDays этого объекта. Но так как мы можем этом сделать для одного файла, мы можем сделать и для других Давайте взглянем на мою общую папку и найдем все файлы, которые не менялись за последние 400 дней.
Я пойду дальше и включу еще и владельца файла. На скриншоте ниже показаны результаты от запуска этого код в удаленной сессии на моем файловом сервере.
Я могу сохранить эти результаты в переменную и использовать их в любое время. Так как у меня есть полное имя файла, передать в другую команду, например, Remove-Item, не составит труда.
Одной из моих любимых техник является определение того, сколько файлов было изменено за год.
Как вы можете видеть на скриншоте, все выглядит причесано. Нужны детали? Можно проанализировать свойство Group, которое представляет собой коллекцию файлов.
Полезно знать, сколько файлов не изменялось за 30, 90 или 180 дней. К сожалению, простого способа использовать Group-Object для этого не существует, поэтому мне необходимо придется «пойти иным путем»; смотрите пример 5.
Пример 5: Определяем период изменения файлов
На рисунке ниже показан результат, когда я запустил этот код для папки с моими скриптами, которая, как я знаю, имеет плотное распределение по возрасту (decent age distribution). Мой код не включает в себя актуальные файлы, но это было бы слишком сложно изменить мой пример.
За основу поста использована первая часть статьи File Server Management with Windows PowerShell.
Кстати, о том, как найти файлы с помощью PowerShell и WMI Джеффри Хикс пишет в своем блоге (часть 1 и 2).
- код города арсеньев приморский край
- коды ошибок крайслер таун кантри