Нестандартные приемы при работе в среде Windows    На данной страничке будут размещаться материалы по использованию нестандартных, или просто интересных приемов, применяемых для решения простых задач в среде Windows. Так, например, знание того, что в файловой системе существуют специальные отметки времени для любого файла или каталога, позволяют довольно просто решить некоторые задачи, кажущиеся, на первый взгляд сложными. Как определить время последнего запуска программы Как определить дату установки Windows Как найти и обезвредить вирус без использования антивируса Как быстро сделать жесткий диск не отформатированным Как одной командой освободить место на диске. Как в командной строке определить тип процессора, характеристики памяти и другие сведения. Как пользоваться устройством, для которого нет драйвера в Windows 7 и старше. Как определить время последнего запуска программы.    Как ни странно, вопрос, когда запускалась последний раз какая-нибудь программа, например firefox.exe ставит в тупик даже грамотных пользователей, работающих в среде Windows. Хотя ничего сложного здесь нет. Для начала, нужно определиться с тем, что же такое - процесс запуска программы. В общем виде, - это поиск исполняемого файла в файловой системе, считывание его содержимого с дискового носителя в оперативную память и передача управления в точку старта. Другими словами, запуск программы всегда сопровождается операцией чтения файла. Файловая система Windows ( обычно это NTFS - New Technology File System - "файловая система новой технологии") представляет собой своеобразный каталог, содержащий информацию о расположении файлов и их характеристиках и собственно данные файлов. В элементах каталога хранится информация о месте расположения файла, его размере, атрибутах (Скрытый, Системный, Только чтение:) и другие признаки, в частности - временные отметки: - время создания (Created) - время создания файла. - время изменения (Modified) - время изменения файла. - время доступа (Accessed) - время доступа к файлу. Время доступа к файлу автоматически изменяется при выполнении любых операций над файлом, и, естественно, при чтении exe-файла для запуска. Поэтому время последнего запуска программы всегда соответствует времени последнего доступа к ее исполняемому файлу. Временные отметки для файла можно посмотреть в проводнике с использованием контекстного меню правой кнопки мышки "Свойства"- вкладка "Общие" В данном случае, информация относится к исполняемому файлу обозревателя Mozilla FireFox и позволяет сделать вывод, что обозреватель был установлен на компьютере 27 января 2010 г. , последнее обновление исполняемого файла firefox.exe выполнялось 14 декабря 2011 г. и последний запуск программы был выполнен 15 декабря 2011 года. Естественно, достоверность данных о временных отметках файла не может быть полной, поскольку, файл, например можно удалить, и затем скопировать из другого источника, что изменит время создания, открыть его каким-нибудь редактором и сохранить, не внося изменений, что изменит время изменения, просто открыть в блокноте Windows, что изменит время доступа. Тем не менее, отметки времени в обычных условиях использования программного обеспечения, вполне можно использовать в случаях, когда нужно узнать время установки, последнего обновления и запуска программ.     Использование операций поиска файлов по отметкам времени позволяют решить и более сложную задачу, как, например, получение списка программ, которые были запущены на данном компьютере в определенное время. Стандартные средства поиска файлов и папок Windows и даже скриптовые языки администрирования не позволяют достаточно просто решить эту задачу, поэтому удобнее всего воспользоваться готовым программным решением от сторонних производителей. В частности, бесплатная и довольно удобная программа SearchMyFiles от Nir Sofer (nirsoft.net). Скачать последнюю версию для 32-битных и 64-битных Windows, а также файл русификации можно на Страничке программы SearchMyFiles . SearchMyFiles является переносимой программой и не нуждается в установке. Архив содержит исполняемый exe-файл и справочные txt и chm-файлы. SearchMyFiles можно использовать как альтернативу стандартному средству поиска файлов и папок Windows ("Search For Files And Folders" ) . Программа позволяет легко выполнить поиск по шаблонам, времени создания/модификации/доступа ( created/modified/accessed ), атрибутам, размерам, содержащимся текстовым или бинарным фрагментам. Можно, например, легко выполнить поиск всех файлов, созданных за прошедшие 10 минут или, файлов, размер которых составляет от 500 до 700 байтов. Результаты поиска можно скопировать в буфер обмена или сохранить в файл списком в формате text/html/csv/xml После старта SearchMyFiles на экране будет отображено окно Search Options где можно задать нужные критерии поиска. Для поиска программ, например, исполняемых файлов с расширением exe и dll , которые запускались сегодня: Кроме обычных для системы поиска файлов и папок Windows стандартного набора критериев ( по шаблону, размеру, содержимому:), можно воспользоваться поиском по отметкам времени файлов ( Опции File Time в нижней части окна). Для каждого вида отметки времени файла можно применить поиск по следующим временным диапазонам: - All Times - в результаты поиска попадут файлы с любой датой - Time Range - можно определить диапазон дат с точностью до секунды - Last XX seconds - за последние XX (1-99) секунд - Last XX minutes - за последние XX (1-99) минут - Last XX hours - за последние XX (1-99) часов - Last XX days - за последние XX (1-99) дней - Last XX seconds - за последние XX (1-99) секунд - Today - за сегодняшний день - Since Last Reboot - с момента последней загрузки Windows Соответственно, можно легко решить задачи: - Список всех файлов, созданных на компьютере за последние 10 минут - шаблон имени файла - *.* и значение фильтра Created выбирается Last XX minutes = 10 - Список программ, установленных сегодня - шаблон имени файла - *.exe и значение фильтра Created выбирается Today - Список текстовых и html-файлов, измененных за последние 3 дня - шаблон имени файла - *.txt,html и значение фильтра Modified выбирается Last XX days равное 3 И список программных модулей exe и dll, запускавшихся сегодня - шаблон имени файла - *.exe,dll и значение фильтра Accessed выбирается Today После того, как будут заданы нужные критерии поиска, остается нажать кнопку "Start Search" и , через некоторое время, проанализировать полученные результаты. Время ожидания зависит от быстродействия компьютера, размеров файловой системы, глубины поиска в подкаталогах и т.п. В окне результатов будет отображаться список exe и dll-файлов, которые соответствуют выбранным критериям поиска, т.е. файлов, запуск которых выполнялся сегодняшним днем. Как определить дату установки Windows.Обычно, для определения даты установки Windows используется информация, записанная в раздел реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion по завершении инсталляции. Дата хранится в ключе InstallDate в виде количества секунд, прошедших с 1 января 1970 года на момент инсталляции операционной системы. В Windows XP и старше, для получения даты в обычном виде, можно воспользоваться консольной утилитой systeminfo.exe. Но, если нужно узнать дату установки Windows 2000/XP, или дату установки любой версии Windows, загрузиться в которой невозможно, или работа с которой выполняется в среде другой ОС (например, при работе в среде средств аварийного восстановления ) можно воспользоваться тем фактом, что дата создания некоторых файлов или папок никогда не изменяется с момента установки системы. За исключением , пожалуй того случая, когда Windows устанавливается поверх уже существующей системы. Так, например, дата создания папки Windows, в большинстве случаев будет соответствовать дате установки ОС. А также любой другой системной папки, не удаляемой в процессе использования системы. Существуют и некоторые файлы, которые создаются в ходе установки Windows и никогда не изменяются в процессе ее использования. Например, файлы копий кустов реестра (sam, security, system, software), записанные в папку \WINDOWS\REPAIR\ при завершении установки Windows 2000/XP. Кроме того, например, дата создания inf-файлов для стандартных системных драйверов из дистрибутива, будет также соответствовать дате установки Windows, даже если выполнялось их обновление, поскольку при обновлении файлы предварительно не удаляются, а перезаписываются, т.е. изменяется дата модификации, но не дата создания файла. Как найти и обезвредить вирус, без использования антивируса.    В подавляющем большинстве случаев, используя выше описанную утилиту SearchMyFiles можно быстро и легко справиться с вирусами, в частности, с различными блокираторами и СМС-вымогателями. Любой вирус - это, прежде всего, программа, т.е. как правило, файл с расширением exe, реже - dll. В процессе обычной работы пользователя подобные файлы не создаются, если не выполняется установка или копирование какого - любо нового программного обеспечения. Т. е. из всего множества файлов файловой системы Windows, файлы вируса будут отличаться тем, что их дата создания будет соответствовать дате заражения, обычно - дате "Сегодня" или "Вчера". Теоретически, вирус может выполнить подмену даты, однако на практике мне такие случаи не встречались, и поиск по дате создания всегда давал список, где обязательно присутствовали файлы вирусов. Более того, такой способ поиска вредоносного программного обеспечения оказывается эффективнее, чем использовании антивирусных сканеров, поскольку выполняется значительно быстрее, и не зависит от актуальности антивирусной базы. Для обезвреживания руткитов и разблокировки рабочего стола пользователя можно воспользоваться загрузкой в другой ОС. Тот факт, что SearchMyFiles является переносимым приложением, позволяет использовать ее в комплекте программного обеспечения дисков аварийного восстановления на основе Windows PE, как например ERD Commander (ERDC). Загрузившись в ERD Commander (или c другого LiveCD на базе Windows PE) можно выполнить поиск исполняемых файлов на жестком диске зараженной системы, созданных за тот период, когда могло произойти заражение. Если загрузка выполняется с CD/DVD-диска, то в качестве носителя для SearchMyFiles можно использовать обычную флэшку, внешний диск или дискету, подключив их к компьютеру до начала загрузки. После перемещения попавших под подозрение файлов в какую-любу папку (на всякий случай), желательно убрать из реестра связанные с ними записи. Что легко выполняется в среде ERD Commander. Подобный же подход можно использовать для поиска файлов обновлений, драйверов, некорректно работающих системных служб, которые вызвали крах Windows (BSoD). В описываемых случаях использовалась утилита SearchMyFiles v1.82 - Скачать zip-архив, 65кб с поддержкой русского языка Как быстро сделать диск не отформатированным.    При определении содержимого любого дискового носителя средствами подпрограмм BIOS или любой операционной системы, в первую очередь, считывается самый первый сектор данных, представляющий собой специальную запись, называемую Master Boot Record или MBR. Обязательным признаком наличия данных записи MBR в первом (иногда его называют нулевым) секторе диска является специальный код (сигнатура) в двух последних байтах - 55AA. Наличие сигнатуры проверяется подпрограммой начальной загрузки BIOS, и при ее отсутствии, диск считается не загрузочным, даже если соблюдены все остальные условия возможности загрузки - имеется начальный загрузчик, активный раздел и т.п. Таким же образом, выполняется первый этап анализа содержимого системного или любого другого диска, подключаемого к операционной системе. Другими словами, процедура определения оглавления диска начинается с проверки наличия сигнатуры 55AA в первом секторе диска и, если ее нет, то на этом и заканчивается. При отсутствии сигнатуры не имеет никакого значении тот факт, что диск содержит какие - либо логические разделы, имеется загрузочный код в записи MBR, или диск содержит скрытые данные систем восстановления. Нет сигнатуры - нет никакой логической структуры данных на диске. То есть изменение любого бита в двух последних байтах первого сектора диска превращает его, с точки зрения ОС и BIOS, в абсолютно пустой носитель информации.     Многие программы для тестирования жестких дисков позволяют просматривать и изменять данные выбранных секторов. В данном примере будет использоваться популярная программа Victoria for Widows - Скачать, приблизительно 0.5 Мб . Программа не требует установки. Архив содержит исполняемый файл vcr44f.exe, файл справки vichlp.htmи драйвер porttalk.sys, необходимый для работы с дисками через порты ввода-вывода ( режим PIO программы Victoria). Последний файл в данном случае не нужен, поскольку в рассматриваемом примере выполняется изменение сигнатуры для флэшки, доступ к которой возможен только через программный интерфейс Windows (режим API программы, устанавливаемый переключателем в правой верхней части основного окна) . Манипуляции с данными записи MBR в случае ошибочных действий пользователя могут привести к полной потере данных, поэтому, нужно соблюдать осторожность и четко представлять последствия своих действий. Обязательно нужно учитывать следующие факторы: - Если выполняется запись на диск, то нужно абсолютно точно знать - на какой диск (если их несколько), в какой сектор и какие данные вы будете записывать. - Проверка правильности сигнатуры выполняется только при подключении диска к системе или при перезагрузке. - Если изменена сигнатура загрузочного диска, то при перезагрузке операционной системы он станет "пустым", и для ее восстановления следует заранее предусмотреть возможность загрузки и редактирования сектора в другой ОС. - Если используется изменение сигнатуры для жесткого диска, то могут быть потеряны и данные скрытых разделов, используемые для восстановления системы в нетбуках и ноутбуках. Практический пример для съемного диска : 1. Выбираем диск, сигнатуру которого будем менять. Переходим на вкладку Standard . В окне слева выбираем диск ( № 3 Removable Kingston Data . . . ) Изменение сигнатуры никак не влияет на состояние уже подключенного диска. После стандартного отключения средствами Windows (безопасного извлечения устройства) отсоединяем флешку от разъема USB порта и снова подключаем ее. При попытке открыть содержимое флешки будет выдано сообщение, что она не отформатирована: Как одной командой освободить место на диске.В ОС Windows существует технология теневого копирования, позволяющая на работающей системе создавать резервные копии файлов и каталогов, таких, как например, точки восстановления, копии файлов реестра и мгновенные снимки файловой системы, хранящийся в системных папках System Volume Information. При настройках по умолчанию, такие резервные копии создаются периодически, или, в случае существенного изменения конфигурации системы ( установка ПО, добавление драйвера и т.п.). Естественно, такие копии очень полезны в тех случаях, когда требуется восстановление работоспособности системы в целом или отдельных файлов и папок. Однако, в тех случаях, когда нужно быстро освободить место на жестком диске, и не предвидится работа по восстановлению, от теневых копий можно избавиться, выполнив команду от имени администратора : vssadmin Delete Shadows /All Обычно после выполнения подобной команды свободное место на диске увеличивается на несколько гигабайт, как минимум. Естественно, не будет точек восстановления и снимков файловой системы, которые со временем, снова появятся. Кроме приведенного приема, близкий результат можно получить при использовании стандартного менеджера очистки командой: cleanmgr /verylowdisk При выполнении данной команды удаляются не только временные файлы браузера, некоторые журналы, эскизы и т.п., но и файлы, требующие административных привилегий - резервных копий пакетов обновления, дампы памяти, создаваемые при обработке системных ошибок и т.п. Кроме того, при выполнении cleanmgr.exe с правами администратора, имеется возможность удалить все теневые копии тома за исключением последней. Для чего переходим на вкладку ”Дополнительно” Подобный вариант освобождения дискового оставляет пользователю возможность использования последней точки восстановления на тот случай, если возникнет надобность в откате системы. Как в командной строке определить тип процессора, объем памяти и некоторые другие характеристики.    В Windows 7 и старше существует утилита командной строки Winsat (Windows System Assessment Tool ), предназначенная для определения производительности системы с помощью набора специальных тестов, названных компанией Microsoft "оценками". В качестве параметра командной строки Winsat можно использовать ключ -v определяющий режим подробного вывода информации о тестируемом компоненте системы. Использование данного ключа и, например, выполнение команды для оценки производительности процессора без указания типа теста приводит к тому, что тестирование не выполняется, но на экран выводится очень подробная информация о центральных компонентах оборудования. Если выполнить команду: winsat cpu –v То будет выведено сообщение, что не задан режим оценки ( -encryption или –compression ) и тестирование не будет выполняться, но наличие ключа -v приведет к выдаче очень интересных данных, например: Средство оценки системы Windows > Командная строка "C:\Windows\system32\winsat.EXE cpu -v' > DWM not running > Политика электропитания системного процессора сохранена и настроена на "максимальную производительность" > Работает: Перечисление возможностей '' > Gathering System Information > Operating System : 6.1 Build-7601 > Processor : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz > TSC Frequency : 3391700000 > Number of Processors : 1 > Number of Cores : 4 > Number of CPUs : 8 > Number of Cores per Processor : 4 > Number of CPUs Per Core : 2 > Cores have logical CPUs : YES > L1 Cache and line Size : 32768 64 > L2 Cache and line Size : 262144 64 > Total physical mem available to the OS : 15,7 ГБ (16 866 664 448 bytes) > Adapter Description : Intel(R) HD Graphics 4000 > Adapter Manufacturer : Intel Corporation > Adapter Driver Version : 9.18.10.3165 > Adapter Driver Date (yy/mm/dd) : 2013\5\7 > Has DX9 or better : Yes > Has Pixel shader 2.0 or better : Yes > Has LDDM Driver : Yes > Dedicated (local) video memory : 256MB > System memory dedicated as video memory : 0MB > System memory shared as video memory : 1504MB > Primary Monitor Size : 1920 X 1080 (2073600 total pixels) > WinSAT is Official : Yes > Время выполнения 00:00:00.00 > Работает: Оценка ЦП '' > Общее время выполнения 00:00:01.39 > Восстановлена политика питания системного процессора Как видим, выводится информация не только о версии системы и марке процессора, но и его быстродействие, количество ядер, количество логических процессоров, размер кэш, объем оперативной памяти и т.п. Кроме чисто познавательной информации, использование Winsat.exe в данном варианте позволяет получать и обрабатывать в командных файлах данные об отдельных компонентах системы. Так, например, можно выполнить в цепочке с командой winsat команду поиска строки find: winsat mem -v | find "(R)" - на экран будут выведены только строки, содержащие (R). В данном примере – это строки с описанием процессора и видеокарты: Processor : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz Adapter Description : Intel(R) HD Graphics 4000 Если выполнить команду winsat mem -v | find "GHz" , то на экране отобразится только информация о CPU: Processor : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz Таким образом, можно по характерным признакам, выделять строки, содержащие сведения о центральных компонентах оборудования компьютера и полученные данные обрабатывать в командных файлах, например, с использованием циклов FOR. Дополнительно: Описание команды WINSAT Как пользоваться устройством, для которого нет драйвера в Windows 7 и старше.Смена версии операционной системы нередко сопровождается массой неприятных вещей. В первую очередь – это проблемы с совместимостью приложений и драйверов. Нередко приходится сталкиваться с ситуацией, когда понадобилось, например, отсканировать какой-либо документ и под рукой только сканер HP ScanJet 3300C, использовавшийся в среде Windows XP, для которого просто не существует драйвера в операционных системах Windows 7 и более поздних. Ситуация вроде бы безвыходная, но на самом деле, это не так. Потому, что существуют технологии виртуализации компьютерного оборудования, позволяющие на одном реальном компьютере создавать виртуальные машины, каждая из которых, может иметь свою операционную систему, и использоваться параллельно с основной ОС. Так, например, на компьютере с операционной системой Windows 10, можно создать виртуальную машину и установить на нее Windows XP, в среде которой без проблем пользоваться оборудованием, для которого нет драйверов под Windows7 ( например, для того же сканера, упоминаемого выше ). Таким же образом можно, например, создать виртуальную машину с операционной системой семейства Linux или MacOS На сегодняшний день, в среде Windows наиболее распространены программные средства виртуализации: После некоторой реорганизации сайта, продолжение темы - В разделе коротких инструкций (HowTo) |
|