PLUG&PLAY В WINDOWS 95
Важным преимуществом Windows 95 по сравнению с другими 32-разрядными операционными системами является совместимость с многообразием аппаратных средств, выпускаемых и выпускавшихся ранее разными производителями. В Windows 95 такая совместимость достигается за счет включения в комплект поставки обширной библиотеки драйверов сетевых адаптеров, а также возможности работы сетевых адаптеров с устаревшими драйверами реального режима NDIS 2.x и ODI. К сожалению, компоненты Plug and Play Windows 95, которые, в общем-то, предназначены для упрощения инсталляции новых устройств, влияют иногда на совместимость в худшую сторону. Например, простая установка сетевой платы Genius LAN GE-2100 Plug and Play (микросхема AMD PC Net ISA+) в компьютер без Plug and Play BIOS приводит к тому, что Windows 95 запускается только в режиме защиты от сбоев, а программа Windows 95 Setup зависает после первой перезагрузки.
Подобные ошибки, появление которых связано с конфликтом ресурсов, возникают из-за некорректной работы перечислителя (ennumerator) шины ISA - компонента Windows 95, отвечающего за обнаружение новых устройств ISA Plug and Play в системах без Plug and Play BIOS. О возможности такой ошибки говорится и в Microsoft Windows 95 Resource Kit. Интересно отметить, что ошибка эта не возникает на некоторых компьютерах Plug and Play, BIOS которых написан "правильно".
Проблема решается отключением перечислителя шины ISA. Откройте редактор реестра, и в разделе HKEY_LOCAL_MACHINESystemCurrentControlSetServicesClassSystem найдите под одним из ключей строковый параметр DevLoader = isapnp.vxd (в зависимости от типов шин, имеющихся в системе, этот параметр будет находиться под разными ключами). Данный параметр следует удалить и перезагрузить Windows 95. Отключение перечислителя шины ISA не оказывает влияния ни на функции определения устройств Plug and Play на других шинах (PCI, порты и др.), ни на работу Мастера установки оборудования.
В заключение отметим, что решение данной проблемы приводится в Microsoft Windows 95 Resource Kit, но относится, по-видимому, к одной из бета-версий Windows 95 и не может быть использовано в коммерческой версии.
ПРАВИЛЬНЫЙ АДРЕС
В последнее время, как администратор, я постоянно сталкивался с необходимостью определения того, какие пользователи какие IP-адреса используют и каковы адреса их сетевых плат. После некоторых поисков я нашел простое (и бесплатное!) решение в виде утилиты Winipcfg для Windows 95, сообщающей конфигурационные IP-параметры ПК. Несмотря на то что она работает только под Windows 95, вряд ли это существенное ограничение, поскольку данная ОС получила широкое распространение на пользовательских рабочих станциях.
Microsoft сделала администраторам отличный подарок, спроектировав Windows 95 так, что программы типа Winipcfg можно запускать из командной строки DOS. Вкупе со сценарием входа в сетевую операционную сетевую систему эта функция может стать весьма мощным и удобным инструментом. В качестве примера я рассматриваю NetWare (вообще-то этот трюк применим в случае с практически любой сетевой ОС).
Прежде всего необходимо задать переменную среды в пользовательском сценарии входа в систему:
dos set LOGNAME="%LOGIN_NAME"
Затем я вызвал COMMAND.COM для обработки командного файла, находящегося в каталоге SYS:PUBLIC (но только для локальных пользователей). Кроме того, параметр /e:800 определяет размер среды в 800 параграфов - каждый из 16 байт. Вот эти команды:
if NETWORK_ADDRESS="00005401" #command /e:800 /c f:publicpccheck1.bat end
Обратите внимание на первую строку. Число 00005401 - это IPX-адрес локальной сети Ethernet. Данная строка включена для того, чтобы следующая за ней команда не влияла на тех пользователей из других частей нашей организации, кто обращается к нашему файловому серверу. Всякий, кто решит воспользоваться этим советом, должен будет заменить 00005401 на свой собственный адрес IPX; если сценарий будет применяться ко всем пользователям, то данную строку можно опустить.
Из PCCHECK1.BAT я запустил WINIPCFG.EXE с параметрами /ALL и /BATCH (напомню, что эта команда действительна только в случае клиентов Windows 95). Файл PCCHECK1.BAT выглядит следующим образом:
if not "%winbootdir%" == "" winipcfg /all /batch f: appsdataconfig\%logname%.ip
Данный командный файл проверяет, работает ли клиент под Windows 95, а затем запускает Winipcfg и записывает в файл найденную Winipcfg информацию. Этот файл будет назван по регистрационному имени пользователя и получит расширение IP. В нем будут находиться все данные относительно TCP/IP для пользовательского ПК: IP-адрес, номер сетевой платы, маска подсети, имя хоста и проч. Кроме того, вы узнаете о разблокировании/блокировании DHCP и маршрутизации IP, наличии серверов DNS и т. д.
В скобках заметим, что два знака "равно" (= =) означают проверку равенства. Двойные кавычки ("") после двух знаков равенства поставлены на случай, если переменная %WINBOOTDIR% не определена; тогда результирующей строкой будет "". В DOS проверка пустой строки рассматривается как ошибка.
Для инвентаризации клиента вы можете создать командный файл для выполнения команды MSD (Microsoft Diagnostic). MSD появилась в пятой версии MS-DOS; она имеется и на CD-ROM с Windows 95, но не устанавливается автоматически. Эта команда предоставляет подробное техническое описание машины, в том числе ее аппаратные характеристики и, частично, информацию о программном обеспечении.
Командный файл с MSD можно вызвать из сценария входа аналогично тому, как это было сделано в случае Winipcfg. На этот раз командный файл содержит следующую строку:
msd /p f:appsdataconfig\%logname%.msd
Данная команда создает файл в F:APPSDATACONFIG с регистрационным именем пользователя в качестве имени и расширением .MSD. По ключу /P команда MSD записывает полный отчет без какого-либо участия пользователя.
РАЗДЕЛЯЕМЫЙ CD-ROM НА СЕРВЕРЕ NETWARE
Работу с сетевым разделяемым устройством CD-ROM на серверах NetWare можно упростить за счет использования командных файлов, объединяющих основные операции с дисководом CD-ROM:
CD_New.ncf - монтирование нового диска CD-ROM;
CD_Close.ncf - завершение работы с диском;
CD_Exist.ncf - смена или установка предварительно смонтированного диска.
Эти командные файлы консоли сервера полностью автоматизируют и абстрагируют использование CD-ROM в сети.
#-- Загрузка поддержки CD-ROM в Startup.ncf ----- Load ASPICD.DSK ; в случае SCSI Adaptec ;Load IDEATA.HAM port=170 int=F ; в случае Secondary IDE #------------------------------------------------
Команды Startup.ncf зависят от аппаратной платформы сервера.
#-- Загрузка поддержки CD-ROM в Autoexec.ncf ---- # Load after311.nlm ; Необходим для версий NNW 3.1x Load cdrom.nlm CD GROUP Gr_CDROM_1 1 ; Доступ членам группы Gr_CDROM_1 #------------------------------------------------
Для удобства администрирования рекомендуется создать группу Gr_CDROM_1 пользователей CD-ROM, так как по умолчанию используется группа Everyone.
В следующих примерах цифру "8" следует заменить на оригинальный номер устройства CD-ROM (номер определяется командой CD Device List).
#--- CD_New.ncf Установка нового диска ---------- CD dismount 8 pause ATTENTION OPERATOR: Install Media into Device CDROM_1 (wait for spin up). ;UnLoad ConLog.nlm CD mount 8 /R /G=1 ;Load ConLog.nlm SAVE=SYS:ETCConsole2.log MAXIMUM=1024 ENTIRE=YES CD dismount 8 CD rename /D=8 CDROM_1 CD mount CDROM_1 CD volume list #------------------------------------------------
Строки UnLoad и Load ConLog.nlm необходимы только при использовании программы регистрации консоли сервера ConLog.nlm.
# CD_Close.ncf Завершение работы с диском CD dismount 8 CD volume list pause ATTENTION OPERATOR: Delete Media from Device CDROM_1 (wait for spin up). #------------------------------------------------ #-- CD_Exist.ncf Замена диска на ранее используемый CD dismount 8 pause ATTENTION OPERATOR: Exchange Media from Device CDROM_1 (wait for spin up). CD mount CDROM_1 CD volume list #------------------------------------------------
Следующий файл рекомендуется использовать в сценарии регистрации рабочей станции или непосредственно из командной строки.
rem -- CD_New.bat Файл предназначен для организации доступа с рабочей станции к сетевому диску CD-ROM. @echo off echo Восстановление диска R при изменении echo параметров сетевого устройства CD-ROM. MAP ERRORS OFF MAP R:=CDROM_1: MAP ERRORS ON rem ----------------------------------------------
Рекомендуется использовать последние версии программ поддержки CD-ROM (CDup4.exe или старше). Данную заплатку можно взять по адресу: ftp://novell.com/pub/updates/ nwos/nw410/.