Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах


Глава 2. Настройка компонентов. 2.10. Программа fsutil.exe
Дата: 15 июля 2009, среда

В конец записи

Программа fsutil.exe является стандартной программой командной строки операционной системы Windows Vista, предназначенной для работы с файловой системой NTFS. Некоторые возможности этой программы настолько уникальны и интересны, что не рассказать о них на страницах данной книги было бы неправильным.

Подробнее об NTFS можно прочитать в разделе «Сравнение файловых систем NTFS и FAT», который имеет CLSID-номер 5dd16a76-7224-45ed-946a-72d5c6dc6e82.

Настройка файловой системы (команда behavior)

Прежде всего, программа fsutil.exe позволяет изменить значения некоторых параметров DWORD-типа, расположенных в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\FileSystem. Для этого применяются следующие варианты синтаксиса команды.

  • fsutil behavior set «параметр» «значение». Изменить значение параметра.
  • Fsutil Behavior query. Просмотреть список всех параметров, которые можно изменить.
  • Fsutil Behavior query «параметр». Отобразить текущее значение параметра, который можно изменить.

В таблице ниже представлен перечень параметров, которые можно изменить при помощи команды fsutil behavior set, а также соответствующие этим параметрам параметры ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\FileSystem. А в следующей таблице представлено описание соответствующих параметров реестра.

Следует заметить, что параметры, изменяемые при помощи команды fsutil behavior set SymlinkEvaluation, могут быть переопределены групповой политикой ОЦЕНКА СИМВОЛЬНЫХ ССЫЛОК НА ОСНОВЕ ИХ ИСТОЧНИКОВ И АДРЕСОВ раздела КОНФИГУРАЦИЯ КОМПЬЮТЕРА/АДМИНИСТРАТИВНЫЕ ШАБЛОНЫ/СИСТЕМА/ФАЙЛОВАЯ СИСТЕМА NTFS. Данная политика создает в ветви реестра HKLM\SOFTWARE\Policies\Microsoft\Windows\Filesystems\NTFS параметры DWORD-типа SymlinkLocalToLocalEvaluation, SymLinkState, SymlinkLocalToRemoteEvaluation, SymlinkRemoteToLocalEvaluation и SymlinkRemoteToRemoteEvaluation. От значения параметра SymLinkState зависит, будут ли использоваться остальные параметры ветви HKLM\SOFTWARE\Policies\Microsoft\Windows\Filesystems\NTFS, либо параметры ветви HKLM\SYSTEM\CurrentControlSet\Control\FileSystem.

Таблица 2.55. Команда fsutil behavior set

Allowextchar NtfsAllowExtendedCharacterIn8dot3Name
disable8dot3  NtfsDisable8dot3NameCreation
Disablecompression NtfsDisableCompression
Disableencryption NtfsDisableEncryption
disablelastaccess NtfsDisableLastAccessUpdate
Encryptpagingfile NtfsEncryptPagingFile
quotanotify  NtfsQuotaNotifyRate
Memoryusage  NtfsMemoryUsage
mftzone  NtfsMftZoneReservation
SymlinkEvaluation SymlinkLocalToLocalEvaluation, SymlinkLocalToRemoteEvaluation,
  SymlinkRemoteToLocalEvaluation, SymlinkRemoteToRemoteEvaluation

Таблица 2.56. Команда fsutil behavior set

  • Allowextchar. Если равно 1, Windows будет разрешено отображать в именах файлов формата 8.3 символы, не относящиеся к числовым символам или буквам алфавита.
  • disable8dot3. Если равно 1 (по умолчанию 0), будет запрещено создавать имена файлов в формате 8.3.
  • Disablecompression. Если равно 1 (по умолчанию 0), запрещено использовать возможности сжатия файлов и папок.
  • Disableencryption. Если равно 1 (по умолчанию 0), будет запрещено использовать EFS.
  • disablelastaccess. Если равно 1 (по умолчанию 0), механизм обновления меток последнего доступа к папкам будет отключен, что повысит скорость открытия каталогов.
  • Encryptpagingfile. Если равно 1 (по умолчанию 0), содержимое файла подкачки будет шифроваться.
  • quotanotify. Интервал (в секундах, по умолчанию 3600 секунд) записи информации о квотах в журнал Windows. Информация о квотах заносится в очередь, а по истечении интервала данного параметра очередь заносится в журнал.
  • Memoryusage. Общий размер ОЗУ, используемый для хранения данных файловой системы (по умолчанию 0). Параметр может принимать значения 0, 1 2. Чем больше значение, тем больше памяти выделяется для файловой системы.
  • mftzone. Определяет структуру MFT и может принимать следующие значения: 1 (MFT подстраивается под хранение малого количества файлов, имеющих большой размер), 4 (MFT подстраивается под хранение большого количества файлов, имеющих малый размер), 2 и 3 (промежуточные значения).
  • SymlinkEvaluation. Определяют, разрешены ли соответствующие символьные ссылки. По умолчанию параметры, соответственно, равны 1, 1, 0, 0.

Просмотр сведений о файловой системе (команда fsinfo)

Также при помощи программы fsutil.exe можно просмотреть сведения о работе файловой системы NTFS. Для этого применяются варианты синтаксиса команды fsutil.exe fsinfo, представленные ниже.

  • fsutil fsinfo drives. Отобразить список букв разделов диска.
  • fsutil fsinfo drivetype «буква диска». Отобразить тип раздела диска (например, жесткий или съемный).
  • fsutil fsinfo volumeinfo «буква диска». Отобразить основные сведения о разделе диска. В них входят: тип файловой системы; максимальный размер имен файлов, поддерживаемых ею; возможность поддержки в именах файлов верхнего регистра и символов Unicode; возможность поддержки ACL, сжатия, квот, разреженных файлов, точек повторного разбора, идентификаторов объекта, файловой системы EFS, именованных потоков файлов, транзакций и т.д.
  • fsutil fsinfo ntfsinfo «буква диска». Отобразить основные сведения о файловой системе NTFS, применяемой на разделе диска. В них входят: версия; число секторов, кластеров, свободных кластеров; число байт в секторе, кластере, сегменте FileRecord; данные зоны MFT (допустимая длина, начальный LCN первой и второй таблицы MFT, начало и конец зоны таблицы MFT).
  • fsutil fsinfo statistics«буква диска». Отобразить основные сведения о проведенных с участием данного раздела операциях чтения и записи.

Точки повторного разбора (команда reparsepoint)

Точка повторного разбора — это каталог или файл, который содержит в себе данные повторного разбора. Данные повторного разбора представляют собой команду на выполнение и тэг, определяющий создателя точки повторного разбора.

Если программа обнаруживает точку повторного разбора, она просматривает ее тэг — если тэг указывает, что точку повторного разбора создала именно эта программа, тогда она выполняет заложенную в точке повторного разбора команду.

Например, именно так работают точки подключения. В них в качестве команды выступает раздел, в который нужно перенаправить пользователя, обратившегося к точке подключения.

Для работы с точками повторного разбора используются варианты синтаксиса команды fsutil.exe reparsepoint.

  • fsutil reparsepoint query «каталог или файл». Отобразить сведения о точке повторного разбора, которой является соответствующий каталог или файл.
  • fsutil reparsepoint delete «каталог или файл». Удалить точку повторного разбора.

Количество точек повторного разбора на диске можно узнать, запустив программу командной строки chkdsk.exe.

Жесткие ссылки (команда hardlink)

Жесткая ссылка — это ссылка на файл, которая ведет себя как еще одна копия файла. Отличия данного подхода от обычных ссылок следующие.

  • Жесткая ссылка не отличается от оригинала — она имеет тот же размер и для ее отображения используется тот же значок.
  • Если изменяется содержимое жесткой ссылки — также изменяется содержимое оригинала, и наоборот. При этом если удалить оригинальный файл, жесткая ссылка превратиться в обычную копию удаленного файла.

Для создания жестких ссылок предназначена команда fsutil hardlink create «имя жесткой ссылки» «имя оригинального файла».

Также для создания жестких связей можно воспользоваться командой MKLINK /H «имя жесткой ссылки» «имя оригинального файла».

Работа с квотами (команда quota)

Помимо вкладки КВОТА диалога СВОЙСТВА раздела диска, для работы с квотами можно применять описанные ниже варианты синтаксиса команды fsutil quota.

  • Fsutil quota track «буква диска». Включить квоту для раздела диска.
  • Fsutil quota enforce «буква диска». Включить квоту для раздела диска и запретить выделение места на диске пользователям, если они уже превысили свою квоту.
  • Fsutil quota disable «буква диска». Отключить квоту для раздела.
  • Fsutil quota violations. Отобразить сведения о превышении квоты.
  • Fsutil quota query «буква диска». Отобразить информацию о настройках квоты для данного раздела.
  • Fsutil quota modify «буква диска» «порог квоты» «лимит» «имя пользователя». Изменить настройки квоты для пользователя.

Также для работы с квотами можно воспользоваться программой wmic.exe. Например, она поддерживает следующие варианты синтаксиса.

  • wmic.exe diskquota get. Отобразить основные сведения о квотах для пользователей операционной системы.
  • wmic.exe quotasettings get. Отобразить основные сведения о квотах для определенного диска.
  • wmic.exe diskquota create <свойство>="значение"[, <свойство>="значение",…]. Создать квоту для определенного в свойстве USER пользователя. Также при создании квоты можно воспользоваться следующими свойствами: DISKSPACEUSED, LIMIT, QUOTAVOLUME, STATUS, WARNINGLIMIT.
  • wmic.exe diskquota delete <опции>. Удалить квоту.

Следует заметить, что настройки дисковых квот могут быть переопределены при помощи групповых политик, расположенных в разделе КОНФИГУРАЦИЯ КОМПЬЮТЕРА/АДМИНИСТРАТИВНЫЕ ШАБЛОНЫ/СИСТЕМА/ДИСКОВЫЕ КВОТЫ. Все эти политики изменяют значения параметров DWORD-типа и представлены в таблице ниже.

Таблица 2.57. Ветвь HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DiskQuota

  • Enable. Включить дисковые квоты
  • Enforce. Задать предел дисковой квоты
  • ThresholdUnits, Limit, LimitUnits, Threshold. Предел квоты по умолчанию и уровень предупреждения
  • LogEventOverLimit. Записывать в журнал события при превышении предела квоты
  • LogEventOverThreshold. Записывать в журнал события, возникающие при превышении уровня предупреждения квоты
  • ApplyToRemovableMedia. Применить политику к съемным носителям

Управление битом «грязный» (команда dirty)

Бит «грязный» устанавливается для раздела диска в том случае, если на разделе произошла какая-либо ошибка, после которой данные файловой системы раздела могут быть повреждены. В этом случае, после установки бита «грязный», пользователь не сможет выполнить системные операции работы с соответствующим разделом диска (конвертирование, дефрагментация), пока не будет выполнена проверка целостности его структуры.

Для работы с битом «грязный» применяются следующие команды.

  • Fsutil dirty query «раздел». Отображает, установлен ли бит «грязный» для соответствующего раздела.
  • Fsutil dirty set «раздел». Установить бит «грязный» для раздела.

Управление файлами (file)

Функции программы fsutil.exe, предназначенные для работы с файлами, являются частью команды fsutil.exe file.

  • fsutil.exe file findbysid «пользователь» «каталог». Выполнить поиск в определенном каталоге всех файлов пользователя по его SID.
  • fsutil.exe file queryallocranges offset=«смещение от начала файла в байтах» length=«длина диапазона для поиска» «имя файла». Выполнить поиск файла с указанным диапазоном нулевых данных.
  • fsutil.exe file setshortname «имя файла» «короткое имя файла». Определяет короткое имя файла.
  • fsutil.exe file setvaliddata «имя файла» «длина». Определяет максимально разрешенную длину файла.
  • fsutil.exe file setzerodata offset=«смещение от начала файла в байтах» length=«длина обнуляемых данных в байтах» «имя файла». Обнуляет часть данных в файле. Эта команда может использоваться для создания разреженных файлов.
  • fsutil.exe file createnew «имя файла» «длина». Создать пустой файл указанного размера.

Управление идентификаторами объектов (команда objectid)

Каждый объект файловой системы Windows Vista (например, файлы и папки) имеет свой уникальный идентификатор, который может использоваться для поиска этого объекта. Работать с уникальными идентификаторами объектов можно при помощи команды fsutil.exe objectid.

  • fsutil.exe objectid query «файл». Отобразить идентификатор объекта.
  • fsutil.exe objectid set «идентификатор объекта» «идентификатор родительского тома» «идентификатор родительского объекта» «идентификатор домена» «имя файла». Изменить идентификатор объекта.
  • fsutil.exe objectid delete «имя файла». Удалить идентификатор объекта.
  • fsutil.exe objectid create «имя файла». Создать идентификатор объекта.

Управление самовосстановлением (команда repair)

Для управления функцией автоматического самовосстановления состояния разделов диска можно применять варианты синтаксиса fsutil.exe repair.

  • fsutil repair query «раздел диска». Просмотреть состояние функции самовосстановления на данном разделе.
  • fsutil repair set «раздел диска» «флаг». Изменить флаг состояния функции самовосстановления на данном разделе. Установка флага 1 включает функции самовосстановления. Установка флага 9 помимо функции самовосстановления включает выдачу предупреждения о возможности потери данных.
  • fsutil repair initiate «раздел диска» «ссылка на файл». Выполнить восстановление файла на данном разделе диска.
  • fsutil repair wait «раздел диска» 0 | 1. При установке 0 процесс ожидания восстановления будет работать, пока не закончится восстановление всех файлов. При установке 1, процесс ожидания восстановления будет работать, пока не закончится восстановление текущего файла.

Управление диспетчером ресурсов транзакций (команда resource)

Для управления диспетчером ресурсов транзакций применяется синтаксис команды fsutil.exe resource.

  • fsutil.exe resource create. Создать вторичный диспетчер ресурсов транзакций.
  • fsutil.exe resource info. Отобразить сведения о работе диспетчера ресурсов транзакций.
  • fsutil.exe resource setautoreset true|false «путь к корню диспетчера». Установить очистку метаданных о транзакциях при следующем подключении диспетчера ресурсов транзакций.
  • fsutil.exe resource setlog команда «путь к корню диспетчера». Изменить настройки диспетчера ресурсов транзакций. Команды, которые используются данным синтаксисом, представлены в таблице ниже.
  • fsutil.exe resource start «путь к корню диспетчера» «путь к журналу RM» «путь к журналу TM». Запустить диспетчер ресурсов транзакций.
  • fsutil.exe resource stop «путь к корню диспетчера». Остановить диспетчер ресурсов транзакций.

Таблица 2.58. Команды синтаксиса fsutil.exe resource setlog команда «путь к корню»

  • Size «число». Изменить число используемых диспетчером контейнеров.
  • Shrink «процент». Изменить процент автоматического сжатия.
  • Rename. Изменить GUID-номер диспетчера.
  • mode full|undo. Режим ведения журнала (записывать все события/события отмены).
  • Minextents «число». Минимальное число используемых диспетчером контейнеров.
  • Maxextents «число». Максимальное число используемых диспетчером контейнеров.
  • Growth «число» containers. Число контейнеров, на которые будет автоматически увеличиваться размер.
  • Growth «процент» percent. Процент, на который будет автоматически увеличиваться размер.

Разреженные файлы (команда sparse)

Разреженный файл — это файл, часть которого состоит из нулевых данных, которые при подсчете размера файла не учитываются. Если разреженный файл содержит в себе нулевые данные, Windows не выделяет места для этих данных. То есть, разреженные файлы являются «легкой» альтернативой сжатия файлов.

Для работы с разреженными данными применяется синтаксис fsutil.exe sparse.

  • fsutil sparse setflag «имя файла». Создать разреженный файл.
  • fsutil sparse queryflag «имя файла». Определяет, является ли файл разреженным.
  • fsutil sparse queryrange «имя файла». Отобразить диапазон нулевых данных разреженного файла.
  • fsutil sparse setrange «имя файла» «смещение от начала файла» «длина нулевых данных». Установить диапазон нулевых данных разреженного файла.

Управление транзакциями (команда transaction)

Для управления транзакциями ядра файловой системы применяется синтаксис fsutil.exe transaction.

  • fsutil.exe transaction commit «GUID-транзакции». Завершить транзакцию.
  • fsutil.exe transaction list. Отобразить выполняемые транзакции.
  • fsutil.exe transaction fileinfo «имя файла». Отобразить сведения о транзакциях конкретного файла.
  • fsutil.exe transaction query files|all «GUID-транзакции». Отобразить сведения о транзакции.
  • fsutil.exe transaction rollback «GUID-транзакции». Отменить транзакцию.

Управление USN (команда usn)

Для управления USN применяется синтаксис fsutil.exe usn.

  • fsutil.exe usn createjournal m=«максимальный размер» a=«разница» «путь к журналу». Создать журнал USN.
  • fsutil.exe usn deletejournal. Удалить журнал USN.
  • fsutil.exe usn enumdata «отображать ли ссылки на файл» «отображать ли низкие USN» «отображать ли высокие USN» «раздел диска». Пересчитать журнал USN.
  • fsutil.exe usn queryjournal «путь к журналу». Отобразить журнал USN раздела диска.
  • fsutil.exe usn readdata «имя файла». Отобразить данные USN для файла.

Количество записей журнала USN можно узнать, запустив программу командной строки chkdsk.exe.

Управление томом (команда volume)

И последней возможностью, которая реализована в программе fsutil.exe, является возможность работы с разделами диска. Для этого применяются следующие варианты синтаксиса.

  • fsutil.exe volume dismount «раздел диска». Отключить том.
  • fsutil.exe volume diskfree «раздел диска». Отобразить объем свободного пространства раздела.

2.11. Заключение

Вот и закончилась часть книги, посвященная общим возможностям работы с операционной системой Windows Vista. В следующих главах мы с вами углубимся в конкретные возможности операционной системы Windows.

В частности, мы с вами рассмотрим следующие возможности:

  • стандартные программы Windows Vista и их недокументированные возможности;
  • стандартные службы и драйверы операционной системы, их работу и возможности их настройки, либо условия, при которых эти службы и драйверы лучше отключить;
  • команды rundll32.exe, которые можно использовать в Windows Vista;
  • описание стандартных групповых политик операционной системы Windows Vista;
  • привилегии и права пользователей, применяемые в Windows, а также другие аспекты безопасности этой операционной системы.

Продолжение следует

Рейтинг: 0 
Оцените: 1 2 3 4 5
moemesto.ru bobrdobr.ru - добавить в социальные закладки
В начало записи
Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=587

В избранное