В данной статье я расскажу о двух полезных утилитах комплекта ресурсов. С помощью первой, Con2prt, можно подключить к рабочей станции сетевой принтер и назначить его основным принтером, или удалить с рабочей станции все остальные принтеры. Чтобы сделать сетевой принтер с именем \\server1\hplaser основным принтером локальной рабочей станции, нужно ввести команду
con2prt /cd
  \\server1\hplaser
Удалив символ d из командной строки, можно подключить принтер, не назначая его основным. Если заменить параметр /cd или /c на /f, то все остальные принтеры будут с рабочей станции удалены.

Утилиту Con2prt можно запустить на удаленной машине в сеансе Telnet. Инструмент работает и в командных файлах. Например, командный файл, содержащий операторы

con2prt /f
con2prt /cd
  \\server1\printer1
con2prt /c
  \\server1\printer2
удалит все существующие соединения с принтерами, назначит Printer1 устройством, выбираемым по умолчанию, а затем подключит Printer2.

Con2prt входит в комплекты Microsoft Windows 2000 Resource Kit и Zero Administration Kit (ZAK) for Windows (его можно получить по адресу http://microsoft.com/windows.zak/getzak.htm). Для работы с инструментом необходим только файл con2prt.exe; сложной процедуры инсталляции не требуется.

Второй инструмент, OH (сокращение от "open handles"), будет полезен, если при попытке удалить каталог операционная система сообщает, что файл в каталоге "используется другим процессом". В прошлом, чтобы определить процесс, который работает с файлом, я пользовался отличной утилитой Filemon фирмы Sysinternals (ее можно получить по адресу http://www.sysinternals.com) или старой программой Windows File Manager из Windows NT 3.51.

OH, который позволяет решить эту задачу, очевидно, выпущен довольно давно. В OH предусмотрено много режимов. Я лишь кратко расскажу о том, как найти программу, которая мешает удалить файл.

Прежде чем приступать к работе с OH, ее нужно один раз запустить. При первом вызове OH слегка изменяет ядро Windows 2000, дополняя каждый активный процесс 8 байтами информации. Теоретически, дополнительная нагрузка замедляет работу системы, но я провел сравнительный анализ нескольких машин до и после инсталляции OH и не заметил изменений в производительности или использовании памяти. В файле Help комплекта ресурсов рассказывается о том, как отменить изменения ядра с помощью инструмента gflags.exe, но я не испытывал его. Кажется, самый большой недостаток OH - необходимость перезагрузить систему, чтобы изменения ядра вступили в силу.

После перезагрузки с помощью OH можно идентифицировать процесс, использующий любой файл, введя команду:

oh -t file 
Параметр -t указывает, что нужно получить информацию о конкретном типе объекта, в данном случае, файле. Filename - имя интересующего файла. OH полезен и в тех случаях, когда точное имя файла неизвестно. В утилите нельзя использовать обычные универсальные символы (? и *), но можно указать лишь несколько начальных символов имени файла, и OH выведет список всех файлов, имена которых начинаются с этих символов. Например, если известно, что имя файла process1.dat или process2.dat, то можно ввести команду
oh -t file process
и посмотреть, есть ли среди показанных файлы с именами process1 или process2. Если известно лишь расширение имени файла, следует ввести команду
oh -t file
чтобы получить имена всех задействованных файлов. Затем можно пропустить список через фильтр Find и сократить его до перечня файлов с определенным расширением. Например, чтобы найти все используемые файлы с расширением .pl, нужно ввести с клавиатуры
oh -t file | find ".pl"
В следующих статьях я познакомлю читателей с другими жемчужинами комплекта ресурсов.

Марк Минаси - редактор Windows NT Magazine, имеет сертификат MCSE; является автором книги «Mastering Windows NT Server 4.0» (издательство Sybex). С ним можно связаться по адресу: mark@minasi.com.