ВходРегистрация
.::Extasy-World::. - Warez Hack News
 

Це мій форум. Ви можете створювати теми та брати участь у їх обговоренні.


Добавить в избранное Отправить мне e-mail
Интересные сайты
Мобильный Шпион
Вас больше никогда не смогут обманывать! Убедитесь
edward brown site
Сайт компьютерной музыки и 3d-графики
ozzix
информационно - развлекательный сайт.заходи!

кухни
Раскрутить мой сайт!Раскрутить мой сайт!
Подписка
E-mail: 
Календарь
<
Ноябрь 2009
>
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
30
Топ комментаторов
extasy Тарас ChakuZa
Комментарии: 59
rootofme ***hacker*** Mafia
Комментарии: 5
antvital VITAL VITAL
Комментарии: 2
stanislav0849 Станислав Люлевич
Комментарии: 1
Другие сайты
mastak Владимир Киселев
viphoenix Александр
emtecc Lisenok Lis
feran Евгений Гвоздик
07108 Шнобель Носов
Комментируемые записи
.::Hack News::.
Сообщения: 30
Windows NT/2000/XP
Сообщения: 23
Привет!
Сообщения: 15
Вернуться на главную.::Extasy-World::. - Warez Hack News / Форум / Сборник статей по настройке Windows / Windows NT/2000/XP

Windows NT/2000/XP

0.00 (0)

Создать темуСоздать тему | К списку

ДобавилТекст

extasy Отправить сообщение
Тарас ChakuZa
Windows NT/2000/XP
1238 дней назад 09.07.2006 04:58:03 Цитата('57441','57441','6','66')">Сообщить о спаме

Реестр Windows NT, 2000 и XP похож на реестр Windows 9x, но существуют и отличия. Многое из описанного в других разделах применимо и в NT, а вот об отличиях и особенностях реестра этой операционной системы пойдет речь в этом разделе


---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"


Комментарии: 23 Просмотров: 8243

extasy Отправить сообщение
Тарас ChakuZa
imageУстановка Windows 9x поверх NT/2000/XP
1238 дней назад 09.07.2006 04:59:35 Цитата('57441','57441','6','67')">Сообщить о спаме

Можно ли установить Windows 98/МЕ, если уже установлена Windows 2000/XP? (Далее Windows 98 и Windows 2000) Можно. Устанавливать Windows 98 нужно на винчестер, который разбит на логические диски с файловой системой FAT32. Понадобятся несколько программ, а в свойствах папки должен быть включен параметр Показывать все файлы. Так же понадобятся компакт-диски с дистрибутивами Windows 98 и Windows 2000, причем, эти диски должны быть загрузочными.

Первая программа Bootpart. При помощи этой программы можно восстановить загрузчик систем NT. Чтобы в командной строке не писать много, составьте файл ВАТ с текстом

BOOTPART WINNT BOOT:C:

и сохраните этот файл, например, с именем bp.bat в той же папке, где находится Bootpart.exe.

Составьте в текстовом редакторе файл msbatch.inf, в котором напишите следующее:

[Setup]
CleanBoot=0

Вообще, msbatch.inf имеет много параметров, а облегчит его составление программа MS Batch 98. Не знаю, жива ли ссылка, но эта программа обычно идет на диске с дистрибутивом Windows 98 в папке Tools. Запускать инсталляцию Windows 98 нужно с параметром msbatch.inf. Для этого сохраните этот файл прямо в корне диска С, потом удалите за ненадобностью.

Следующая программа, которая понадобится, Norton Ghost, только не весь пакет 10-20 МБ, а небольшая программа из большого пакета. До недавнего времени эта программка была здесь. Как пользоваться Norton Ghost можно прочитать здесь. При помощи Norton Ghost необходимо сделать снимок диска, на котором установлена Windows 2000, своеобразный файл отката на случай, если все же ничего не помогло.

Обязательно понадобится диск с дистрибутивом Windows 2000. И, на всякий случай, Service Pack. В корне диска С найдите файл Boot.ini, снимете с него все атрибуты и откройте его в текстовом редакторе. В файле сделайте некоторые изменения:

timeout=10 отвечает за задержку в секундах загрузочного меню выбора системы для загрузки;
добавьте в раздел [operating systems] строку C:\="Windows 98".

Сохраните файл Boot.ini и установите все его атрибуты на место. Когда будут существовать на вашем компьютере 2 системы, то при загрузке компьютера будет выведено загрузочное меню выбора системы для загрузки. Будет ожидание действий пользователя 10 секунд, после чего загрузится система по умолчанию. Число 10 я взял условно, вы можете установить задержку по своему усмотрению, главное, чтобы в параметре timeout после знака "=" стояло ЦЕЛОЕ ЧИСЛО.

Условимся, к примеру, что на диске С установлена Windows 2000, а на диск D будет устанавливаться Windows 98. Сделаны все приготовления, загружаемся с компакт-диска с дистрибутивом Windows 98 и запускаем установку Windows 98 с параметром msbatch.inf. Для этого в командной строке нужно набрать setup.exe c:\msbatch.inf. При установке Windows 98 необходимо выбрать другой диск, т.к. на диске С установлена Windows 2000. Если устанавливать Windows 98 на тот же диск, на котором установлена Windows 2000, могут возникнуть конфликты в частности с Internet Explorer и Outlook Express. Т.к., если папку, куда будет устанавливаться система, можно изменить при установке, задав другое имя, то папку Program Files изменить нет возможности. Поэтому заранее в файл msbatch.inf можно добавить строку InstallDir="d:\windows", чтобы уже не заботиться о диске назначения устанавливаемой Windows 98.

После установки Windows 98 откажитесь от установки драйверов, а сразу сделайте загрузочную дискету в Панели управления - Установка и удаление программ - вкладка Загрузочный диск и перезагрузите компьютер, загрузившись с этой дискеты. Найдите папку с программой Bootpart, запустите файл bp.bat и согласитесь на восстановление загрузчика Windows 2000. Перезагрузите компьютер, но с компакт-диска, на котором содержится дистрибутив Windows 2000.

Запустите установку Windows 2000. После копирования файлов на диск будет предложено установить систему или восстановить существующую. Выбираем восстановление, после чего будет предложено восстановить систему через консоль восстановления. Чтобы воспользоваться консолью восстановления, нужно знать пароль администратора. Выбираем консоль восстановления, где нужно выбрать папку восстанавливаемой системы, ввести пароль администратора и ввести команду FIXBOOT. Остается перезагрузить компьютер и выбрать систему для загрузки. Конечно, нужно выбрать Windows 98, т.к. нужно установить дрова и софт, а так же удалить все папки с баксами ($) на диске С, куда были скопированы временные файлы установщиком Windows 2000.

Если совсем ничего не помогло, хотя всегда прокатывает, но все же, тогда у вас есть пара вариантов:

1. Удалить Windows 98 и при помощи Norton Ghost вернуть снимок диска с установленной Windows 2000.
2. Удалить Windows 2000 и запустить ее установку из Windows 98



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageОсновные команды консоли восстановления
1238 дней назад 09.07.2006 05:00:47 Цитата('57441','57441','6','68')">Сообщить о спаме

В один прекрасный день компьютер отказывается загружать систему ...

В один прекрасный день компьютер отказывается загружать систему и выводит на экран тарабарщину на голубом фоне. Неизвестно откуда появляется сообщение о том, что система не может быть запущена, так как потерян или испорчен какой-то файл. Прежде всего вы пытаетесь перезагрузиться, однако этот способ не всегда срабатывает. В такой ситуации восстановить работоспособность системы можно с помощью нового инструмента, входящего в состав Windows 2000 Professional - Консоли восстановления (Recovery Console - RC).

Установка консоли восстановления

Для начала нужно запустить RC с установочного CD-ROM Windows 2000 Pro (в том случае, конечно, если система поддерживает загрузку с CD-ROM) или с установочных дискет. Можно установить RC как один из вариантов загрузки. Установив компакт-диск, выбираем меню Start, затем Run и вводим в командную строку:

{x}:\i386\winnt32 /cmdcons

где вместо х подставляется буква устройства чтения компакт-дисков. После запуска появится диалоговое окно с вопросом о том, нужно ли устанавливать RC. Выбираем Yes. Для установки консоли понадобится до 7Mбайт дискового пространства. По завершении установки система предложит перезагрузиться. После этого новая опция загрузки - - к вашим услугам.

Для запуска RC с установочных дискет или напрямую с CD-ROM придется загружать систему именно с них. В текстовой части программы установки Windows 2000 Pro появляется возможность выбора между инсталляцией системы (нажав Enter) или ее восстановлением (нажав R). Выбираем вариант восстановления. Далее программа установки предлагает выбрать режим восстановления с помощью консоли восстановления (нажав С) или диска аварийного восстановления emergency repair disk (снова нажав R).

Если система отказывается загружаться, я рекомендую выбирать R, т.е. восстановление с помощью диска аварийного восстановления, даже если самого диска нет. В этом случае автоматически проверяется наличие и целостность всех важнейших системных файлов. Я использовал эту опцию для восстановления Windows 2000 после того, как привел ее в нерабочее состояние установкой Windows NT 4.0. Если этот метод не работает, придется перезагрузиться и запустить RC.

Использование RC

Вне зависимости от того, как запускается RC - с CD-ROM, установочных дисков или из загрузчика - после запуска придется зарегистрироваться. В системах с двойной загрузкой нужно будет выбрать, в какой из установок это сделать (например, C:\winnt, D:\winnt), и ввести пароль администратора. После регистрации появится приглашение на ввод команд. По команде help выдается перечень всех команд, доступных в консоли восстановления. Большинство из них знакомы пользователям командной строки Windows 2000 Pro и DOS, однако информацию по каждой конкретной команде можно получить , набрав

help

В этом примере приведена строка для выдачи информации о команде attrib и результат ее исполнения:

C:\WINNT>help attrib

Команда показывает или изменяет атрибуты файлов:

+ - Назначить атрибут.
- - Снять атрибут.
R - Атрибут файла только для чтения.
S - Атрибут системного файла.
H - Атрибут скрытого файла.
C - Атрибут сжатого файла.

Приведенный результат практически полностью совпадает с результатом выполнения команды

help attrib

из командной строки Windows 2000 Pro. В RC, однако, отсутствует возможность установки или снятия атрибута архивного файла, вместо нее предоставляется возможность работы с атрибутом сжатия. В RC также отсутствуют переключатели /S и /D, изменяющие атрибуты подкаталогов и папок. Большинство команд RC предоставляют сокращенные возможности по сравнению с их вариантами в Windows 2000 Pro. Некоторые команды, однако, существуют только в RC.

Batch. Команда запуска на исполнение файла пакетной обработки. Определены два аргумента: имя запускаемого пакетного файла и файла, в который система перенаправляет выходные данные.

Disable. Команда позволяет предотвратить запуск служб и драйверов при загрузке системы. Она используется в том случае, если на стадии начальной загрузки системы происходит сбой в инициализации службы или драйвера устройства. В команде Disable используется один аргумент - наименование службы, запуск которой мы хотим предотвратить (получить список наименований можно с помощью команды Listsvc). Перед тем как пометить службу флажком запрета на исполнение, команда распечатает флаг запуска службы. Например, команда

disable cdrom

сообщает, что прежний флаг запуска был SERVICE_SYSTEM_START. Это значение нужно запомнить, оно потребуется для возобновления работы службы командой Enable после завершения процедуры восстановления.

Diskpart. С помощью этой команды можно разбить жесткий диск на разделы. Все параметры ей можно передавать из командной строки (введите help diskpart для получения списка аргументов команды). Однако проще работать с ней в диалоговом режиме

diskpart

На текстовом экране появится список разделов жесткого диска. Cтрелками вверх и вниз выбираем необходимый раздел или свободное пространство. После выбора раздела клавишей D удаляем его. Для создания нового раздела в свободном пространстве нажимаем клавишу С.

Система попросит задать размер нового раздела. Завершив все настройки, нажимаем Esc для возврата в RC. Не забудьте отформатировать вновь созданные разделы командой Format.

Enable. Команда разрешает запуск при загрузке системы ранее отключенных служб и драйверов. Она использует два аргумента - наименование службы и ее флаг запуска (если не указать флаг запуска, команда Enable выведет перечень допустимых флагов). Например

enable cdrom SERVICE_SYSTEM_START

разрешает запуск службы cdrom и устанавливает флаг ее запуска при загрузке системы.

Exit. Команда завершает работу RC и перезагружает компьютер.

Expand. Команда распаковывает архивные файлы (.cab), используемые программой установки Windows 2000 Pro. В консоли восстановления она работает так же, как и ее аналог в Windows 2000 Pro, однако использует слегка измененные аргументы. Команда help expand даст их подробное описание.

Fixboot. Команда позволит восстановить систему в случае небрежной установки NT или инсталляции Windows 9x поверх установленной Windows 2000 Pro - в такой ситуации загрузить Windows 2000 Pro обычно не удается. Команда Fixboot перезаписывает загрузочный сектор жесткого диска, что делает диск загружаемым. Понимает единственный аргумент - букву устройства, на которое производится запись. Например

fixboot c:

произведет запись нового загрузочного сектора на диск С.

Fixmbr. С помощью этой команды можно попытаться восстановить главную загрузочную запись (Master Boot Record) загрузочного раздела. С ее помощью можно попытаться заставить систему загружаться в тех случаях, когда она отказывается это делать. У нее определен только один аргумент - имя устройства, на которое устанавливается новая MBR. Если имя в команде не указано, Fixmbr запишет новую MBR в устройство по умолчанию (обычно диск С).

Format. Команда позволяет переформатировать дефектный диск или заново отформатировать раздел, созданный командой Diskpart. Ее аргументами могут быть только: буква устройства, /Q (quick format) - параметр быстрого форматирования и /FS:(file system) - тип файловой системы, с указанием одного из параметров FAT, FAT32, или NTFS. Например команда

format g: /Q /FS:FAT32

применит быстрое форматирование к устройству G и создаст на нем файловую систему FAT32. Если при запуске команды тип файловой системы не указан, по умолчанию задается NTFS, используемая только системами Windows 2000. Это может вызвать проблемы при настройке окружения на работу двух операционных систем одновременно. (Прим. переводчика: установка Windows NT 4.0 с сервисным пакетом SP4 позволяет NT работать с NTFS 5.0, созданной Windows 2000).

Listsvc. Команда выводит на экран перечень всех используемых в системе служб и драйверов с указанием их флагов запуска. Если система не может загрузиться из-за проблем с каким-либо драйвером, Listsvc может помочь. Выпишите наименования всех служб, появившихся на "голубом экране смерти" и загрузите RC. Запустив Listsvc, найдите в выданном ею списке выписанные службы. Командой Disable отключите подозрительные драйверы и покиньте RC. Если система после этого не запустится, загружайте RC и пробуйте снова.

Logon. При использовании нескольких вариантов загрузки эта команда позволит подключаться к различным разделам. Команда выводит список разделов, позволяет выбрать нужный и запрашивает пароль администратора (процедура аналогична той, которая возникает при запуске RC).

Map. Команда выводит список всех устройств жесткого диска, поставленных им в соответствие букв, форматов файловой системы, размеров устройств и физических устройств NT, соответствующих каждому диску. Например, для диска С: команда Map может вывести подобную информацию

C: FAT162047MB
\Device\Harddisk0\Partition1

Аргументом этой команды может быть arc. В этом случае команда покажет разметку физического устройства в формате Advanced RISC Computing (ARC). Именно в таком виде эта информация обычно представлена в файле boot.ini.

Systemroot. Команда делает текущим корневой системный каталог Windows 2000 Pro (обычно C:\winnt).

Команды консоли восстановления могут помочь "оживить" систему. Когда исчерпаны все средства, RC подскажет верное решение.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageУстанавливаем консоль восстановления Windows XP
1238 дней назад 09.07.2006 05:01:28 Цитата('57441','57441','6','69')">Сообщить о спаме

Консоль восстановления - это командная строка, которая поддерживает целый список команд, которые могут быть использованы при устранении неполадок с вашим компьютером, когда ваш компьютер запускается некорректно или же не запускается вовсе. Если вы не можете загрузиться в режиме Safe Mode, то тогда вы должны попробовать использовать консоль восстановления.

В Консоли восстановления Windows XP вы можете следующее:

- Использовать, копировать, переименовывать или замещать системные файлы и директории
- Исправлять boot sector файловой системы или Master Boot Record (MBR)
- Включать или выключать сервисы или установку устройств при последующем запуске компьютера
- Создавать или форматировать разделы на диске

Есть несколько способов, которыми вы можете попасть в Консоль восстановления. Вы можете загрузить ее с Windows XP CD-ROM, когда появится необходимость, но лучше будет установить консоль восстановления до появления необходимости в ней. Плюс установки Консоли восстановления на ваш компьютер очевидна, вы можете запустить ее намного быстрее.

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

Для установки Консоли восстановления на ваш компьютер, вам потребуется около 7 Mb свободного места. Для установки вам необходимо проделать следующее:

1. Во время использования Windows XP, вставьте в CD-ROM оригинальный диск Windows XP и нажмите Выход, когда появится окно с началом установки системы. (Вы можете пропустить это, если имеете директорию \i386 на вашем жестком диске)

2. Выберите Пуск -> Выполнить и в появившемся окне введитеe: {X}:\i386\winnt32.exe /cmdcons
Где {X} должно быть буквой диска, соответствующей CD-ROM.Если директория i386 уже содержится на вашем компьютере, то вам достаточно указать путь к ней, например: C:\i386\winnt32.exe /cmdcons

3. Следуйте указаниям для установки консоли, после завершения установки перезагрузите компьютер

4. Косоль восстановления покажет список доступных операционных систем в меню загрузки, для использования консоли восстановления вам необходимы права администратора

Для ускорения меню загрузки выберите Пуск -> Панель управления -> Система -> Дополнительно. Нажмите на кнопке Настройка в меню Загрузка и Восстановление. В разделе Загрузка системы вы можете установить время, используемое для показа меню загрузки (bootmenu).



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageНастройка контекстного меню файлов
1238 дней назад 09.07.2006 05:02:03 Цитата('57441','57441','6','70')">Сообщить о спаме

Зачастую, возможностей стандартного контекстного меню файлов не хватает для различных задач пользователей. Уже была статья о том, как расширить это меню, однако, в Windows 2000 и Windows XP можно добавить еще пару пунктов, которые заложены в самой операционной системе, но по умолчанию не включены.

Ковыряясь очередной раз в реестре, обратил внимание на два интересных раздела {C2FBB630-2971-11d1-A18C-00C04FD75D13} и {C2FBB631-2971-11d1-A18C-00C04FD75D13} со своими параметрами, которые отвечают за копирование и перемещение файлов в Windows. В общем, эти две возможности, "Копировать в папку" и "Переместить в папку", можно включить в контекстное меню файлов.


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


Чтобы включить новые пункты в контекстное меню надо создать разделы и параметры в реестре:

- для копирования

[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Copyto]
@="{C2FBB630-2971-11d1-A18C-00C04FD75D13}"

- для перемещения

[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Moveto]
@="{C2FBB631-2971-11d1-A18C-00C04FD75D13}"

В примере пункты меню появятся у всех файлов и папок. Чтобы добавить их только в файлы с конкретным расширением, надо добавлять записи в раздел shellex этих файлов. Так, для текстовых файлов это будет выглядеть таким образом:

- для копирования

[HKEY_CLASSES_ROOT\txtfile\shellex\ContextMenuHandlers\Copyto]
@="{C2FBB630-2971-11d1-A18C-00C04FD75D13}"

- для перемещения

[HKEY_CLASSES_ROOT\txtfile\shellex\ContextMenuHandlers\Moveto]
@="{C2FBB631-2971-11d1-A18C-00C04FD75D13}"

Изначально раздела shellex там нет. Надо создать его и все подразделы самостоятельно.

К сожалению, это работает только в Windows 2000 и XP. Перезагрузка компьютера не понадобится.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageУстановка SP1 на Windows XP
1238 дней назад 09.07.2006 05:03:52 Цитата('57441','57441','6','71')">Сообщить о спаме

После выхода SP1 для Windows XP на многих форумах стали появляться вопросы, как его корректно установить. Эта небольшая инструкция, надеюсь, поможет решить большинство возникающих проблем. Уточню, что мной неоднократно были установлены SP1 по этой инструкции для английской версии Windows. Пока проблем не было. Также инструкция успешно прошла проверку на немецкой версии. Так что можно смело утверждать, что и на других версиях она вполне работоспособна.

Microsoft рекомендует, прежде, чем начать установку, запустить System Restore и создать новую контрольную точку (Create New Restore Point).

Предупреждение: ошибка в использовании Registry Editor может быть причиной серьёзной проблеммы, которая потребует полной переустановки операционной системы. Microsoft не несёт ответственности за это. Используйте Registry Editor на свой собственный риск.

Итак, после этих предупреждений приступим к делу:

1. Нажмите Start, а затем Run.

2. В окне Open напечатайте regedit и нажмите OK.

3. На левой панели найдите и откройте следующий ключ:
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current Version\WPAEvents.

4. В правой панели нажать правой кнопкой на параметре OOBETimer и выбрать Modify. Необходимо изменить как минимум одну цифру в этом параметре, чтобы дезактивировать Windows.

5. Нажать Start, а затем Run.

6. В окне Open напечатать следующую команду и нажать OK:
%systemroot%\system32\oobe\msoobe.exe /a
(%systemroot% - это каталог, в котором установлена Windows. Чаще всего он так и называется Windows).

7. В открывшемся окне нажать Yes, I want to telephone a customer service representative to activate Windows, и затем нажать OK.

8. Нажать Change Product Key.

9. Напечатать новый код в окошке New Key и нажать OK. (Список возможных кодов активации XP - см. Ниже).

Если происходит возврат к предыдущему окну, нажмите Remind me later, а затем перезагрузите компьютер.

Повторите шаги 5 и 6, чтобы убедиться, что Windows активирована. Должно появиться следующее сообщение: Windows is already activated. Нажмите OK, чтобы выйти.

После этих хитрых манипуляций надо инсталлировать SP1 For Windows.

Если Windows не запускается после установки SP1, надо нажать F8 во время перезагрузки и выбрать Last Known Good Configuration, а затем повторить процедуру.



Возможные коды для активации Windows XP:
[82VJ3-PB4JR-QPDXV-77VRC-8WRFX]
[DCJM2-4FJQ8-FH46R-WMPDF-4MJ64]
[YXPGY-FQHT2-7MHPD-FJ3R3-8PPKB]
[GXYXB-M46X6-BCVJ3-3RR7K-F6TTM]
[M8W23-CM7TD-DJWV4-KTTB2-99B7K]
[8GKGV-B6FKM-2JVM3-KJ842-TP7QY]
[DPQFT-GYD77-X72G7-KFCP6-K9P4T]
[HY2DM-YFFDH-M7P8R-XGG4J-63W3Y]
[WHBV2-GQC8P-3CC4G-GYWPK-G7PRT]
[G6QBR-P3DDJ-7MDJ7-7X8FT-F2CH6]
[MWB32-G7RB6-4QWH3-GP2V2-BJB83]
[VJKTC-33Q7W-VMXPR-2JDTK-867CQ]



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageОснастка MMC
1238 дней назад 09.07.2006 05:04:52 Цитата('57441','57441','6','72')">Сообщить о спаме

Консоль MMC (Microsoft Management Console) группирует средства администрирования, которые используются для администрирования компьютеров, служб, других системных компонентов и сетей. Впервые она появилась в Windows 2000. Чтобы запустить ее, проделайте следующее: Пуск->Выполнить->mmc. Перед вами откроется окно


Дальше необходимо добавить групповую политику "Локальный компьютер", где и будут проводиться все настройки. Для этого выберите пункт меню Консоль->Добавить или удалить оснастку..., в появившемся окне нажмите кнопку "Добавить", и из появившегося диалога "Добавить изолированную оснастку" выберите "Групповая политика". Нажмите последовательно кнопки "Готово", "Закрыть", "ОК" и вы должны увидеть следующее:


Давайте попробуем убрать пункт "Выполнить" из меню "Пуск" с помощью этого инструмента. В левой части окна консоли перед вами древовидная структура настраиваемых параметров операционной системы. Откройте пункт меню Конфигурация пользователя->Административные шаблоны->Панель задач и меню "Пуск". В расширенном варианте отображения данных вы сможете почитать описание настраиваемого пункта. Если вы знаете что именно вам надо настроить, то лучше переключиться в стандартный режим, чтобы не занимать лишнее место на экране монитора ненужной вам информацией.

Итак, найдите строку Удалить команду "Выполнить" из меню "Пуск".


Дважды кликните по ней левой кнопкой мыши, отметьте пункт "Включен" и нажмите "ОК". Теперь если вы выберите Пуск->Выполнить, то увидите сообщение, что операция отменена вследствие действующих для компьютера ограничений. После перезагрузки этот пункт вообще пропадет из меню "Пуск". Аналогичным образом можно настроить и другие параметры меню "Пуск" и не только.

Значения "Включен" и "Отключен" показывают действует или нет данная политика, а значение "Не задан" возвращает настройку политики в значение по умолчанию, заложенное в операционной системе.

Вы наверняка уже обратили внимание на большое количество параметров, которые можно настроить с помощью оснастки MMC. Действительно, здесь можно настроить очень многие параметры операционной системы без использования дополнительных инструментальных средств. Описывать их все нет смысла, так что если вас заинтересовал этот способ твикинга, ознакомьтесь с ними самостоятельно, тем более описание настраиваемых параметров дает более чем исчерпывающую информацию.

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



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageНастройка меню "Пуск" в Windows XP
1238 дней назад 09.07.2006 05:05:27 Цитата('57441','57441','6','73')">Сообщить о спаме

Windows XP довольно далеко шагнула вперед в плане настройки пользовательского интерфейса. Теперь многие настройки можно проводить с помощью различных диалогов, программ, специальных средств, встроенных в оболочку операционной системы. Если в том же Win98, чтобы скрыть какие-то пункты из "Пуска", необходимо было редактировать реестр или пользоваться различными твикерами сторонних разработчиков, то теперь ему можно придать любой вид воспользовавшись свойствами панели задач и меню "Пуск" (и это не единственный способ). Однако, прямое редактирование реестра не потеряло своей актуальности. Если вы настраиваете вид меню один раз для себя, то лезть в реестр не обязательно, но если вам необходимо повторить эту процедуру на десятке компьютеров, то проще один раз сделать reg-файл, а потом просто запустить его на всех компьютерах.

Раньше я уже писал о том, как можно изменить вид меню в Windows9x, однако в ХР произошли существенные изменения и к немногочисленным старым настройкам добавилось очень много новых. Итак, посмотрим, что же нам предлагает в этом плане Microsoft.

Все параметры, влияющие на вид меню, находятся в разделе

HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer

Если вы хотите, чтобы они были применимы для всех пользователей, параметры необходимо создавать в разделе

HKEY_USERS\ .DEFAULT\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer

Все они имеют тип DWORD и, если это не оговорено особо, значение 1 включает эту настройку, а удаление соответствующего параметра или присвоение ему значения 0 - отключает.

Итак, пройдемся по параметрам (некоторые могут показаться вам знакомыми - ничего удивительного - они остались еще со времен Win9x. Некоторые параметры работают только в Windows XP Professional):

NoSimpleStartMenu - форсировать классическое меню "Пуск" - в свойствах меню "Пуск" становится недоступным переключатель на вид меню в стиле ХР и работать теперь можно только с классическим видом меню "Пуск";
NoStartMenuPinnedList - удаляет фиксированный список программ из меню "Пуск", а также значки "Интернет" и "Электронная почта";
NoStartMenuMFUprogramsList - удаляет список часто используемых программ;
NoStartMenuMorePrograms - удаляет опцию "Все программы" из меню "Пуск";
NoCommonGroups - удаляет группы программ общего назначения (это элементы профиля All Users в списке "Все программы");
GreyMSIAds - отображает частично установленные программы серым цветом;
NoWindowsUpdate - блокирует и удаляет ссылки на Windows Update. Также блокируется доступ к сайту windowsupdate.microsoft.com;
DisableMyPicturesDirChange - запрещает менять путь к папке "Мои рисунки";
DisableMyMusicDirChange - запрещает менять путь к папке "Моя музыка";
DisableFavoritesDirChange - запрещает менять путь к папке "Избранное";
NoStartMenuMyMusic, NoSMMyPictures, NoFavoritesMenu, NoRecentDocsMenu - удаляет все папки пользовательской оболочки из меню "Пуск" (кроме "Моих документов"), а также удаляет соответствующие флажки, расположенные в диалоговом окне настройки меню "Пуск";
NoSMMyDocs - удаляет папку "Мои документы" из меню, а также соответствующий флажок в диалоговом окне настройки меню "Пуск";
DisablePersonalDirChange - препятствует пользователю изменить путь к папке "Мои документы";
MaxRecentDocs - значение этого параметра соответствует максимальному количеству ярлыков, указывающих на последние открываемые документы, которые должны отображаться в подменю "Недавние документы";
ClearRecentDocsOnExit - очищает список недавно использованных документов при выходе пользователя из системы;
NoRecentDocsMenu - удаляет пункт "Недавние документы" из меню "Пуск";
NoFavoritesMenu - удаляет меню "Избранное", а также соответствующие флажки в диалоговом окне настройки Пуска;
NoNetworkConnections - удаляет элемент "Сетевое окружение", находящийся в меню "Пуск" вместе с соответствующим флажком в окне настройки;
NoStartMenuNetworkPlaces - удаляет элемент "Сетевые подключения" меню "Пуск" и соответствующий флажок окна настройки;
NoRecentDocsNetHood - запрещает добавлять или удалять совместно используемые папки в/из "Сетевые подключения", всякий раз когда пользователь открывает документ, находящийся в совместно используемой папке;
NoSMHelp - удаляет пункт "Справка и поддержка" из меню "Пуск";
NoFind - удаляет команду "Поиск" в меню "Пуск" и отключает соответствующую опцию в диалоговом окне настройки;
NoRun - удаляет команду "Выполнить", отключает флажок в окне настройки, отключает возможность запуска программ в Диспетчере задач, блокирует нажатие клавиш Win+R;
MemCheckBoxInRunDlg - добавляет флажок "Запустить в отдельной области памяти" в диалоговое окно "Запуск программы", который позволяет выполнить 16-разрядные приложения в отдельных виртуальных DOS-машинах;
NoSetTaskbar - блокирует возможность внесения любых изменений в установки панели задач и меню "Пуск", а также удаляет элемент Панель задач и меню "Пуск" в Панели управления и в меню "Пуск";
NoInstrumentation - блокирует возможность запоминания системой информации о ранее используемых программах, путях и документах;
NoUserNameInStartMenu - удаляет имя пользователя из меню "Пуск";
NoResolveSearch - препятствует системе осуществлять поиск целевого устройства по его ярлыку;
NoResolveTrack - блокирует функциональные возможности системы по отслеживанию NTFS, при поиске целевых файлов ярлыков оболочки;
ForceStartMenuLogoff - блокирует для пользователя возможность удаления опции "Выход из системы" меню "Пуск";
StartmenuLogoff - отключает опцию Logoff меню "Пуск" и препятствует пользователям включить ее в состав меню;
NoClose - удаляет опцию "Завершение работы" в меню "Пуск" и блокирует для пользователей возможность выключения системы с использованием стандартных средств пользовательского интерфейса;
NoChangeStartMenu - блокирует модификации, производимые по принципу drag-and-drop в меню "Пуск";
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ NonEnum\ {20D04FE0-3AEA-1069-A2D8-08002B30309D} - удаляет элемент "Мой компьютер" из меню и блокирует соответствующий флажок в диалоговом окне настройки.

Чтобы вам не пришлось вручную писать reg-файл, я привожу ниже его код, со всеми перечисленными выше параметрами. Просто уберите знак ";" в начале строки, параметр которой хотите добавить в реестр, и запустите файл на выполнение.

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

"NoSimpleStartMenu"=dword
00000001
"NoStartMenuPinnedList"=dword
00000001
"NoStartMenuMFUprogramsList"=dword
00000001
"NoStartMenuMorePrograms"=dword
00000001
"NoCommonGroups"=dword
00000001
"GreyMSIAds"=dword
00000001
"NoWindowsUpdate"=dword
00000001
"DisableMyPicturesDirChange"=dword
00000001
"DisableMyMusicDirChange"=dword
00000001
"DisableFavoritesDirChange"=dword
00000001
"NoStartMenuMyMusic"=dword
00000001
"NoSMMyPictures"=dword
00000001
"NoFavoritesMenu"=dword
00000001
"NoRecentDocsMenu"=dword
00000001
"NoSMMyDocs"=dword
00000001
"DisablePersonalDirChange"=dword
00000001
"MaxRecentDocs"=dword
00000010
"ClearRecentDocsOnExit"=dword
00000001
"NoRecentDocsMenu"=dword
00000001
"NoFavoritesMenu"=dword
00000001
"NoNetworkConnections"=dword
00000001
"NoStartMenuNetworkPlaces"=dword
00000001
"NoRecentDocsNetHood"=dword
00000001
"NoSMHelp"=dword
00000001
"NoFind"=dword
00000001
"NoRun"=dword
00000001
"MemCheckBoxInRunDlg"=dword
00000001
"NoSetTaskbar"=dword
00000001
"NoInstrumentation"=dword
00000001
"NoUserNameInStartMenu"=dword
00000001
"NoResolveSearch"=dword
00000001
"NoResolveTrack"=dword
00000001
"ForceStartMenuLogoff"=dword:00000001
"StartmenuLogoff"=dword:00000001
"NoClose"=dword
00000001
"NoChangeStartMenu"=dword
00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Policies\NonEnum\{20D04FE0-3AEA-1069-A2D8-08002B30309D}]



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageОписание служб в Windows NT/2000/XP
1238 дней назад 09.07.2006 05:06:14 Цитата('57441','57441','6','74')">Сообщить о спаме

Описание изложено на основе Windows 2000, однако, большинство служб присутствует и в Windows XP.





Знаете ли вы, что во время вашей работы за компьютером, на нем постоянно трудятся десятки маленьких работников, которые помогают во всем и по мере сил облегчают вам жизнь? И имя этим маленьким работникам - службы. Но, как и любые трудяги, им постоянно нужна пища. А что же они едят? Да оперативную память! Для своего функционирования каждый такой работник "съедает" часть оперативки. А вы уверены, что к этому славному обществу не присоединилось несколько дармоедов, которые, занимая лишнюю память, тем не менее, ничего не делают? Спешу вас обрадовать: если все устанавливалось по умолчанию, а потом никакой настройки не проводилось, то именно так оно и есть. А оно нам надо? Наверняка, лишней оперативки у вас нет. Так давайте же посмотрим в лицо каждому нашему работнику, и если он стыдливо отведет взгляд, тут же выгоним из этой славной команды, в крайнем случае, посадим на скамейку запасных :).

Но начнем с определения того, что же такое службы вообще. Служба - небольшая программа, стартующая одновременно с запуском Windows и выполняющая какие-либо служебные функции или обеспечивающая работу других утилит. Есть только в Windows NT/2000/XP. Просмотреть весь список служб можно запустив Пуск->Настройка->Панель управления->Администрирование->Службы.

Внушительный список, не так ли? Правда, активны в данный момент только те, у которых в поле "Состоянии" стоит значение "Работает", но и их тоже весьма немало. Вот на них в первую очередь и надо обратить свое внимание. Оговорюсь сразу, что мы будем менять тип запуска службы. Для этого надо дважды щелкнуть по нужной службе и на вкладке "Общие" найти поле "Тип запуска", в котором, как это ни странно, и можно будет выбрать нужный нам режим. Вариантов всего три: авто - работает всегда, вручную - запускается по мере необходимости самой операционной системой, отключено - вообще не запускается. Отключать службы надо очень аккуратно. И тут лучше оставить что-то лишнее, чем удалить необходимый для работы компонент. Лучше выставлять режим "Вручную", чтобы операционная система при необходимости могла загрузить требуемую службу. В противном случае могут возникнуть ошибки в работе программ вплоть до краха системы, пропадет доступ к некоторым возможностям, да и просто работать станет некомфортно.

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

DHCP-клиент (DHCP Client) - в принципе, если у вас в настройках сетевых подключений (в том числе к интернет) нет упоминаний о DHCP-сервере, то можно поставить запуск Вручную, но лучше, все же, оставить как Авто.
DNS-клиент (DNS Client) - если компьютер не подключен к интернет, то можно установить Вручную.
NetMeeting Remote Desktop Sharing - разрешает проверенным пользователям доступ к рабочему столу - отключить за особой вредностью.
Plug and Play - ну куда без плуг-анд-плея? Лучше ничего не трогать!
QoS RSVP - для локальной машины вряд ли понадобится, поэтому оставить Вручную.
Telnet - если вам надо, чтобы кто-то удаленно запускал на вашей машине программы из консоли, то, конечно, можете оставить и Вручную. Для всех остальных - Отключить.
Windows Installer - лучше данную службу не беспокоить, так что пусть работает Вручную.
Агент политики IPSEC (IPSEC Policy Agent) - служба нужна только если компьютер подключается к домену Windows 2000. В противном случае лучше выставить Вручную.
Диспетчер авто-подключений удаленного доступа (Remote Access Auto Connection Manager) - можно выставить Вручную или вообще Отключить.
Диспетчер логических дисков (Logical Disk Manager) - можно выставить тип запуска Вручную.
Диспетчер очереди печати (Print Spooler) - если у вас нет принтеров (в том числе сетевых), то можно службу вообще отключить - все равно вам файлы печатать не придется.
Диспетчер подключений удаленного доступа (Remote Access Connection Manager) - для локальных компьютеров в принципе, можно выставить и Вручную, если же вы подключены к сети, то лучше оставить Авто.
Диспетчер сетевого DDE (Network DDE DSDM) - изначально стоит Вручную. Ну и пусть стоит.
Диспетчер служебных программ (Utility Manager) - я надеюсь, "Специальные возможности" вы даже не поставили, так что смело отключайте эту службу. Конечно, если вам нравится, как выскакивает сообщение, если пять раз подряд нажать на Shift, то можете и оставить.
Диспетчер учетных записей безопасности (Security Accounts Manager) - для локальных компьютеров и сетевых машин, для которых информация о безопасности для учетных записей локальных пользователей не получается из сети, можно выставить Вручную. Иначе - Авто.
Журнал событий (Event Log) - если вы никогда не заглядывали в лог-файл работы системы и даже не знаете, где он находится, то отключите службу. Более продвинутым рекомендуется оставить Авто.
Защищенное хранилище (Protected Storage) - именно эта служба хранит пароли к вашему почтовому ящику, и не только к нему. Переключить на режим Вручную можно только если компьютер не подключен ни к интернет, ни к локальной сети.
Инструментарий управления Windows (Windows Management Instrumentation) - довольно важная служба. Пусть уж она лучше работает постоянно.
Источник бесперебойного питания (Uninterruptible Power Supply) - если у вас есть ИБП, с управляющим интерфейсом, подключенным к компьютеру, то ставьте Авто, иначе - Отключено.
Клиент отслеживания изменившихся связей (Distributed Link Tracking Client) - нужна только для компьютеров в домене Windows 2000. Для всех остальных выставляйте Вручную.
Координатор распределенных транзакций (Distributed Transaction Coordinator) - уж больно страшно описание этой службы звучит, поэтому лучше оставьте ее Вручную.
Локатор удаленного вызова процедур (RPC) (Remote Procedure Call (RPC) Locator) - управляет базой данных службы имен RPC. Изначально стоит Вручную - ну и пусть стоит.
Маршрутизация и удаленный доступ (Routing & Remote Access) - на несетевых компьютерах ставьте Отключено, если компьютер в локальной сети, то тоже можно отключить - это вряд ли понадобится, в крайнем случае, админ объяснит вам всю глубину вашего заблуждения и выставит тот режим, какой нужен.
Модуль поддержки смарт-карт (Smart Card Helper) - сомневаюсь, что у вас есть устройство чтения смарт-карт, так что выставляйте Вручную.
Обозреватель компьютеров (Computer Browser) - если компьютер не подключен в локальную сеть, то эта служба вам не нужна, так что выставляйте ее Вручную.
Общий доступ к подключению Интернета (Internet Connection Sharing) - необходимость этой службы весьма сомнительна в любом случае. Даже если компьютеры в вашей локальной сети выходят в интернет именно через вас, то для этих целей лучше воспользоваться специальными программами, предоставляющими массу дополнительных возможностей. Ну, а если компьютер вообще не подключен к сети, то тем более надо эту службу отключить.
Оповещатель (Alerter) - для компьютеров в локальной сети оставить Вручную, у домашнего компьютера можно отключить.
Оповещения и журналы производительности (Performance Logs & Alerts) - не настолько уж эта служба и важна, чтобы выставлять ее в Авто режим, поэтому оставьте Вручную.
Планировщик заданий (Task Scheduler) - если вы пользуетесь планировщиком, то, конечно, оставляете Авто, в противном случае - Отключено.
Поставщик поддержки безопасности NT LM (NT LM Security Support Provider) - обеспечивает безопасность программам, использующим удаленные вызовы процедур (RPC) через транспорты, отличные от именованных каналов. Лучше оставить Вручную.
Рабочая станция (Workstation) - нужна для других служб, оставлять Авто.
Расширения драйвера оснастки управления Windows (Windows Management Instrumentation Driver Extensions) - службу можно выставить Вручную.
Сервер (Server) - для компьютеров, не подключенных к локальной сети, эту службу можно отключить.
Сервер папки обмена (ClipBook) - оставляйте Вручную. Для несетевых компьютеров можно вообще отключить.
Сетевой вход в систему (Net Logon) - имеет значение по умолчанию - Вручную. Лучше его не менять.
Сетевые подключения (Network Connections) - как ни странно, но даже если установлена Вручную, то все равно всегда запущена. Если вы не подключены к локальной сети и не выходите с этого компьютера в интернет, то можете и отключить ее, для остальных случаев лучше не трогать.
Система событий COM+ (COM+ Event System) - рекомендуют выставлять значение этой службы Авто, так что лучше послушать рекомендации.
Служба RunAs (RunAs Service) - часто ли вам приходится запускать приложения от имени других пользователей? Смело можете ставить Вручную.
Служба администрирования диспетчера логических дисков (Logical Disk Manager Administrative Service) - служба запускается Вручную, лучше это значение не менять.
Служба времени Windows (Windows Time) - устанавливает показания часов компьютера. Оставляйте Вручную.
Служба индексирования (Indexing Service) - индексирует содержимое и свойство файлов на компьютере, для обеспечения быстрого их поиска. Но, на мой взгляд, файлы на компьютере лучше искать с помощью FARa или Windows Commandera, так что службу лучше отключить.
Служба поддержки TCP/IP NetBIOS (TCP/IP NetBIOS Helper Service) - для компьютера, не подключенного в локальную сеть, отключить, для остальных - Авто.
Служба сетевого DDE (Network DDE) - Вручную.
Служба сообщений (Messenger) - поставить Авто или Вручную для компьютеров подключенных к локальной сети. На домашнем компьютере можно отключить.
Служба удаленного управления реестром (Remote Registry Service) - вы доверите кому-то удаленно ковыряться у вас в реестре? Я - нет. Более того, даже оставлять такую службу вредно, так что однозначно отключать!
Служба факсов (Fax Service) - если у вас нет подключенного факс-модема или вы не пользуетесь им для приема факсимильных сообщений, то смело можете отключать эту службу.
Смарт-карты (Smart Card) - смарт-карты уже упоминались выше, так что действия аналогичны сервису "Модуль поддержки смарт-карт".
Съемные ЗУ (Removable Storage) - если у вас нет съемных носителей типа ZIP, LS-120, то отключайте эту службу. Иначе - Авто.
Телефония (Telephony) - обеспечивает поддержку Telephony API (TAPI) для программ, управляющих телефонным оборудованием и голосовыми IP-подключениями на этом компьютере, а также через ЛВС - на серверах, где запущена соответствующая служба. Выставляем Вручную.
Уведомление о системных событиях (System Event Notification) - для сетевых компьютеров надо выставлять Авто, для домашних - Вручную или Отключено.
Удаленный вызов процедур (RPC) (Remote Procedure Call (RPC)) - на сколько я знаю, эту службу необходимо выставлять в Авто.
Управление приложениями (Application Management) - наконец-то последняя служба! По умолчанию она стоит Вручную. Лучше не менять.

Ну вот, вы прочитали этот довольно утомительный список служб Windows и поспешили поскорее поменять все, по-отключать лишнее и высвободить, наконец, заветные мегабайты оперативки. И тут... случилось непоправимое! Вы отключили жизненно необходимые службы и не заметили этого. Компьютер не грузится, а в рядах доблестных бойцов с детищем MicroSoft царит уныние. Однако не все потеряно! Главное, запустить редактор реестра, а если это не удается, то воспользоваться замечательной программкой RegView, о которой я уже писал. Открываете раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, там вы увидите подразделы с сокращенными названием служб (разделов там реально больше чем присутствует служб на компьютере, так что придется поискать). В подразделе нужной службы найдите DWORD параметр Start. Он может принимать значения 2 - Авто, 3 - Вручную, 4 - Отключено. Отредактируйте его, перезагрузитесь, и все должно нормально заработать.

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



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageПодборка советов по настройке и работе в Windows XP
1238 дней назад 09.07.2006 05:07:07 Цитата('57441','57441','6','75')">Сообщить о спаме

Наткнулся на одном сайте (уже не помню где) на описания некоторых настроек в XP, некоторые работают и для предыдущих версий, цитирую все, как есть:


1. Если предыдущие версии Windows скрывали, как долго они способны работать без перезагрузки, то ХР в этом плане есть чем гордиться. Войдите в командную строку из меню Accessories, которое вызывается стартовой кнопкой All Programs, и наберите systeminfo. Компьютер выдаст много полезной информации, в том числе время бесперебойной работы. Для сохранения этих данных в файле наберите systeminfo > info.txt.

2. Для того чтобы удалять файлы, не сохраняя их в "мусорной корзине", выберите Run... из меню Start и наберите gpedit.msc, затем выберите User Configuration, Administrative Templates, Windows Components, Windows Explorer и отметьте флажком Do not move deleted files to the Recycle Bin. Покопавшись в gpedit, можно найти массу параметров интерфейса и системы, однако будьте осторожны: некоторые из них могут привести к нежелательному поведению компьютера. (Это работает только в Professional Edition.)

3. Рабочую станцию ХР можно запереть двумя щелчками мыши. Кликнув на рабочем столе правой кнопкой, создайте новый ярлык и введите в поле location строку rundll32.exe user32.dll,LockWorkStation. Присвойте этому ярлыку какое-нибудь имя. Теперь двойным щелчком по нему вы сможете блокировать свой компьютер. Того же эффекта можно добиться сочетанием клавиш Windows + L.

4. XP скрывает отдельные элементы системного ПО, которые кто-то, возможно, захочет удалить. Это может быть, например, Windows Messenger. Пользуясь редактором Notepad или Edit, исправьте текстовый файл /windows/inf/sysoc.inf, найдя и удалив в нем слово hide. Затем войдите в меню Add or Remove Programs на панели управления, выберите Add/Remove Windows Components и вам откроется все, что было сокрыто.

5. Тем, кто владеет искусством работы с пакетными файлами DOS, ХР предлагает ряд интересных новых команд. В их числе eventcreate и eventtriggers для создания системных событий и слежения за ними, typeperf для контроля за производительностью различных подсистем и schtasks для управления запланированными задачами. Как обычно, /? после имени команды выдает список опций - их слишком много, чтобы перечислять здесь все.

6. В ХР есть поддержка IP версии 6 - интернет-протокола нового поколения. К сожалению, такой поддержки нет у вашего ISP, поэтому экспериментировать с ней можно лишь в пределах локальной сети. Введите ipv6 install в поле Run... (не беспокойтесь, текущие сетевые настройки от этого не пострадают), а затем наберите ipv6 /? в командной строке, чтобы получить дополнительную информацию. Если вы не знаете, что такое IPv6, не переживайте и не утруждайте себя.

7. Наконец-то появилась возможность снимать задачи из командной строки. Наберите taskkill /pid и номер задачи или просто tskill и номер процесса. Номер можно узнать, набрав команду tasklist, которая вдобавок сообщит многое о том, что происходит в вашей системе.

8. XP считает файлы Zip папками - это удобно, если у вас быстрая машина. На более медленных системах можно заставить ХР отказаться от такой практики, набрав в командной строке regsvr32 /u zipfldr.dll. Позднее, если вы передумаете, можно все вернуть назад командой regsvr32 zipfldr.dll.

9. В ХР встроена технология сглаживания шрифтов на экране ClearType, но по умолчанию она выключена. Ее стоит попробовать, особенно если вы начинали с DOS и пялились на экран все эти годы, заработав астигматизм. Чтобы включить ClearType, кликните правой кнопкой мыши на десктопе, выберите Properties, Appearance, Effects, затем найдите во втором падающем меню ClearType и разрешите эту опцию. Лучшие результаты получаются на лаптопах. Если вы хотите использовать ClearType и на экране приветствия Welcome, присвойте параметру HKEY_USERS/.DEFAULT/Control Panel/Desktop/FontSmoothingType в реестре значение 2.

10. Вы можете помочь приятелю, который работает в домашней сети и пользуется трансляцией сетевых адресов (NAT), применив механизм удаленного доступа, но не сразу. Сначала попросите друга прислать вам e-mail с приглашением Remote Assistance, предварительно отредактировав файл. В атрибуте RCTICKET указан IP-адрес NAT, например 192.168.1.10. Его надо заменить действительным IP-адресом вашего приятеля - он может определить его, посетив сайт www.whatismyip.com, - и пусть он убедится, что в его брандмауэре порт 3389 открыт и переадресован на проблемный компьютер.

11. Вы можете исполнять программы от имени другого пользователя без выхода из системы и повторной регистрации. Кликните на значке правой кнопкой, выберите Run As... и введите имя пользователя и пароль. Они будут действовать до окончания текущего сеанса работы. Это особенно полезно, когда нужно получить права администратора для установки программы, что случается очень часто. Имейте в виду, что многократно исполнять программы под разными именами - занятие увлекательное, но оно может привести к непредсказуемым эффектам.

12. Windows XP проявляет настойчивость в отношении автоматической проверки апдейтов, регистрации в системе Passport, использования Windows Messenger и т.п. Со временем вы привыкните, но, если чувствуете, что не доживете до этого момента в здравом уме, запустите Regedit, войдите в HKEY_CURRENT_USER/Software/Microsoft/Windows/Current Version/Explorer/Advanced и создайте параметр DWORD с именем EnableBalloonTips и значением 0.

13. Можно начинать работать, не набирая имени пользователя и пароля. Выберите Run... из стартового меню и наберите control userpasswords2, что приведет к открытию приложения, управляющего учетными записями пользователей. На вкладке Users удалите флажок у позиции Users Must Enter A User Name And Password To Use This Computer и кликните ОК. Появится диалоговое окно Automatically Log On; введите имя пользователя и пароль для нужной учетной записи.

14. Internet Explorer 6 можно настроить на автоматическое удаление временных файлов. Запустите браузер, выберите Tools / Internet Options... и Advanced, спуститесь до раздела Security и отметьте позицию Empty Temporary Internet Files Folder When Browser is Closed.

15. К ХР прилагается бесплатный индикатор работы сети на тот случай, если вам не видно светодиодов на сетевой плате. Кликните правой кнопкой на My Network Places на рабочем столе и выберите Properties. Кликните правой кнопкой на ярлыке своей локальной сети или dial-up соединения, выберите Properties и активизируйте значок Show в зоне оповещения о работе в сети. Теперь при наличии сетевого трафика в правой части панели задач вам будет весело подмигивать маленький значок сети.

16. Меню Start, когда оно решит появиться, может показаться медлительным, но этот процесс можно ускорить, уменьшив значение параметра реестра HKEY_CURRENT_USER/Control Panel/Desktop/MenuShowDelay, которое по умолчанию равно 400. Сделайте его, например, нулевым.

17. В Windows Explorer файлы можно переименовывать скопом. Выделите в окне группу файлов, кликните правой кнопкой по одному из них и, если нужно, переименуйте его. Все выделенные файлы получат имя указанного файла с индивидуальными номерами в скобках. Кроме того, значки в папке можно организовать в упорядоченные по алфавиту группы - для этого выберите View, Arrange Icon By... Show In Groups.

18. Windows Media Player в процессе воспроизведения треков отображает обложки альбомов если находит их изображение в Интернете во время копирования трека с CD. В противном случае, а также если у вас большая библиотека музыкальных файлов WMP, вы можете поместить свою собственную копию изображения обложки в тот же каталог, где хранятся записи. Просто назовите ее имя_каталога.jpg, и Windows Media Player найдет и выведет эту картинку.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageНастройка свойств сети и оболочки Windows NT
1238 дней назад 09.07.2006 05:07:48 Цитата('57441','57441','6','76')">Сообщить о спаме

И начнем мы рассмотрение настроек, пожалуй, с самой важной темы, от которой зависит безопасность работы с операционной системой: настройки различных параметров и установок работы в сети. Рассматриваемые настройки хранятся в ветви HKEY_LOCAL_MACHINE реестра. В этой ветви надо открыть раздел Software\Microsoft\Windows\CurrentVersion\Policies\Network. Для начала условимся о некоторых критериях работы: все ключи имеют тип DWORD, если это не обговорено отдельно; значение ключа равное 1 включает данную опцию, 0 выключает, если это не обговорено отдельно. Отмечу, что рассматриваться различные настройки будут по их месторасположению в реестре (т.е. приводятся сведения о ключах, расположенных в одном разделе).

Для запрещения кэширования паролей к различным ресурсам в сети служит ключ DisablePwdCaching. Если вы опасаетесь за свою безопасность и не хотите, чтобы ваша информация стала доступна всем подряд, то лучше выставить значение этого ключа равным 1.

Ключ HideSharePwds определяет, показывать ли пароли к расшаренным ресурсам (имеющим общий доступ) открытым текстом или заменять их звездочками.

Минимальную длину пароля можно выставить с помощью двоичного (BINARY) ключа MinPwdLen.

Ключ NoDialIn запрещает соединение удаленного доступа.

Ключ NoEntireNetwork запрещает отображение папки "Вся сеть".

Для запрещения доступа к файлам служит ключ NoFileSharing, а для запрета управления доступом к файлам - ключ NoFileSharingControl.

Запрет доступа к принтерам устанавливается ключом NoPrintSharing. Ключ NoPrintSharingControl устанавливает запрет на управление доступом к принтерам.

Для того чтобы запретить перечисление содержимого рабочей группы, надо установить значение ключа NoWorkgroupContents равным 1.

На этом, пожалуй, рассмотрение дальнейших настроек сети временно прекращу, и перейду к настройкам различных параметров оболочки операционной системы расположенных в ветви HKEY_CURRENT_USER в разделе Software\Microsoft\Windows\CurrentVersion\Policies\System. Если вы обратили внимание на то, что настройки проводятся в ветви HKCU, то должны понять, что они будут относиться только к текущему пользователю. Для установки этих параметров для других пользователей надо пользоваться ветвью HKEY_USERS\Name (здесь Name - имя нужного вам пользователя). Впрочем, об этом уже не раз упоминалось ранее.

Для начала запретим пользователю поменять пароль в диалоге входа в систему. Для этого достаточно установить у ключа DisableChangePassword значение 1.

Если вы хотите запретить блокировку компьютера в диалоге входа в систему, воспользуйтесь ключом DisableLockWorkstation.

DisableTaskMgr - запрещает запуск менеджера задач.

Все эти настройки, конечно, могут помочь оградить систему от глупых пользователей, пытающихся всюду сунуть нос, но от более опытных юзеров это не спасет - ведь они могут точно так же открыть реестр и поменять 1 на 0. Для того чтобы они не смогли этого сделать, надо запретить запуск редакторов реестра Regedit и Regedt32 с помощью ключа DisableRegistryTools. Однако самые умные все равно смогут это обойти, воспользовавшись reg-файлом :).

Теперь давайте посмотрим, как можно ограничить свободу пользователей по настройке свойств экрана. Для запрета вызова свойств экрана воспользуйтесь ключом NoDispCPL. NoDispBackgroundPage запрещает вызов страницы свойств фона дисплея. Запретить вызов страницы свойств хранителя экрана можно ключом NoDispScrSavPage. Для запрета вызова страницы свойств оформления экрана надо присвоить значение 1 ключу NoDispAppearancePage. Запрет вызова страницы настроек дисплея осуществляется ключом NoDispSettingsPage.

Ключ EnableProfileQuota включает ограничение профиля в размерах.

В финале статьи приведу настройки, запрещающие командную строку MS-DOS и RealMode. Для этого надо установить в 1 ключи Disabled и NoRealMode соответственно в разделе Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp ветви HKEY_LOCAL_MACHINE.

Пожалуй, для начала хватит :). Тема эта очень обширна, и впереди будет немало статей, посвященных настройке Windows NT. Так что, как говорится, следите за новостями :).



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageОсобенности реестра
1238 дней назад 09.07.2006 05:08:14 Цитата('57441','57441','6','77')">Сообщить о спаме

Реестр Windows NT очень похож на реестр Windows 9x, но существует ряд существенных отличий, основным из которых является организация корневых разделов.

Хотя в окне редактора реестра видны шесть разделов, но реально, раздел HKEY_DYN_DATA недоступен. Все остальные разделы по своей сути не отличаются от аналогичных в Windows 9х (более подробно о них читайте в статье "Редактор RegEdit и структура реестра").

Еще одно существенное отличие - в способе хранения информации реестра. Если в Windows 9x она хранится в двух файлах: SYSTEM.DAT и USER.DAT, то в NT информация разбита на так называемые ульи (hive). Такое положение обусловлено принципиальным отличием концепции безопасности этих операционных систем. Имена файлов ульев и пути к каталогам, в которых они хранятся, расположены в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist. В таблице даны краткие описания ульев реестра и файлов, в которых они хранятся:

HKEY_LOCAL_MACHINE
\SAM Содержит информацию SAM (Security Access Manager), хранящуюся в файлах SAM, SAM.LOG, SAM.SAV в папке \%Systemroot%\System32\Config.

HKEY_LOCAL_MACHINE
\SECURITY Содержит информацию безопасности в файлах SECURITY, SECURITY.LOG, SECURITY.SAV в папке \%Systemroot%\System32\Config.

HKEY_LOCAL_MACHINE
\SOFTWARE Содержит информацию о программном обеспечении. Эта информация хранится в файлах SOFTWARE, SOFTWARE.LOG, SOFTWARE.SAV в папке \%Systemroot%\System32\Config.

HKEY_LOCAL_MACHINE
\SYSTEM Содержит информацию об аппаратных профилях этого подраздела. Информация хранится в файлах SYSTEM, SYSTEM.LOG, SYSTEM.SAV в папке \%Systemroot%\System32\Config.

HKEY_CURRENT_CONFIG Содержит информацию о подразделе System этого улья, которая хранится в файлах SYSTEM.SAV и SYSTEM.ALT в папке \%Systemroot%\System32\Config.

HKEY_USERS\.DEFAULT Содержит информацию, которая будет использоваться для создания профиля нового пользователя, впервые регистрирующегося в системе. Информация хранится в файлах DEFAULT, DEFAULT.LOG, DEFAULT.SAV в папке \%Systemroot%\System32\Config.

HKEY_CURRENT_USER Содержит информацию о пользователе, зарегистрированном в системе на текущий момент. Эта информация хранится в файлах NTUSER.DAT и NTUSER.DAT.LOG, расположенных в каталоге \%Systemroot%\Profiles\Username, где Username - имя пользователя, зарегистрированного в системе на данный момент.


Помимо этих изменений в реестре Windows NT добавились новые типы данных. Для работы с ними надо запускать редактор REGEDT32.EXE. Добавлены данные типа

REG_EXPAND_SZ - расширяемые строки данных. Такие строки содержат переменные, которые могут расширяться при вызове приложения. Например, в строку с этим типом данных можно вставить переменную %Systemroot%, и эта переменная будет замещаться именем каталога, в котором установлена операционная система.

REG_MULTI_SZ - многострочные поля, состоящие из строк, отделенных друг от друга символами NULL.

Вот коротко об отличиях реестра Windows NT и 9х. При работе с ним следует помнить, что многие материалы по настройке оболочки операционной системы, изложенные на этом сайте, справедливы как для Windows 9x, так и для NT



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageОграничение доступа к настройкам Internet Explorer
1238 дней назад 09.07.2006 05:09:21 Цитата('57441','57441','6','78')">Сообщить о спаме

На сайте есть довольно много статей, посвященных ограничению доступа к различным настройкам и элементам операционной системы, а настройки браузера незаслуженно обойдены стороной. Однако тема эта не менее важна, ведь именно браузер (а в данной статье речь пойдет об Internet Explorer'e) является окном в большой мир глобальной паутины и именно через него на компьютер могут попадать различные вирусы, черви, трояны и прочие вредоносные программы. Поэтому настройка браузера на максимальную защиту от внешних факторов является важным элементом защиты компьютера. Однако, как бы не настроил администратор программу, всегда в защите присутствует слабое звено - пользователь. Вот на устранение влияния этого слабого звена и ориентирована данная статья, а именно, речь пойдет об ограничении доступа пользователей к различным элементам настройки Internet Explorer'a.

В Windows есть возможность запретить (разрешить) доступ к свойствам Internet Explorera (Сервис->Свойства обозревателя). Для этого в разделе HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions надо создать (удалить) строковый параметр NoBrowserOptions со значением "1", однако, не всегда можно действовать так грубо, обрубая доступ ко всем настройкам. Иногда приходится использовать не топор палача, а скальпель хирурга. Итак, приступим.

Все настройки, описанные ниже были протестированы на Windows XP с Internet Explorer 6, но я не вижу причины по которой это не работало бы на других версиях Windows и с другими версиями браузера.

Откройте раздел реестра (или создайте, если его не существует) HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel. Все настройки, проводимые в этом разделе, будут относиться к пользователю, под которым загружена операционная система в данный момент. Все описанные параметры имеют тип DWORD, значение 1 включает ограничение, 0 - выключает.

AutoConfig - Свойства обозревателя\Подключения\Настройка локальной сети (LAN) (Internet Options\Connections\Local Area Network (LAN) Setting) - блокирует доступ к изменению Автоматических настроек (Automatic configuration)

CalendarContact - Свойства обозревателя\Программы (Internet Options\Programs) - блокирует доступ к изменению Календарь (Calendar) и Адресная книга (Contact list)

Certificates - Свойства обозревателя\Содержание (Internet Options\Content) - блокирует доступ к кнопке Сертификаты (Certificates) и Издатели (Publishers)

CertifPers - Свойства обозревателя\Содержание (Internet Options\Content) - блокирует доступ к кнопке Сертификатов (Certificates)

CertifPub - Свойства обозревателя\Содержание (Internet Options\Content) - блокирует доступ к кнопке Издателей (Publishers)

Check_If_Default - Свойства обозревателя\Программы (Internet Options\Programs) - блокирует доступ к изменению параметров "Проверять, является ли Internet Explorer используемым по умолчанию обозревателем" (Internet Explorer should check to see whether it is the default browser)

Colors - Свойства обозревателя\Общие\Цвета... (Internet Options\General\Colors...) - блокирует доступ к изменению параметров Цвета

Connection Settings - Свойства обозревателя\Подключения (Internet Options\Connections) - блокирует доступ к изменению параметров Подключения, кроме кнопки Установки нового подключения

Accessibility - Свойства обозревателя\Общие\Оформление... (Internet Options\General\Accessibility...) - блокирует доступ к изменению параметров Оформеления (Accessibility)

Fonts - Свойства обозревателя\Общие\Шрифты... (Internet Options\General\Fonts...) - блокирует доступ к изменению параметров Шрифтов (Fonts)

Languages - Свойства обозревателя\Общие\Языки... (Internet Options\General\Language...) - блокирует доступ к изменению параметров Языки (Language)

Links - Свойства обозревателя\Общие\Цвета... (Internet Options\General\Colors...) - блокирует доступ к изменению параметров Цвета на сслыки (Links)

Messaging - Свойства обозревателя\Программы (Internet Options\Programs) - блокирует доступ к изменению Электронная почта (E-mail), Группы новостей (Newsgroups) и Связь по Интернету (Internet call)

Privacy Settings - Свойства обозревателя\Конфиденциальность (Internet Options\Privacy) - блокирует доступ к изменению Параметров настройки (Settings)

Profiles - Свойства обозревателя\Содержание (Internet Options\Content) - блокирует доступ к кнопке Профиль (My Profile)

Proxy - Свойства обозревателя\Подключения\Настройка локальной сети (LAN) (Internet Options\Connections\Local Area Network (LAN) Setting) - блокирует доступ к изменению Прокси-сервер (Proxy server)

Ratings - Свойства обозревателя\Содержание (Internet Options\Content) - блокирует доступ к кнопкам Ограничения доступа (Content Advisor)

SecAddSites - Свойства обозревателя\Безопасность (Internet Options\Security) - запрещает добавлять сайты для Безопасности

SecChangeSettings - Свойства обозревателя\Безопасность (Internet Options\Security) - блокирует доступ к кнопкам Уровень безопасности для этой зоны (Security level for this zone)

Для простоты настройки ниже приведен код reg-файла, в котором вам достаточно раскомментировать нужные строки и импортировать данные в реестр:

REGEDIT4

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]

"AutoConfig"=dword:00000001
"CalendarContact"=dword
00000001
"Certificates"=dword:00000001
"CertifPers"=dword:00000001
"CertifSite"=dword:00000001
"CertifPub"=dword:00000001
"Check_If_Default"=dword:00000001
"Colors"=dword
00000001
"Connection Settings"=dword
00000001
"Accessibility"=dword
00000001
"Fonts"=dword
00000001
"Languages"=dword
00000001
"Links"=dword
00000001
"Messaging"=dword
00000001
"Privacy Settings"=dword
00000001
"Profiles"=dword:00000001
"Proxy"=dword
00000001
"Ratings"=dword
00000001
"SecAddSites"=dword
00000001
"SecChangeSettings"=dword
00000001

Продолжим тему тонкой настройки Internet Explorer начатой в одной из предыдущих статей. Если в первой статье основной упор был сделан на отключение доступа к каким-либо элементам на различных вкладках в настройке свойств, то в этот раз я решил не мелочиться и просто отключить различные вкладки. Итак, открываем раздел HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel реестра и добавляем следующие DWORD параметры, присвоив им значение 1.

GeneralTab - скрывает вкладку "Общие" в свойствах обозревателя;
SecurityTab - скрывает вкладку "Безопасность";
PrivacyTab - скрывает вкладку "Конфиденциальность";
ContentTab - скрывает вкладку "Содержание";
ConnectionsTab - скрывает вкладку "Подключения";
ProgramsTab - скрывает вкладку "Программы";
AdvancedTab - скрывает вкладку "Дополнительно".

Удаление этих параметров или присваивание им значения 0 делает соответствующую вкладку видимой.

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

Advanced - запрещает любые изменения на вкладке "Дополнительно" (при этом сама вкладка остается доступной);
Settings - запрещает доступ к настройке параметров временных файлов (Свойства обозревателя - вкладка Общие - раздел Временные файлы Интернета).

Аналогично предыдущим параметрам 1 включает запрет, 0 - отключает.

Не знаю как других, но меня жутко раздражает, когда какая-то программа без моего ведома лезет в Интернет, что-то пытается обновить... Традиционно лидером в таких безобразиях являются программные продукты Microsoft, и Internet Explorer не является счастливым исключением. Видимо, разработчики считают всех пользователей не способными самостоятельно мыслить и действовать. Не спорю, иногда их мнение оправдано, но ведь это не наш случай, поэтому запретим автоматические обновления IE. В разделе HKCU\Software\Microsoft\Internet Explorer\Main создадим DWORD параметр NoUpdateCheck, значение 1 - запрещает автоматические обновления.

Перейдем, пожалуй, к настройкам разных параметров работы браузера. Вы обращали внимание как отображаются в окне браузера большие рисунки? По умолчанию IE подгоняет их размер так, чтобы изображение поместилось целиком без появления полос прокрутки. При необходимости можно отключить данную возможность. Открываем раздел HKCU\Software\Microsoft\Internet Explorer\Main и создаем строковый параметр "Enable AutoImageResize", значение "yes" - автоматическое изменение размера изображений включено (установлено по умолчанию), "no" - выключено.

Приведу еще несколько полезных настроек в разделе HKCU\Software\Microsoft\Internet Explorer\Main:
STRING FavIntelliMenus - "yes" - скрывать редко используемые пункты в Избранном, "no" = нет. Архиполезная настройка. Всегда устанавливаю для нее значение "no".
STRING FormSuggest PW Ask - "yes" - Internet Explorer выводит окно с сообщением сохранять пароль или нет (если вы вдруг отметили галочкой "не спрашивать больше", а сохранить пароль все-таки надо, всегда можно заставить браузер вывести этот диалог снова).
STRING Use FormSuggest - Internet Explorer выводит подсказки, в которых можно выбрать ранее введенные данные (автозаполнение форм). Чтобы включить эту возможность установите значение "yes".
STRING FormSuggest Passwords - автозаполнение имен пользователей и паролей в формах. Значение "yes" - автозаполнение используется.

Internet Explorer при открытии ссылки заменяет содержимое последнего открытого окна. С помощью DWORD параметра AllowWindowReuse со значением 0 можно заставить его каждый раз открывать новое окно при клике на любую ссылку (ума не приложу кому это может понадобиться, когда есть кнопка Shift, но мало ли :)). Вернуть все назад можно удалив параметр или присвоив ему значение 1.

STRING Play_Background_Sounds - значение "no" запрещает Internet Explorer проигрывать фоновые звуки на web-страницах. "yes" - разрешает фоновые звуки.

Поиск из панели адресов. DWORD параметр AutoSearch влияет на поведение Internet Explorer, если он не находит страницу. Internet Explorer 6.0 использует следующие значения:
0 - Не выполнять поиск из адресной строки
6 - Показать результаты и перейти на самый похожий узел
5 - Только перейти на самый похожий узел
4 - Только показать результаты в главном окне

Если вы хотите включить (выключить) автозаполнение в строке адреса, надо в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete создать строковый параметр AutoSuggest со значением "yes" ("no")

Internet Explorer при автономной работе выводит окно "Подключение удаленного доступа" если информация не доступна локально. В большинстве случаев это не важная информация (рекламные баннеры) и подключаться к Интернету нет необходимости. На больших страницах Internet Explorer может выдать окно несколько раз, прежде чем полностью отобразит информацию. Это, мягко говоря, напрягает. С помощью DWORD параметра EnableAutodial в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings можно запретить IE выводить окно подключения: 1 - разрешить вывод окна, 0 - запретить.

Заставим браузер сохранять закачиваемые файлы в нужную нам директорию. Для этого создайте или отредактируйте строковый параметр Download Directory в разделе HKCU\Software\Microsoft\Internet Explorer.

Ну и на сладкое один немаловажный параметр. Если нехорошие родители (старший брат/админ/друзья-шутники/сам по пьяни - нужное подчеркнуть) установили ограничение доступа к сайтам, задав длиннющий пароль, а поделиться им с вами "забыли", удалите двоичный параметр Key из раздела HKLM\Software\Microsoft\Windows\CurrentVersion\policies\Ratings и пароля как не бывало.

Чтобы не мучаться с поиском нужных разделов и параметров в редакторе реестра, приведу код reg-файла со всеми упоминавшимися в статье настройками. Просто раскомментируйте нужные строки (удалите ";" в начале строки) и запустите файл на выполнение.

REGEDIT4

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"GeneralTab"=dword
00000001
"SecurityTab"=dword
00000001
"PrivacyTab"=dword
00000001
"ContentTab"=dword
00000001
"ConnectionsTab"=dword
00000001
"ProgramsTab"=dword
00000001
"AdvancedTab"=dword
00000001
"Advanced"=dword
00000001
"Settings"=dword
00000001

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer]
"Download Directory"="C
\DOWNLOAD"

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"AutoImageResize"="no"
"AutoImageResize"="yes"
"NoUpdateCheck"=dword
00000001
"FavIntelliMenus"="no"
"FavIntelliMenus"="yes"
"AllowWindowReuse"=dword
00000000
"Play_Background_Sounds"=no"
"Play_Background_Sounds"="yes"
"AutoSearch"=dword
00000000 ; Не выполнять поиск из адресной строки
"AutoSearch"=dword
00000006 ; Показать результаты и перейти на самый похожий узел
"AutoSearch"=dword
00000005 ; Только перейти на самый похожий узел
"AutoSearch"=dword
00000004 ; Только показать результаты в главном окне
"FormSuggest PW Ask"="no"
"FormSuggest PW Ask"="yes"
"Use FormSuggest"="no"
"Use FormSuggest"="yes"
"FormSuggest Passwords"="no"
"FormSuggest Passwords"="yes"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Ratings]
"Key"=-

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"EnableAutodial"=dword
00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete]
"AutoSuggest"="no"
"AutoSuggest"="yes"





---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - параметры запуска сценариев
1238 дней назад 09.07.2006 05:10:43 Цитата('57441','57441','6','79')">Сообщить о спаме

Файлы скриптов WSH (Windows Script Host) могут обрабатываться двумя утилитами серверов сценариев: cscript.exe (консольный вариант) и wscript.exe (GUI-вариант). Чтобы запустить написанный скрипт, можно просто дважды щелкнуть левой кнопкой мыши по нему в окне проводника. При этом сценарий запустится с настройками по умолчанию. Чтобы сценарий работал с другими параметрами, нужно в командной строке указать имя сервера сценариев, имя самого сценария и параметры запуска. Синтаксис команды выглядит следующим образом:

CScript имя_сценария.расширение [параметры...] [аргументы...]

Полный список параметров для сервера сценариев следующий:

//B Пакетный режим: подавляются отображение ошибок и запросов сценария
//D Включение режима Active Debugging
//E:ядро Использование указанного ядра для выполнения сценария
//H:CScript Стандартный сервер сценариев заменяется на CScript.exe
//H:WScript Стандартный сервер сценариев заменяется на WScript.exe (по умолчанию)
//I Диалоговый режим (по умолчанию, в противоположность //B)
//Job:xxxx Выполнение указанного задания WSF
//Logo Отображать сведения о программе (по умолчанию)
//Nologo Не отображать сведения о программе во время выполнения
//S Сохранить для данного пользователя текущие параметры командной строки
//T:nn Интервал ожидания (в секундах): максимальное время выполнения сценария
//X Выполнение сценария в отладчике
//U Использование кодировки Юникод при перенаправлении ввода-вывода с консоли

Аргументы передаются непосредственно в сценарий (аналогично bat-файлам).

Однако, такой вариант запуска изменит параметры по умолчанию для всех запускаемых впоследствии сценариев. Если в этом нет необходимости, есть возможность задать свои параметры для каждого отдельного файла сценария, более того, можно задать несколько вариантов запуска одного и того же сценария. Для этих целей служит файл с расширением wsh. Он представляет собой обычный текстовый файл и по своей структуре очень похож на inf или ini файл. Чтобы создать простейший *.wsh файл откройте свойства любого скрипта и на вкладке "Сценарий" измените любой параметр. После нажатия на "OK" в том же каталоге появится файл с аналогичным именем и расширением wsh. Вот пример одного из таких файлов:

[ScriptFile]
Path=G:\files\p010.js
[Options]
Timeout=0
DisplayLogo=1

В секции [ScriptFile] есть только один параметр - Path, который указывает на запускаемый скрипт, в секции [Options] перечисляются параметры для запуска этого скрипта.

Если теперь запустить созданный нами файл, он будет выполняться с настроенными параметрами.

Возможность указания параметров при старте сценариев является, безусловно, очень полезной и позволяет более тонко контролировать процесс работы скрипта.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - обработка исключений
1238 дней назад 09.07.2006 05:11:17 Цитата('57441','57441','6','80')">Сообщить о спаме

Вначале стоит определиться с терминами, ведь если любой программист прекрасно знает что такое "исключения", то остальные далеко не все точно представляют о чем идет речь. Говоря простым языком исключения или исключительные ситуации - это ошибки, возникающие в ходе работы программы (в нашем случае скрипта). Но это не те ошибки, когда вы забыли поставить закрывающую скобку, запятую или ошиблись в имени переменной. Это ошибки, возникающие в некоторых (исключительных) ситуациях во время выполнения РАБОЧЕГО скрипта.

Рассмотрим простенький пример скрипта на VBScript, пытающегося прочитать значение какого-то параметра в реестре и выдать его в сообщении:

Dim Perem
set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell.Popup "Начало скрипта"

Perem = ""
Perem = WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Test")
WSHShell.Popup Perem
WSHShell.Popup "Конец скрипта"

Сообщение "Начало скрипта" появилось, следовательно, синтаксических ошибок мы не допустили, но вот затем появляется сообщение об ошибке


что и неудивительно - параметра с именем Test в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer не существует. Из-за этого наш пример не отработал до конца. Возникает логичный вопрос: а нельзя ли каким-то образом отловить момент появления ошибки, как-то его обработать и продолжить выполнение скрипта дальше? Оказывается, можно. Перепишем наш пример следующим образом:

Dim Perem
set WSHShell = WScript.CreateObject("WScript.Shell")

WSHShell.Popup "Начало скрипта"
Perem = ""

On Error Resume Next
GetErr()
if Err.Source="WshShell.RegRead" then
Perem = "Параметр не существует"
else
Perem = WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Test")
end if
Err.Clear

WSHShell.Popup Perem
WSHShell.Popup "Конец скрипта"

Function GetErr()
If WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Test") Then
End If
End Function

Попытка прочитать параметр из реестра вынесена в отдельную функцию. Если происходит ошибка - функция возвращает код ошибки (Err.Number) и источник (Err.Source). В операторе if мы проверяем та ли это ошибка, что нам нужна и если это именно так, значит параметр не удалось прочитать по причине его отсутствия, о чем нас честно и предупреждают в появившемся сообщении. При этом скрипт корректно отрабатывает до конца. Если же ошибки не возникло, мы спокойно прочитываем значение нужного нам параметра.

Обратите внимание на объект Err. Это стандартный объект VBScript, содержащий информацию о так называемых run-time errors (ошибках времени выполнения). Свойство Source указывает на источник ошибки (в сообщении на рисунке это последняя строка). Метод Clear очищает свойства объекта, удаляя сведения об ошибке. Помимо Source и Clear у объекта есть и другие свойства и методы, но реально может понадобиться, пожалуй, свойство Number и Description. Number возвращает код произошедшей ошибки, а Description ее описание. Измените в скрипте строку

Perem = "Параметр не существует"

на

Perem = "Ошибка " & Err.Number & ". " Err.Description

Во время выполнения скрипта появится сообщение: "Ошибка -2147024894. Не удается открыть для чтения раздел реестра "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Test"". Это большое отрицательное число и есть код ошибки. При обработке исключений можно пользоваться и номерами ошибок.

Почему для объяснения работы с исключениями я объяснял все примеры на чтении данных из реестра? Во-первых, работа с реестром в WSH одна из наиболее часто встречаемых задач, во-вторых, другие ошибки (например, попытка подмапировать сетевой диск на уже существующую букву, попытка открытия несуществующего файла и т.п.) могут быть обработаны другими способами (при открытии файла можно сперва проверить его наличие с помощью метода FileExists объекта fso), в то время как проверка наличия какого-либо параметра в реестре отсутствует в принципе. Поэтому вопросы обработки исключений при работе с реестром наиболее актуальны.

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



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - файлы и папки
1238 дней назад 09.07.2006 05:11:53 Цитата('57441','57441','6','81')">Сообщить о спаме

В одной из предыдущих статей затрагивалась тема работы с файловой системой вообще и с файлами и каталогами в частности. Однако, при рассмотрении этого вопроса объяснялось как работать с одним файлом или одним каталогом. Зачастую, этого бывает недостаточно, особенно, когда нужно совершить какие-то действия со всеми файлами из определенного каталога и их имена не известны (довольно распространенная задача). Для этого случая в Windows Script Host есть возможность работы с коллекциями файлов и каталогов.

Сперва рассмотрим работу с каталогами. Список каталогов хранится в коллекции Folders, получить которую можно с помощью свойства SubFolders объекта Folder (может немного запутанно, но в приведенном ниже примере все станет ясно). Folders имеет свойство Count и методы Item и Add. Вот небольшой пример на JScript, выводящий список имен всех папок на диске С:, демонстрирующий как работать с коллекцией Folders:

var fso, f, fc, fc1, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder("C:");
fc = new Enumerator(f.SubFolders);
fc1 = f.SubFolders;
s = "";
for (; !fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += "\n";
}
s = s + "Всего папок: " + fc1.Count;
WScript.Echo(s);

Аналогично на VBScript:

Dim fso, f, f1, fc, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder("C:")
Set fc = f.SubFolders
For Each f1 in fc
s = s & f1.name
s = s & CHR(10)
Next
s = s & "Всего папок: " & fc.Count
WScript.Echo s

Для иллюстрации метода Add приведу небольшой пример на JScript:

var fso, f, fc;
fso = WScript.CreateObject("Scripting.FileSystemObject");
f = fso.GetFolder("C:");
fc = f.SubFolders;
fc.Add("NewFolder");

Этот метод позволяет создать новую папку с именем, заданным в качестве параметра, в указанной вами директории.

Конечно, данные примеры вряд ли найдут практическое применение, но для иллюстрации работы с каталогами этого вполне достаточно. Работа с файлами мало отличается от работы с каталогами. Список всех файлов из какого-либо каталога формируется с помощью коллекции Files. Вот небольшой пример, в принципе, очень похожий на первый:

var fso, f, f1, fc, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder("C:");
fc = new Enumerator(f.files);
s = "";
for (; !fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += "\n";
}
WScript.Echo(s);

И без комментариев все довольно понятно. В конце хотелось бы привести пример, реально встречающийся в практике: синхронизация содержимого двух каталогов. Здесь файлы сравниваются по имени и размеру и если у файлов с одинаковым именем оказываются разные размеры, то происходит копирование файла из одного каталога в другой, а информация об этом сохраняется в логе. Таким способом можно синхронизировать какие-то файлы лежащие на сервере и на локальной машине, просто поменяйте пути к папкам на нужные вам. Скрипт написан на VBScript.

Set fso = CreateObject("Scripting.FileSystemObject")
Set UFolder = fso.getfolder("C:\Folder1")
set UFile = UFolder.files
Set OFolder = fso.getfolder("C:\Folder2")
Set OFile = OFolder.files

If (fso.FileExists("C:\LOG\copy.log")) Then
Set MyFile = fso.OpenTextFile("C:\LOG\copy.log", 8, True)
Else
Set MyFile = fso.CreateTextFile("C:\LOG\copy.log")
end if

For Each f1 in UFile
FileToCopy = UFolder&"\"&f1.Name
For Each f2 in OFile
if f1.Name = f2.Name then
if f1.Size = f2.Size then
else
fso.CopyFile FileToCopy, OFolder&"\"&f1.Name
MyFile.WriteLine(Cstr(Date)&" "&Cstr(Time)&" Файл "&f1.Name&" обновлен. Размер "&f1.Size)
end if
else
end if
Next
Next

MyFile.Close



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - MS Office
1238 дней назад 09.07.2006 05:12:44 Цитата('57441','57441','6','82')">Сообщить о спаме

В предыдущей статье я рассказывал, как можно управлять различными окнами программ: активизировать их, передавать в них нажатие клавиш... В этой статье мы зайдем немного дальше и научимся управлять приложениями через ActiveX компоненты. Пожалуй, наиболее популярное и частое применение этих знаний может найти отражение в работе с MS Office, а точнее с Word и Excel. Вот над ними мы сегодня и поиздеваемся (все примеры были протестированы в Офис 2000).

Для начала, приведу немножко подредактированный файл примера Microsoft по работе с Excel-ем, сопроводив его попутно своими комментариями:

//JScript
//Создаем Екселевский объект, с методами и свойствами которого будем работать
var objXL = WScript.CreateObject("Excel.Application");
//Делаем окно видимым и создаем рабочую книгу
objXL.Visible = true;
objXL.WorkBooks.Add;

//Устанавливаем ширину первых трех колонок
objXL.Columns(1).ColumnWidth = 20;
objXL.Columns(2).ColumnWidth = 30;
objXL.Columns(3).ColumnWidth = 40;

//Первая строка будет у нас шапкой таблицы
//Заполняем значения ячеек
objXL.Cells(1, 1).Value = "Название свойства";
objXL.Cells(1, 2).Value = "Значение";
objXL.Cells(1, 3).Value = "Описание";

//Форматируем ячейки, чтобы все было красиво
objXL.Range("A1:C1").Select;
objXL.Selection.Font.Bold = true;
objXL.Selection.Interior.ColorIndex = 1;
objXL.Selection.Interior.Pattern = 1;
objXL.Selection.Font.ColorIndex = 2;
objXL.Columns("B:B").Select;
objXL.Selection.HorizontalAlignment = -4131;

//Вводим счетчик строк, куда будем записывать информацию
var intIndex = 2;

//А эта функция как раз и будет выводить нашу информацию построчно
function Show(strName, strValue, strDesc) {
objXL.Cells(intIndex, 1).Value = strName;
objXL.Cells(intIndex, 2).Value = strValue;
objXL.Cells(intIndex, 3).Value = strDesc;
intIndex++;
objXL.Cells(intIndex, 1).Select;
}

//Итак, заполним таблицу данными о версии wscript установленной на компьютере
Show("Name", WScript.Name, "Application Friendly Name");
Show("Version", WScript.Version, "Application Version");
Show("FullName", WScript.FullName, "Application Context: Fully Qualified Name");
Show("Path", WScript.Path, "Application Context: Path Only");
Show("Interactive", WScript.Interactive, "State of Interactive Mode");
//До кучи добавим сведения о параметрах, с которыми запускается скрипт
var colArgs = WScript.Arguments;
Show("Arguments.Count", colArgs.length, "Number of command line arguments");
for (i = 0; i < colArgs.length; i++) {
objXL.Cells(intIndex, 1).Value = "Arguments(" + i + ")";
objXL.Cells(intIndex, 2).Value = colArgs(i);
intIndex++;
objXL.Cells(intIndex, 1).Select;
}

Все весьма прозрачно. Приведу аналогичный пример на VBScript, дабы не заставлять любителей этого языка самостоятельно адаптировать код под него:

Dim objXL
Set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = TRUE
objXL.WorkBooks.Add

objXL.Columns(1).ColumnWidth = 20
objXL.Columns(2).ColumnWidth = 30
objXL.Columns(3).ColumnWidth = 40

objXL.Cells(1, 1).Value = "Название свойства"
objXL.Cells(1, 2).Value = "Значение"
objXL.Cells(1, 3).Value = "Описание"
objXL.Range("A1:C1").Select
objXL.Selection.Font.Bold = True
objXL.Selection.Interior.ColorIndex = 1
objXL.Selection.Interior.Pattern = 1
objXL.Selection.Font.ColorIndex = 2
objXL.Columns("B:B").Select
objXL.Selection.HorizontalAlignment = &hFFFFEFDD

Dim intIndex
intIndex = 2

Sub Show(strName, strValue, strDesc)
objXL.Cells(intIndex, 1).Value = strName
objXL.Cells(intIndex, 2).Value = strValue
objXL.Cells(intIndex, 3).Value = strDesc
intIndex = intIndex + 1
objXL.Cells(intIndex, 1).Select
End Sub

Call Show("Name", WScript.Name, "Application Friendly Name")
Call Show("Version", WScript.Version, "Application Version")
Call Show("FullName", WScript.FullName, "Application Context: Fully Qualified Name")
Call Show("Path", WScript.Path, "Application Context: Path Only")
Call Show("Interactive", WScript.Interactive, "State of Interactive Mode")
Dim colArgs
Set colArgs = WScript.Arguments
Call Show("Arguments.Count", colArgs.Count, "Number of command line arguments")
For i = 0 to colArgs.Count - 1
objXL.Cells(intIndex, 1).Value = "Arguments(" & i & ")"
objXL.Cells(intIndex, 2).Value = colArgs(i)
intIndex = intIndex + 1
objXL.Cells(intIndex, 1).Select
Next

Хорошо, а как быть если надо сделать какое-то действие не описанное здесь? Вполне логичный вопрос. Но описать все возможности встроенного в Офис VB в этой статье (как и в 10 статьях) просто невозможно. Эти сведения вам только в качестве информации к размышлению. А все что сверх этой статьи, изучается довольно просто: запускается Word (Excel), включается запись макроса, выполняются нужные вам действия, а потом на основе сгенерированного кода по аналогии пишется скрипт. Нелишним будет почитать и справку (надеюсь вы ее установили?). Замечу, что для работы с приложениями Офиса легче писать скрипты на VBScript, так как справка по встроенному VB сможет удовлетворить даже самым изысканным потребностям.

Именно таким методом (читая справку и анализируя записанные макросы), я сделал практически аналогичный предыдущим скрипт, работающий с Вордом:

//JScript
//Создаем объект для работы с Вордом
var wrd = new ActiveXObject("Word.Application");
//Создаем новый документ
wrd.Documents.Add();
//Получаем указатель на активный документ
adoc=wrd.ActiveDocument;
//Указатель на область в документе
myRange = adoc.Range(Start=0, End=0)
//Активизируем Ворд
wrd.Visible = true;
wrd.Activate();

//Создаем таблицу с одной строкой и тремя столбцами
tb0=adoc.tables.Add(Range=myRange, NumRows=1, NumColumns=3);
//Задаем ширину столбцов
tb0.Columns(1).Width = 80;
tb0.Columns(2).Width = 160;
tb0.Columns(3).Width = 160;

//Заполняем заголовок таблицы
tb0.Cell(1,1).Range.InsertAfter("Название свойства");
tb0.Cell(1,2).Range.InsertAfter("Значение");
tb0.Cell(1,3).Range.InsertAfter("Описание");

//Счетчик строк
intIndex = 2;

//Выводимая в строках таблицы информация
Show("Name", WScript.Name, "Application Friendly Name");
Show("Version", WScript.Version, "Application Version");
Show("FullName", WScript.FullName, "Application Context: Fully Qualified Name");
Show("Path", WScript.Path, "Application Context: Path Only");
Show("Interactive", WScript.Interactive, "State of Interactive Mode");

//Ну и сама функция для вывода строк
function Show(strName, strValue, strDesc) {
tb0.Rows.Add();
tb0.Cell(intIndex, 1).Range.InsertAfter(strName);
tb0.Cell(intIndex, 2).Range.InsertAfter(strValue);
tb0.Cell(intIndex, 3).Range.InsertAfter(strDesc);
intIndex++;
}

Надеюсь, с задачей указания основного направления при работе с MS Office, мне удалось справиться. Дальше все зависит от вашего терпения и знания английского при переводе справки.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - управление программами
1238 дней назад 09.07.2006 05:13:37 Цитата('57441','57441','6','83')">Сообщить о спаме

Возможно, читая статьи о WSH, вы задавались вопросом: "Да что такого особенного в этом скрипте?". Действительно, править реестр можно и из reg-файлов, запускать программы, работать с сетевыми дисками, файлами и папками можно из bat-файлов. Да, WSH имеет более богатые возможности в этой области, работать с ним проще и удобнее, но стоят ли эти преимущества того, чтобы изучать данную тему? Для особо сомневающихся в этой статье я хочу затронуть такую область при работе на компьютере, где бессильны все остальные средства (за исключением специально написанных программ). А речь в ней пойдет о возможности управлять другими приложениями Windows (консольными приложениями для MS-DOS управлять не удастся).

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

Итак, что я подразумеваю под управлением другими приложениями? Активизацию существующего окна и имитацию нажатия в нем различных клавиш клавиатуры. Люди для этого пишут умные и сложные программы, а мы напишем простенький скрипт с тем же эффектом.

Начнем с того, что попытаемся активизировать окно уже запущенной программы.

//JScript
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.AppActivate("Блокнот");

Для активизиции окна мы воспользовались методом WshShell.AppActivate(). В качестве параметра передается какая-то текстовая строка. Скрипт осуществляет поиск окна, название которого эквивалентно переданной строке. Если такого окна нет, то будет вестись поиск окна, начало заголовка которого совпадает со строкой и в последнюю очередь ведется поиск окна, окончание заголовка которого эквивалентно переданной строке. Это очень удобно, т.к., например, в Word'e заголовок окна меняется в зависимости от имени редактируемого файла, но начало всегда "Microsoft Word". Если окон, удовлетворяющих условию поиска несколько, то активизируется первое найденное окно. Надо отметить, что если окно программы свернуто на панель задач, то оно не разворачивается, а просто кнопка приложения становится "нажатой".

Но просто сама по себе такая возможность мало что дает полезного, но вот в связке со следующим методом можно добиться потрясающего эффекта. И метод этот SendKeys(). Итак, давайте напишем небольшой забавный скрипт, позволяющий слегка посмеяться над друзьями:

//JScript
var WshShell = WScript.CreateObject("WScript.Shell");
KL = true;

while (KL) {
if (WshShell.AppActivate("Блокнот")) {
WriteWord();
KL = false;
}
if (WshShell.AppActivate("Microsoft Word")) {
WriteWord();
KL = false;
}
WScript.Sleep(10000);
}

function WriteWord() {
WshShell.SendKeys("THE ");
WScript.Sleep(300);
WshShell.SendKeys("MATRIX ");
WScript.Sleep(300);
WshShell.SendKeys("HAS ");
WScript.Sleep(300);
WshShell.SendKeys("YOU...");
WScript.Sleep(300);
}

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

Вот похожий пример написанный на VBScript:

set WshShell = WScript.CreateObject("WScript.Shell")
KL = true

do while KL
if WshShell.AppActivate("Microsoft Word") then
WriteWord()
KL = false
end if
WScript.Sleep 3000
loop

function WriteWord()
WshShell.SendKeys "HELLO WORLD!"
end function

Я привел его для того, чтобы любители именно этого скриптового языка могли по аналогии переделать все остальные примеры в данной статье, потому что они будут на JScript.

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

Помимо алфавитно-цифровых символов в приложения можно передавать и нажатие специальных клавиш, например, Enter, Tab, F1...F12, Alt, Shift, Ctrl, и т.п. В таблице приведены специальные обозначения для этих клавиш:

Клавиша Код Клавиша Код
"BackSpace" {BACKSPACE}, {BS} или {BKSP} "Break" {BREAK}
"Caps Lock" {CAPSLOCK} "F1"..."F12" {F1}...{F12}
"Delete" {DELETE} или {DEL} "End" {END}
"Enter" {ENTER} или ~ "Esc" {ESC}
"Help" {HELP} "Home" {HOME}
"Insert" {INSERT} или {INS} "Num Lock" {NUMLOCK}
"Page Down" {PGDN} "Page Up" {PGUP}
"Print Screen" {PRTSC} "Scroll Lock" {SCROLLLOCK}
"Tab" {TAB} "Стрелка вверх" {UP}
"Стрелка влево" {LEFT} "Стрелка вниз" {DOWN}
"Стрелка вправо" {RIGHT}

Для указания клавиш Alt, Shift, Ctrl существуют специальные коды:

Клавиша Код
Shift +
Ctrl ^
Alt %

Так если вы хотите передать нажатие нескольких клавиш с Shift-ом, то вам надо выполнять команду: WshShell.SendKeys("+(ABC)");, если только первую: WshShell.SendKeys("+ABC");.

Легко заметить, что такие символы как +, ^, % зарезервированы под обозначение специальных клавиш, так что просто так передать эти (и некоторые другие) символы не удастся. Для этого надо заключить их в фигурные скобки: "{+}", "{%}"... Вот полный список символов, которые необходимо заключать в фигурные скобки: +, ^, %, ~, (,), {, }, [, ].

Если вы хотите передать несколько нажатий подряд одной клавиши, то вам вовсе не обязательно все их набирать в скрипте, можно просто указать количество повторений. Так, строка WshShell.SendKeys("{A 100}"); эквивалента сотне нажатий клавиши "А". Правда, есть ограничение на количество возможных повторений нажатия клавиш. Это значение лежит где-то между 8150 и 8180 раз (более точно мне было лень выяснять). При превышении этого значения в скрипте будет выдана ошибка.

На этом покончим с теорией и рассмотрим еще парочку примеров работы с программами именно с использованием клавиш, приведенных в таблице. Для начала поиздеваемся над бедными юзерами, а именно закроем Word без сохранения изменений в файле:

var WshShell = WScript.CreateObject("WScript.Shell");
KL = true;

while (KL) {
if (WshShell.AppActivate("Microsoft Word")) {
WriteWord();
KL = false;
}
WScript.Sleep(3000);
}

function WriteWord() {
WshShell.SendKeys("%{F4}");
WScript.Sleep(300);
WshShell.SendKeys("{TAB}");
WScript.Sleep(300);
WshShell.SendKeys("{ENTER}");
}

Комментировать не буду, итак все достаточно подробно объяснено по ходу статьи. Конечно, если вы не лишены гуманизма, то можно предварительно сохранить документ в какой-нибудь файл:

var WshShell = WScript.CreateObject("WScript.Shell");
KL = true;

while (KL) {
if (WshShell.AppActivate("Microsoft Word")) {
WriteWord();
KL = false;
}
WScript.Sleep(3000);
}

function WriteWord() {
WshShell.SendKeys("%");
WScript.Sleep(300);
WshShell.SendKeys("{ENTER}");
WScript.Sleep(300);
WshShell.SendKeys("{DOWN}");
WScript.Sleep(300);
WshShell.SendKeys("{DOWN}");
WScript.Sleep(300);
WshShell.SendKeys("{DOWN}");
WScript.Sleep(300);
WshShell.SendKeys("{DOWN}");
WScript.Sleep(300);
WshShell.SendKeys("{ENTER}");
WScript.Sleep(300);
WshShell.SendKeys("test");
WScript.Sleep(300);
WshShell.SendKeys("{ENTER}");
}

Довольно забавно наблюдать, как пункт меню вдруг сам открывается, курсор перемещается по пунктам, а затем сохраняется документ. Конечно, проще было бы использовать "горячие" клавиши, но в русской версии это не пройдет (из-за некорректной передачи русских букв, о чем я уже писал выше), так что приходится выкручиваться таким способом, ну, а для английской версии легко переделать скрипт под использование "горячих" клавиш, что несколько сократит его размер.

Если вы помните, несколько лет назад был ажиотаж вокруг Spedia.net - спонсора платящего деньги за время, проведенное в интернете. Многие люди пытались на этом заработать, а учитывая тот факт, что некоторые провайдеры давали бесплатный доступ в ночное время, программеры начали писать утилитки, имитирующие работу пользователя за компьютером (запуск браузера, почтового клиента, серфинг по сайтам, получение почты и т.п.). Спедия по мере сил боролась с ними, блокируя оплату юзерам, использующим такие программы... Многим хотелось написать свою утилитку имитации работы, да еще чтобы ее не отловили, но для этого надо было знать программирование, причем там использовались не самые тривиальные знания. С помощью материала данной статьи, я думаю, теперь любой сможет написать нечто похожее :). Правда, сейчас это уже никому не нужно, но найти для полученных знаний более достойное применение вполне возможно.

На этой радостной ноте хотелось бы закончить рассмотрение данного материала.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - работа с сетевым окружением
1238 дней назад 09.07.2006 05:14:09 Цитата('57441','57441','6','84')">Сообщить о спаме

Наконец-то мы добрались и до работы с сетью. Пожалуй, это одна из самых важных тем при обсуждении вопросов WSH. Ведь основной контингент пользователей, которым наиболее полезен WSH - сетевые администраторы. Ну, а раз они сетевые, то и работать должны с сетью :). Но это все лирика, перейдем к практике.

Для работы с какими-то объектами сети и сетевого окружения в WSH есть объект WshNetwork, позволяющий получать информацию об имени пользователя, компьютера, подключать и отключать сетевые диски и принтеры.

Рассмотрим небольшой пример, в котором выведем в информационное окно сведения об имени пользователя, имени компьютера и домене:

//Пример работы с WshNetwork в JScript
//Создаем объект WshNetwork
var WshNetwork = new ActiveXObject("WScript.Network");
//Создаем переменную info и заносим туда имя пользователя
info = "Имя пользователя: " + WshNetwork.UserName;
//Добавляем переход на следующую строку
info = info + "\n";
//Добавляем имя компьютера
info = info + "Имя компьютера: " + WshNetwork.ComputerName;
info = info + "\n";
//Добавляем домен, к которому подключился пользователь
info = info + "Домен: " + WshNetwork.UserDomain;
//Выводим на экран полученную информацию
WScript.Echo (info);


'Тот же пример на VBScript
Set WshNetwork = CreateObject("WScript.Network")
info = "Имя пользователя: " & WshNetwork.UserName
'Обратите внимание, как осуществляется переход на новую строку
info = info & Chr(10)
info = info & "Имя компьютера: " & WshNetwork.ComputerName
info = info & Chr(10)
info = info & "Домен: " & WshNetwork.UserDomain
WScript.Echo info

В этих примерах мы использовали свойства объекта WshNetwork: UserName, ComputerName и UserDomain для получения информации о залогинившемся пользователе. Зачем это может понадобиться? Например, если на компьютере работает несколько пользователей и им нужен доступ к разным сетевым дискам, можно обеспечить автоматическое мапирование этих дисков в зависимости от того, какой пользователь сейчас работает.

Таким образом мы незаметно подошли к вопросу работы с сетевыми дисками. Для начала, неплохо бы выяснить, какие сетевые диски подключены в данный момент:

//JScript
var vbOKOnly = 0;
var vbInformation = 64;
var WSHShell = WScript.CreateObject("WScript.Shell");
var WSHNetwork = WScript.CreateObject("WScript.Network")
var colDrives = WSHNetwork.EnumNetworkDrives();
if (colDrives.length == 0) {
WSHShell.Popup("Подключенных сетевых дисков нет",
0,
"Работа с WSHNetwork",
vbInformation + vbOKOnly );
} else {
strMsg = "Текущие сетевые подключения: \n";
for (i = 0; i < colDrives.length; i += 2) {
strMsg = strMsg + "\n" + colDrives(i) + "\t" + colDrives(i + 1);
}

WSHShell.Popup(strMsg,
0,
"Работа с WSHNetwork",
vbInformation + vbOKOnly );
}


'VBScript
Set WSHNetwork = WScript.CreateObject("WScript.Network")
Set colDrives = WSHNetwork.EnumNetworkDrives
If colDrives.Count = 0 Then
MsgBox "Подключенных сетевых дисков нет", _
vbInformation + vbOkOnly, _
"Работа с WSHNetwork"
Else
strMsg = "Текущие сетевые подключения: " & Chr(10)
For i = 0 To colDrives.Count - 1 Step 2
strMsg = strMsg & Chr(10) & colDrives(i) & Chr(9) & colDrives(i + 1)
Next

MsgBox strMsg, _
vbInformation + vbOkOnly, _
"Работа с WSHNetwork"
End If

Думаю, подробно код объяснять не стоит, все довольно прозрачно: создаем нужные переменные, проверяем есть ли вообще подключенные диски, если нет - выводим соответствующее сообщение, если есть - выводим их список.

Для подключения и отключения сетевых дисков существуют методы MapNetworkDrive и RemoveNetworkDrive соответственно. Пример работы с ними (на JScript):

WshNetwork.MapNetworkDrive("X:", "\\\\S2\\Vol1", "true", "User1", "123");
Здесь обязательными являются только первые два параметра: буква, на которую будет подключаться диск и, собственно, путь к сетевому диску. Третий (true или false) параметр указывает, осуществлять или нет подключение этого диска при следующем логоне. Четвертый и пятый параметры - это имя пользователя и пароль, с которыми может подключаться этот диск. Конечно, хранить пароль на подключение диска в открытом виде в скрипте не очень мудро. Лучше организовать доступ к диску нужным пользователям на сервере, средствами самой ОС. Тогда посторонние люди не смогут узнать пароль для работы с этим ресурсом.

WshNetwork.RemoveNetworkDrive("X:", "true", "true");
Здесь обязателен только первый параметр - буква отключаемого диска. Второй параметр - если true, отключает диск даже если он в этот момент используется. Третий параметр сохраняет настройки для следующих логонов.

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

EnumPrinterConnections - возвращает список подключенных принтеров (аналогично дискам).

AddPrinterConnection - подключает локальный порт компьютера к сетевому принтеру. Параметры у этого метода аналогичны методу MapNetworkDrive, только первым параметром идет не буква диска, а порт принтера (LPT1, например).

RemovePrinterConnection - отключает сетевой принтер (вместо буквы диска - порт принтера).

SetDefaultPrinter - устанавливает заданный сетевой принтер принтером по умолчанию. В качестве параметра методу передается сетевое имя принтера, который будет использован по умолчанию (SetDefaultPrinter("\\\\Comp1\\HP1100");).

AddWindowsPrinterConnections - регистрирует принтер в Windows и подключает его к сетевому ресурсу. Этот метод позволяет создать связь с сетевым принтером без явного перенаправления вывода в локальный порт. Набор параметров этого метода для Windows 9x и Windows NT/2000/XP отличается.

Для Windows 9x:

AddWindowsPrinterConnections(strPrnPath, strDriverName [,strPort]);

strPrnPath - путь к сетевому принтеру;

strDriverName - имя драйвера, необходимого для подключения принтера;

strPort - порт, куда будет перенаправлен вывод.

Для Windows NT/2000/XP последние два параметра игнорируются.

Вот, собственно, и вся информация по работе с сетевым окружением с помощью WSH. Областей, где это можно применить - масса, приведу только один пример, который сейчас активно используется у нас на работе: при каждой регистрации пользователя на компьютере отрабатывает logon-скрипт, который пишет в лог-файл (имеющий имя компьютера, на котором произошла регистрация) имя пользователя и время логона. Таким образом убиваются два зайца: можно выяснить на каком компьютере установлена неверная дата и кто заходит в сеть с чужого компьютера. Пример довольно легкий, так что я не буду приводить здесь его код, пусть это будет вашим домашним заданием :). Другие способы использования материалов этой статьи, надеюсь, придумаете сами.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - чтение и редактирование файлов
1238 дней назад 09.07.2006 05:14:40 Цитата('57441','57441','6','85')">Сообщить о спаме

Копировать, переносить и удалять файлы и папки мы научились в предыдущей статье, теперь давайте попробуем просматривать содержимое файлов и редактировать их. Областей применения данного умения масса: от редактирования autoexec.bat и config.sys, до проверки значения параметра run в win.ini, от вывода на экран содержимого файла в качестве сообщения до ведения логов работы пользователей и действий скрипта.

Так как файлы у нас относятся к объектам файловой системы, то нам надо в первую очередь инициализировать объект файловой системы, а затем воспользоваться одним из его методов для открытия файла:

//JScript
var fso = new ActiveXObject("Scripting.FileSystemObject");
var file = fso.OpenTextFile("C:\\TEST\\test.txt", 2, true);

//VBScript
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("C:\TEST\test.txt", 2, true)

Итак, OpenTextFile открывает файл, если его нет, то создается новый файл. Из параметров, передаваемых методу, обязательным является только первый - имя файла. Остальные параметры можно не указывать. Вторым параметром устанавливается режим открытия файла. Возможные значения, которые может принять эта переменная, следующие:

1 - файл открывается только для чтения;
2 - файл открывается для записи. Причем, все содержимое файла, которое было до этого, уничтожится;
8 - файл открывается для добавления данных. Все, что вы запишите, будет добавлено в конец файла. Довольно удобно для ведения различных логов.

Третья переменная может принимать значение true или false. Она показывает, создавать ли новый файл, если его до этого не существовало. Если значение равно true, то новый файл будет создан.

Есть еще и четвертый параметр, который указывает кодировку для открытия файла. Его возможные значения:

- 2 - открывается, используя системную кодировку;
- 1 - открывается в кодировке Unicode;
0 - открывается в кодировке ASCII.

Но, просто открыть файл мало, надо туда и записать что-нибудь! Именно для этого служат следующие методы:

Write - записывает данные в файл в одну строку, без перевода курсора;
WriteLine - записывает в файл отдельную строку;
WriteBlankLines - записывает пустую строку (в качестве параметра принимает количество пустых строк, которые надо записать).

Вот небольшой пример их использования:

//JScript
fso = new ActiveXObject("Scripting.FileSystemObject");
file = fso.OpenTextFile("c:\\TEST\\test.txt", 2, true);
file.Write("Hello, World!");
file.WriteBlankLines(2);
file.WriteLine("Hello");

Для чтения данных из файла используются методы:

Read - читает из файла указанное в качестве параметра количество символов;
ReadLine - читает строку из файла;
ReadAll - считывает весь файл;
Skip - пропускает указанное количество символов;
SkipLine - пропускает строку.

Давайте попробуем написать на основе этого один весьма полезный скрипт:

//JScript
fso = new ActiveXObject("Scripting.FileSystemObject");
//Откроем файл на чтение
//При необходимости поменяйте путь расположения файла
file = fso.OpenTextFile("c:\\windows\\win.ini", 1, false);
//Предполагаем, что параметр run находится во 2-й строке
//поэтому устанавливаем туда курсор, пропустив первую строку
file.SkipLine();
//Считываем строку и сравниваем с пустой записью
//Если они не совпадают, то бъем тревогу
if (file.ReadLine()!="run=") {
WScript.Echo("Параметр run не пустой!!!");
}
//Это просто для контроля. В реальной работе можно отключить
else {
WScript.Echo("OK!");
}

Некоторые вирусы и трояны прописывают свой запуск в файле win.ini в параметре run. Этот скрипт проверяет, есть ли там какая-то запись, и если с помощью него что-то запускается, то скрипт об этом честно предупреждает. Конечно, это самый примитивный вариант, можно сделать, чтобы была проверка, действительно ли это параметр run, выводить его содержимое если он не пустой, но в учебных целях такого вполне достаточно. Прописываете его в автозагрузку и можете спать спокойно (только не сильно увлекайтесь "засорением" автозагрузки - хоть и не на много, но загружаться будет медленнее).

При работе с файлами учтите такой момент: если вы открываете файл для записи, то читать из него данные вам не позволят, аналогично и наоборот.

Думаю теперь чтение и запись данных в файл с помощью WSH у вас не вызовет никаких проблем.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - файловая система
1238 дней назад 09.07.2006 05:15:08 Цитата('57441','57441','6','86')">Сообщить о спаме

В этой статье речь пойдет о работе с объектами файловой системы, а именно, с самими файлами и локальными дисками (дисководы, жесткие диски, CD-ROM'ы). Сетевые диски будут рассмотрены в одной из следующих статей.

Приведу небольшой пример и на его основе объясню принципы работы с дисками в Windows Script Host. Если вы еще не отключили сообщение системы о том что какой-то диск переполнен, то, наверняка, уже не раз лицезрели его. Мерзкая штука! Оно вам надо? Давайте, лучше, сами создадим такое сообщение :).

'Проверка количества свободного места на дисках. VBScript
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set WSHShell = WScript.CreateObject("WScript.Shell")
'Проверяем все драйвы (HDD, FDD, CDD) в системе
For each i In fso.Drives
'DriveType=2 - логические диски. Зачем нам дисковод и т.п. ерунда?
If i.DriveType=2 Then
'Получаем букву диска
drive=i.DriveLetter
'Узнаем свободное место и переводим его в Мб с
'точностью до 1 знака после запятой
free = FormatNumber(fso.GetDrive(drive).FreeSpace/1048576, 1)
'Если места меньше 100 Мб
If free < 100 Then
'то выводим сообщение об этом
WSHShell.Popup("На диске "+drive+" осталось меньше 100 Мб. Свободно "+free+" Мб!")
End If
End If
Next

Добавьте получившийся файл в автозагрузку и каждый раз при старте системы у вас будет проверяться наличие свободного места на диске. Как только его окажется меньше порогового значения, заданного вами (в примере 100 Мб), выскочит информационное окно, уведомляющее об этом.

Если вы не будете фильтровать тип диска (строка If i.DriveType=2), то объем свободного места будет проверяться и на дискете в дисководе и на CD-ROM'e. А если в приводе не будет носителя, то скрипт прервется и будет выдано сообщение об ошибке.

DriveType имеет следующие значения:

0 - Тип не может быть определен
1 - Сменный носитель или дисковод для гибких дисков
2 - Обычный HDD
3 - Сетевой диск
4 - CD-ROM
5 - Виртуальный RAM-диск

Остановимся подробнее на строке free = FormatNumber (fso.GetDrive(drive).FreeSpace /1048576, 1). Свойство FreeSpace возвращает количество свободного дискового места в байтах. Конечно, работать с такими большими цифрами некомфортно, поэтому мы переводим байты в мегабайты, делением на 1048576. А чтобы не лицезреть кучу знаков после запятой, округляем до одного значащего символа с помощью FormatNumber() - количество знаков после запятой устанавливается с помощью второй переменной.

Если вам надо получить полный объем диска, то вместо FreeSpace используйте свойство TotalSize.

Вы можете явно указать диск, с которым хотите работать. Для этого используется метод GetDrive:

Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set Drive = fso.GetDrive("c")

Чтобы узнать файловую систему диска используйте свойство FileSystem:

MsgBox(Drive.FileSystem)

Остальные свойства и методы работы с диском не так интересны. Среди них такие как:

DriveExists - проверяет на наличие заданного диска: fso.DriveExists("c").
IsReady - если диск готов к использованию, возвращает true, в противном случае - false.
RootFolder - возвращает путь к корневому каталогу.
SerialNumber - возвращает серийный номер диска.
ShareName - возвращает сетевое имя диска.
VolumeName - возвращает либо устанавливает метку диска.

Теперь обратим внимание на работу с файлами и папками. Редактирование файлов я бы хотел вынести в отдельную статью, а здесь коснемся вопросов создания, копирования, удаления файлов, установки атрибутов и т.п.

Для примера давайте создадим на диске С:\ папку TEST, а в ней файл test.txt:

//Создание папки и файла. JScript
var fso = new ActiveXObject("Scripting.FileSystemObject");
//Проверяем, есть ли такая папка
if (fso.FolderExists("C:\\TEST"))
WScript.Echo("Такая папка уже существует");
else
//Если нет - создаем
var Folder = fso.CreateFolder("C:\\TEST");
//Проверяем, есть ли уже такой файл
if (fso.FileExists("C:\\TEST\\test.txt"))
WScript.Echo("Такой файл уже существует");
else
//Если нет, то создаем его
var File = fso.CreateTextFile("C:\\TEST\\test.txt", true);

Комментарии наглядно демонстрируют работу скрипта. Давайте только подробнее остановимся на создании файла (последняя строка). Вторым параметром передается значение true. Этот параметр является необязательным и указывает, перезаписывать ли файл с таким именем. Здесь же может передаваться и третий параметр. Если он отсутствует или равен false, то файл будет создан в кодировке ASCII. Если параметр равен true - в unicode.

В примере мы не просто создали папку и файл, но и создали объекты этой папки и файла (Folder и File соответственно). Если надо создать объект для уже существующей папки/файла, используйте метод GetFile/GetFolder:

var File1 = fso.GetFile("C:\\autoexec.bat");

К этим объектам применимы различные методы, позволяющие копировать, переименовывать, удалять файлы, получать о них различные сведения, устанавливать атрибуты. Как несложно догадаться для копирования, перемещения и удаления файлов и папок применяются методы Copy, Move и Delete. При этом в Copy и Move передается имя файла, в который надо скопировать/перенести исходный, а в Delete ничего не передается. Так, чтобы скопировать autoexec.bat в autoexec.tmp надо добавить строку

File1.Copy("C:\\autoexec.tmp");

Различные свойства объектов, созданных с помощью GetFile/GetFolder позволяют получить различные сведения о файлах и папках на которые они указывают. Вот эти свойства:

Size - возвращает размер файла/папки;
DateCreated - время создания;
DateLastAccessed - время последнего обращения к объекту;
DateLastModified - время последнего изменения.

Например:

WScript.Echo(File1.Size);

Бывают ситуации, когда надо получить имя файла, на который ссылается объект. Например:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var File1 = fso.GetFile("C:\\autoexec.bat");
var File2 = fso.GetFile("C:\\config.sys");
var File3 = fso.GetFile("C:\\netlog.txt");
if (fso.FileExists("C:\\config.sys"))
File1 = File2;
else
File1 = File3;
WScript.Echo (File1.Name);

В зависимости от того, есть ли файл config.sys, объект File1 будет указывать на разные файлы. Конечно, в таком виде этот пример в реальной ситуации вряд ли встретится, но для иллюстрации неопределенности с файлом вполне подходит. Для определения имени файла (папки) и пути к нему служат еще несколько свойств:

Name - возвращает обычное имя файла (папки);
ShortName - короткое имя (в формате MS-DOS). Длинные имена будут урезаны до формата 8.3;
Path - возвращает обычный путь к файлу (папке);
ShortPath - короткий путь (с тильдой "~");
ParentFolder - возвращает имя родительского каталога.

Как они работают вы уже могли видеть в предыдущем примере в последней строке.

Закончить рассмотрение данной темы мне бы хотелось описанием установки атрибутов файлов/папок и получением сведений о типе файла. Тип файла возвращает свойство Type. Вызывается оно аналогично описанным ранее свойствам:

WScript.Echo (File1.Type);

Если вы вызовите свойства файла по правому клику мышки, то на вкладке "Общие" в поле "Тип" будет как раз то описание, что возвращает это свойство.

Получать или устанавливать атрибуты файлам и папкам позволяет свойство Attributes. Так, посмотреть атрибуты нашего файла можно командой:

WScript.Echo (File1.Attributes);

В таблице приведены значения, которые может принимать данное свойство:

Константа Значение Действие Описание
Normal 0 чтение/запись Обычный файл без атрибутов
ReadOnly 1 чтение/запись Только чтение
Hidden 2 чтение/запись Скрытый
System 4 чтение/запись Системный
Volume 8 только чтение Метка диска
Directory 16 только чтение Папка
Archive 32 чтение/запись Архивный
Compressed 128 только чтение Сжатый файл

Если вам надо установить несколько свойств файлу, значения надо складывать. Например чтобы установить для файла атрибуты только для чтения, скрытый и системный, надо передать значение 1+2+4=7:

File1.Attributes = 7;

На этом объяснения по работе с объектами файловой системы позвольте закончить :). В следующей статье будут подняты вопросы чтения и редактирования файлов.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - ярлыки
1238 дней назад 09.07.2006 05:15:39 Цитата('57441','57441','6','87')">Сообщить о спаме

Продолжая тему WSH, в этой статье мне хотелось бы рассказать, как с помощью скрипта создавать ярлыки для файлов и интернет-URL'ов, а также как работать с системными папками Windows.

Давайте для начала попробуем создать ярлык Блокнота на Рабочем столе:

// Создание ярлыка программы. JScript
var vbOKCancel = 1;
var vbInformation = 64;
var vbCancel = 2;
var Message = "Вы действительно хотите создать ярлык на Рабочем столе?";
var Title = "Подтвердите действие";
var WSHShell = WScript.CreateObject("WScript.Shell");
Welcome();

// Узнаем путь к Рабочему столу
var DesktopPath = WSHShell.SpecialFolders("Desktop");
// Создаем ярлык
var MyShortcut = WSHShell.CreateShortcut(DesktopPath + "\\Блокнот.lnk");
// Задаем свойства для ярлыка:
// Запускаемый файл
MyShortcut.TargetPath = WSHShell.ExpandEnvironmentStrings("%windir%\\notepad.exe");
// Директория запускаемого файла
MyShortcut.WorkingDirectory = WSHShell.ExpandEnvironmentStrings("%windir%");
// Клавиши для быстрого вызова программы
MyShortcut.HotKey = ("CTRL+ALT+N");
// Тип окна запускаемого файла
MyShortcut.WindowStyle = 4;
// Иконка, используемая для ярлыка
MyShortcut.IconLocation = WSHShell.ExpandEnvironmentStrings("%windir%\\notepad.exe, 0");
// Сохраняем изменения свойств ярлыка
MyShortcut.Save();
// Докладываем, что все готово
WScript.Echo("Ярлык для Блокнота создан на Вашем Рабочем столе");

function Welcome() {
var intDoIt;

intDoIt = WSHShell.Popup(Message,
0,
Title,
vbOKCancel + vbInformation );
if (intDoIt == vbCancel) {
WScript.Quit();
}
}

Комментариев более чем достаточно, чтобы понять принцип работы скрипта. Более подробно расскажу о свойстве WindowStyle. Вызовите свойства любого ярлыка и обратите внимание на поле "Окно:". Здесь вы можете задавать способ запуска программы. Вот какие значения можно использовать при задании этого свойства:

3 - при запуске окно программы будет развернуто на весь экран;

4 - стандартный размер окна;

7 - окно будет свернуто в значок на панели задач.

В четвертой строчке вам встречается новый метод - SpecialFolders. Он возвращает путь к системным папкам Windows. Вот список наиболее любопытных папок:

Desktop - Рабочий стол
Favorites - Избранное
Fonts - Шрифты
MyDocuments - Мои документы
NetHood - Сетевое окружение
PrintHood - Принтеры
Programs - подменю Программы из меню Пуск
Recent - подменю Документы из меню Пуск
SendTo - подменю Отправить из контекстного меню файлов
StartMenu - Главное меню
Startup - Автозагрузка из подменю Программы
Templates - Шаблоны

Есть еще несколько папок: AllUsersDesktop, AllUsersStartMenu, AllUsersPrograms, AllUsersStartup - но они присутствуют только в WinNT/2000/XP

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

Теперь от файлов плавно перейдем к линкам. Ярлыки для адресов в Интернете создаются практически так же. Только надо учесть, что у них поменьше свойств, а точнее - только одно:

//Создание файла линка Интернет. JScript
var WSHShell = WScript.CreateObject("WScript.Shell");
// Узнаем путь к "Избранному"
var FavoritesPath = WSHShell.SpecialFolders("Favorites");
// Создаем ярлык
var MyShortcut = WSHShell.CreateShortcut(FavoritesPath + "\\Кормушка для чайников.URL");
// Задаем свойства для ярлыка
MyShortcut.TargetPath = WSHShell.ExpandEnvironmentStrings("http://www.whatis.ru");
MyShortcut.Save();

Указав в скрипте расширение .URL для ярлыка, мы даем понять, что нас интересует какой-то адрес в Интернете, а не файл. Ну и конечно, ярлык создаем в Избранном - наиболее логичное место для него.

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



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - запуск программ
1238 дней назад 09.07.2006 05:16:14 Цитата('57441','57441','6','88')">Сообщить о спаме

В предыдущей статье я рассказал об основах WSH и привел пример скрипта для работы с реестром (добавление и удаление записей). Здесь мне бы хотелось продолжить обсуждение этой интересной темы и предложить вашему вниманию еще несколько скриптов, полнее раскрывающих возможности Windows Script Host.

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

//Пример запуска программы с диалоговым окном запроса
//на JScript
var vbOKCancel = 1;
var vbInformation = 64;
var vbCancel = 2;
var Message = "Вы действительно хотите запустить программу Notepad?";
var Title = "Подтвердите действие";
Welcome();

var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run("notepad",5);

function Welcome() {
var WSHShell = WScript.CreateObject("WScript.Shell");
var intDoIt;

intDoIt = WSHShell.Popup(Message,
0,
Title,
vbOKCancel + vbInformation );
if (intDoIt == vbCancel) {
WScript.Quit();
}
}

В первых пяти строках описываются переменные, которые нам потребуются при вызове функции Welcome(). Эта функция выдает на экран окно с запросом на запуск программы и в случае положительного ответа продолжается выполнение скрипта. Если ответ отрицательный, выполнение прерывается. Строка

WSHShell.Run("notepad",5);

запускает Блокнот. Мы еще рассмотрим ее подробнее чуть позже, а пока обратите внимание на то, что объект WSHShell создается дважды: один раз в функции Welcome() и второй раз непосредственно перед запуском Блокнота. Закономерный вопрос: а нельзя ли обойтись одним созданием объекта? Если закомментировать строку перед запуском Блокнота и попробовать опять запустить скрипт, то будет выдана ошибка что определение WSHShell отсутствует. Почему так происходит? Ведь функция Welcome() вызывается до запуска программы и следовательно создание объекта WSHShell происходит до вызова метода запуска программы. Да простят меня программисты за то, что мне приходится подробно описывать такие элементарные вещи, но не все знакомы с программированием и с таким термином как "область видимости". Так как объект WSHShell создается внутри функции, то он будет существовать только до тех пор, пока мы из этой функции не выйдем. Т.е. за пределами Welcome() объекта WSHShell нет, поэтому и появляется ошибка. Давайте немного модифицируем скрипт, чтобы объект WSHShell описать только один раз:

//Пример запуска программы с диалоговым окном запроса
//на JScript
var vbOKCancel = 1;
var vbInformation = 64;
var vbCancel = 2;
var Message = "Вы действительно хотите запустить программу Notepad?";
var Title = "Подтвердите действие";
var WSHShell = WScript.CreateObject("WScript.Shell");
Welcome();

WSHShell.Run("notepad",5);

function Welcome() {
var intDoIt;

intDoIt = WSHShell.Popup(Message,
0,
Title,
vbOKCancel + vbInformation );
if (intDoIt == vbCancel) {
WScript.Quit();
}
}

Теперь создание WSHShell происходит до вызова функции Welcome() и создавать его повторно внутри функции нет необходимости. Такая переменная называется глобальной. Т.е. она существует на протяжении всего времени выполнения скрипта и видна во всех функциях. Переменная которая создается внутри функции и видна только в этой функции называется локальной.

Давайте вернемся к строке WSHShell.Run("notepad",5); и рассмотрим ее подробнее. При вызове метода Run передаются 2 переменных. Если с первой все понятно - это имя запускаемого файла (т.к. файл notepad находится в каталоге Windows, который присутствует в переменной среды окружения Path, то можно не указывать полный путь к нему. В противном случае для запуска программы надо указывать ее полное имя, например: "C:\polniy\put_k\programme\file.exe"), то со второй не все так просто. Эта цифра указывает состояние окна запускаемой программы. Она может принимать десять различных значений от 0 до 9, но все я описывать не буду, а расскажу только про самые интересные:

0 - запускать программу в скрытом окне. Т.е. если вы попытаетесь запустить Блокнот с таким значением второй переменной, то окно программы будет невидимым и кнопка на панели задач не будет создана. Чтобы увидеть что Блокнот все-таки запустился, нажмите Ctrl+Alt+Del и вы увидите там строку с текстом Notepad.

6 - запустить программу минимизированной. При этом активным будет следующее окно в Z-последовательности.

2 - запустить программу минимизированной.

3 - запустить программу максимизированной.

5 - запустить программу с текущими размером и позицией окна.

Остальные значения не так интересны и являются вариациями на тему. Если интересно, можете сами поэкспериментировать с этой переменной.

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

//Просто небольшой забавный примерчик ;)
//язык JScript
var WSHShell = WScript.CreateObject("WScript.Shell");
do {
WSHShell.Popup("Hello, World!");
} while (true);

Я не стал приводить эти примеры в исполнении на VBScript - желающие легко смогут осуществить это самостоятельно. Если что не получится, обратитесь к предыдущему материалу, там было описано коротко различие между JS и VBS.

На этом пока все, но тема еще не закрыта.



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"

extasy Отправить сообщение
Тарас ChakuZa
imageWindows Script Host (WSH) - теория, реестр
1238 дней назад 09.07.2006 05:16:49 Цитата('57441','57441','6','89')">Сообщить о спаме

Когда компьютеры были большими, а программы были маленькими, основной операционной системой большинства домашних компьютеров была DOS. Компьютерщиков в то время было немного и были они все люди занятые, поэтому для выполнения каких-то постоянно повторяющихся действий были придуманы и использовались bat-файлы (или, как они еще называются, пакетные файлы). С тех пор утекло немало воды, компьютеры стали маленькими и вошли в широкие народные массы. Программы, наоборот, стали очень большими и прожорливыми до ресурсов. Операционная система тоже изменилась. Про DOS большинство современных пользователей и не слышало, а если кому и доводилось с ним работать, то чувствовали они себя крайне некомфортно. А что же bat-файлы? Неужели на фоне всеобщего движения вперед они остались неизменны? Да, они по-прежнему исправно служат во многих ситуациях, но вместе с появлением Windows у них появился реальный конкурент: Windows Script Host (WSH).

Что же представляют собой файлы, написанные с использованием WSH? Это сценарии команд, написанные на JScript, VBScript или других скриптовых языках (Active Perl, Python), позволяющие автоматизировать какие-то действия на компьютере. При этом спектр действий по сравнению с bat-файлом существенно расширен. Помимо обычного запуска программ и работы с файлами WSH позволяет создавать ярлыки программ, выключать компьютер, изменять (добавлять и удалять) записи в реестре, работать с сетью и пользователями (выводить список дисков, подключать/отключать сетевые диски, получать имя компьютера и пользователя, ...), работать с переменными окружения, выдавать диалоговые и информационные сообщения и многое другое. Как видите, список различных возможностей WSH весьма впечатляющий. Причем, научиться с ним работать вовсе не сложно.

Из положительных особенностей Windows Script Host хотелось бы отметить возможность работы в "невидимом" режиме. Например, если вы захотите добавить какую-то информацию в реестр с помощью reg-файла, то вам будет выдан запрос с подтверждением этого действия. При запуске WSH-скрипта никаких вопросов задаваться не будет. Пользователь даже может не подозревать, что на его компьютере выполняются какие-то работы. Думаю, многим администраторам такая возможность придется по душе.

Файлы сценариев WSH представляют собой программы (да-да, это можно уже назвать программой), написанные на JScript (эти файлы имеют расширение .js) или VBScript (соответственно, файлы с расширением .vbs). Синтаксис, естественно, немного отличается, но если вам приходилось раньше сталкиваться с одним из этих языков написания скриптов, то никаких проблем возникнуть не должно.

Если вы пользователь Windows 98/ME/2000/XP то проблем с WSH у вас возникнуть не должно - библиотеки, отвечающие за обработку скриптов изначально присутствуют в системе. Если вы являетесь счастливым обладателем Windows NT, то для включения возможности обработки сценариев WSH вам придется установить сервис пак 4. Тем же, у кого на компьютере установлен Windows 95 придется заглянуть на сайт Microsoft и скачать Windows Scripting Host (msdn.microsoft.com/scripting). Если вы не уверены, есть ли у вас на компьютере Windows Scripting Host, просто запустите поиск файла wscript.exe в каталоге Windows.

Итак, для написания WSH-скрипта вам понадобится любой текстовый редактор (я предпочитаю использовать внутренний редактор FARa), немного терпения и голова на плечах.

Чтобы запустить готовый скрипт, просто дважды щелкните мышкой по файлу, либо введите полное имя файла скрипта в Пуск - Выполнить (учтите, что файл должен иметь расширение .js или .vbs).

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

Так как раздел ориентирован в основном на реестр Windows, то и начать хотелось бы со скрипта, работающего с реестром. Итак, попробуем создать какой-нибудь раздел, в нем несколько параметров, а затем все это удалим. Создайте любой файл с расширением .js (например, test.js) и напишите в нем следующее:

//Пример работы с реестром на JScript
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Popup("Создаем раздел");
WSHShell.RegWrite("HKCU\\MyRegKey\\", "Primer");
WSHShell.Popup("Создаем строковый параметр");
WSHShell.RegWrite("HKCU\\MyRegKey\\String", 1);
WSHShell.Popup("Создаем параметр DWORD");
WSHShell.RegWrite("HKCU\\MyRegKey\\DWORD", 2, "REG_DWORD");
WSHShell.Popup("Создаем двоичный параметр");
WSHShell.RegWrite("HKCU\\MyRegKey\\Binary", 3, "REG_BINARY");
WSHShell.Popup("Удаляем все параметры");
WSHShell.RegDelete("HKCU\\MyRegKey\\String");
WSHShell.RegDelete("HKCU\\MyRegKey\\DWORD");
WSHShell.RegDelete("HKCU\\MyRegKey\\Binary");
WSHShell.Popup("Удаляем раздел");
WSHShell.RegDelete("HKCU\\MyRegKey\\");

В первой строке создается объект типа WSHShell с тем же именем. Во второй строке выводится сообщение о том что создается раздел. После нажатия на "ОК" в появившемся окне в реестре будет создан новый раздел. Перед каждым действием будет появляться окно с сообщением о том, что сейчас будет сделано. В нормальном рабочем скрипте такие окна, конечно, не нужны. Здесь они добавлены просто для того, чтобы вы могли отследить изменения в реестре (для обновления информации в редакторе реестра нажимайте F5 после каждого изменения). Последние строчки удаляют наши параметры и раздел, чтобы не забивать реестр разным мусором.

Если вы обратили внимание, то корневой раздел HKEY_CURRENT_USER в скрипте обозначается как HKCU. Здесь возможны сокращенные названия корневых разделов. HKEY_LOCAL_MACHINE будет писаться как HKLM, HKEY_CLASSES_ROOT - HKCR. Остальные разделы не имеют короткого имени.

Теперь проделаем аналогичную операцию на VBScript (test.vbs):

'Пример работы с реестром на VBScript
set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Popup "Создаем раздел"
WSHShell.RegWrite "HKCU\\MyRegKey\\", "Primer"
WSHShell.Popup "Создаем строковый параметр"
WSHShell.RegWrite "HKCU\\MyRegKey\\String", 1
WSHShell.Popup "Создаем параметр DWORD"
WSHShell.RegWrite "HKCU\\MyRegKey\\DWORD", 2, "REG_DWORD"
WSHShell.Popup "Создаем двоичный параметр"
WSHShell.RegWrite "HKCU\\MyRegKey\\Binary", 3, "REG_BINARY"
WSHShell.Popup "Удаляем все параметры"
WSHShell.RegDelete "HKCU\\MyRegKey\\String"
WSHShell.RegDelete "HKCU\\MyRegKey\\DWORD"
WSHShell.RegDelete "HKCU\\MyRegKey\\Binary"
WSHShell.Popup "Удаляем раздел"
WSHShell.RegDelete "HKCU\\MyRegKey\\"

Как видите, отличия весьма незначительные (по другому задается комментарий, отсутствует ";" в конце строки, нет круглых скобок при задании параметров, var заменена на set). Подробно его разбирать, я думаю, смысла нет - все что справедливо для первого примера, справедливо и для второго.

"Это все здорово, но посоветуй-ка мне что-нибудь полезное!" - скажете вы. И посоветую. Я на 100% уверен, что абсолютно все пользователи интернета сталкивались с такой проблемой, как замена стартовой страницы Internet Explorer'a некоторыми сайтами. Причем, большинство этих сайтов не несет ничего полезного и зачастую видеть их у себя второй раз совсем не хочется. Для борьбы с ними используйте следующий скрипт:

var WSHShell = WScript.CreateObject("WScript.Shell");
//Делаем задержку 10 секунд на случай если
//паразитный сайт добавил что-то в автозагрузку
WScript.Sleep(10000);
//Проверяем что у нас в стартовой странице
StartPage = WSHShell.RegRead("HKCU\\SOFTWARE\\Microsoft\\Internet Explorer\\Main\\Start Page");
//И если там не то, что мы задумали, то меняем на свое
if (StartPage!="http://www.whatis.ru/") {
WSHShell.RegWrite("HKCU\\SOFTWARE\\Microsoft\\Internet Explorer\\Main\\Start Page", "http://www.whatis.ru/");
}

Добавьте его в автозагрузку в разделе HKEY_CURRENT_USER и вам не придется следить самостоятельно за такими сайтами. И даже если они пропишут какую-нибудь гадость в автозагрузку, то скорее всего и в этом случае стартовая страница будет нужная вам. Правда, если у вас работает антивирус Касперского, могут быть проблемы - по крайней мере у меня он этот файл обозвал трояном :). С другой стороны, если у вас постоянно работает антивирус, то врядли нехорошие сайты что-либо поменяют.

В конце приведу еще один небольшой скрипт, выводящий на экран окно с сообщением о версии WSH у вас на компьютере:

//Версия WSH на JScript
var WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Popup("Версия WSH "+WScript.Version);

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



---
.::Extasy-World::.Hackers
"Vom Bordstein Bis Zur Skyline"
Кто на сайте?
Анонимные: 6 Зарегистрированные: 0 (?)
Жалоба | Размещено на MyLivePage | | Design by Next Step | © Kolobok smiles, Aiwan