В. Я использую систему Windows 2000 Professional в качестве сервера в одноранговой сети. При завершении работы Windows 2000 - в отличие от Windows 98 и Windows Me - не предупреждает о том, что на системе есть файлы, открытые другим пользователем. Можно ли получать такие оповещения от Windows 2000 или для этой цели придется воспользоваться продуктом независимого поставщика?

О. Прежде чем завершать работу на машине Windows 2000 Pro, необходимо вручную проверить, открыты ли какие-либо файлы. Утилита Server из Control Panel с кнопкой In Use, имевшаяся в Windows NT, в состав Windows 2000 не входит, но получить список открытых общих файлов позволяет команда Net File. Можно воспользоваться утилитой Open File List (ofl) фирмы mersoft Software, бесплатным инструментом с похожими функциями. Информацию об ofl можно получить по адресу: http://www.merx-soft.com/free/ofl.htm.

В. В удаленном офисе расположен резервный контроллер домена (BDC). Обычно для связи BDC с корпоративной сетью я использую VPN-соединение на базе DSL через Internet-провайдера. На случай отказа DSL-соединения я хочу установить связь между BDC и сервером Windows NT 4.0 (функционирующим в качестве RAS-сервера и BDC) по коммутируемой линии через VPN на базе PPTP. Однако мне не удается установить работоспособное соединение. Я могу связаться с RAS-сервером через соединение с прямым набором номера, но при попытке соединиться с PPTP-сервером получаю сообщение об ошибке RAS 718. Что делать?

О. Во-первых, следует убедиться, что на все серверы установлен пакет NT 4.0 Service Pack 6a (SP6a), в котором устранены известные ошибки с похожими симптомами. Если все машины работают с последним Service Pack, то причиной неисправности может быть тайм-аут сеанса PPTP. Тайм-аут может вызвать задержка сигнала в канале связи (более подробная информация приведена в статье Micro-soft «Troubleshooting PPTP Connectivi-ty Issues in Windows NT 4.0» по адресу: http://support.microsoft.com/support/ kb/articles/q162.8/47.asp).

Необходимо увеличить число попыток передачи данных через соединение. Отыщите в реестре раздел HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesTcpipParameters. Если в разделе нет параметра PPTPTcpMaxDataRetransmis-sions (типа REG_DWORD), его следует ввести и присвоить ему значение в диапазоне от 0 до 0xFFFFFFF (по умолчанию 9h).

Значение PPTPTcpMaxDataRetrans-missions задает максимальное число попыток передачи пакета PPTP локальной системой, если удаленный узел не может распознать пакет. По умолчанию это значение больше, чем стандартная величина 5h параметра реестра TcpMaxDataRetransmissions, который задает максимальное число попыток пересылки локальной системой IP-пакета (и предотвращает нежелательное обнаружение «мертвого» шлюза на медленных соединениях Internet). Тем не менее на очень медленных линиях связи значение PPTPTcpMaxDataRetransmissions, возможно, придется еще увеличить.

Во-первых, следует попытаться увеличить значение PPTPTcpMaxDataRe-transmissions до 18h (десятичное число 24), а затем перезагрузить сервер и повторить попытку соединения, чтобы проверить, будет ли повторяться ошибка 718. Если ошибка будет повторяться, попытайтесь поэтапно увеличивать значение на 1 или 2; однако следует помнить, что разработчики не рекомендуют увеличивать значение более чем до 27h (десятичное число 39).

Если проблема возникает на соединениях ISDN с модемом BitSURFR Pro EZ ISDN компании Motorola, то, вероятно, причина кроется в особенностях устройства. О способах устранения неполадки рассказывается в статье Microsoft «RAS Error 718 When Using Motorola ISDN BitSURFR Pro EZ» (http://support.microsoft.com/support/ kb/articles/q181.8/46.asp).

В. Я часто использовал в командных файлах утилиту Rmtshare комплекта ресурсов Microsoft Windows NT Server 4.0 для предоставления в общий доступ дисков на компьютерах моей сети удаленно. Но Rmtshare в комплекте ресурсов Microsoft Windows 2000 Server Resource Kit отсутствует. Значит ли это, что я не смогу пользоваться данной утилитой?

О. Действительно, в наборе ресурсов Windows 2000 нет утилиты Rmtshare. Но ее версия для NT 4.0 работает и на системах Windows 2000. В Листинге 1 показан синтаксис Rmtshare для решения похожей задачи.

Можно воспользоваться и графическим интерфейсом (как через модуль Computer, Shared Directories диспетчера NT Server Manager, но с более широкими возможностями). Создать общедоступный диск на удаленной машине можно следующим образом (предполагается, что у вас есть полномочия для управления ресурсами целевой системы).

  • Запустите консоль Computer Mana-gement (щелкнув правой кнопкой мыши на пиктограмме My Computer или выбрав пункт Manage (Computer Management) из меню Administrative Tools).
  • Щелкнув правой кнопкой мыши на Computer Management (Local), укажите пункт Connect to another computer ("Установить соединение с другим компьютером"), а затем введите имя компьютера, на котором следует создать общий ресурс на диске, и щелкните OK.
  • В окне Computer Management перейдите к разделу System Tools, Shared Folders и откройте его.
  • Щелкнув правой кнопкой мыши на Shares, следует выбрать пункт New File Share, чтобы запустить мастера Shared Folder.
  • В текстовом поле Folder to share укажите существующую папку или введите новое имя и создайте папку. Например, чтобы создать папку с именем Myshare на диске C целевого компьютера, нужно ввести
    c:myshare
    В текстовом поле Share name укажите имя для разделяемой папки. В текстовом поле описания можно ввести описание общедоступного ресурса (это необязательно).
  • Продолжите работу с мастером. В ответ на приглашение назначьте соответствующие права доступа к ресурсу.

В. Мы используем элемент управления ActiveX AspExec фирмы ServerObjects для запуска выполняемого файла из ASP (Active Server Pages). Мы всегда успешно применяли этот элемент управления с Microsoft Internet Information Server (IIS) 4.0 в среде Windows NT 4.0. Однако исполняемый файл на нашем сервере Windows 2000 не работает. Программа функционирует в скрытом окне, поэтому диагностировать проблему не удается. Выполняемый файл не завершает процесс, и мы не можем уничтожить его из Task Manager, который выдает сообщение об ошибке Access denied. Проблема свойственна не одному лишь нашему исполняемому файлу. Известны ли другие способы запуска исполняемых файлов из ASP? Как остановить выполнение файла или заставить программу работать в видимом окне?

О. Проблема заключается в различиях между принимаемыми по умолчанию мерами защиты приложения и параметрами изоляции в Internet Information Services (IIS) 5.0 и в IIS 4.0. Эти параметры определяют способ выполнения приложений на сервере. Приложения могут работать в том же процессе, что и Web-сервер (режим Low), в отдельном объединенном процессе с другими приложениями (режим Medium) или в изолированном отдельном процессе (режим High). Эти режимы можно настроить на закладке Home Directory диалогового окна Web Site Properties системы IIS (см. Экран 1).

Экран 1. Установка режима Application Protection для Web-узла IIS.

По умолчанию для IIS 5.0 на серверах Windows 2000 выбирается режим Medium (Pooled). Если параметр Application Protection имеет значение Medium (Pooled), то IIS использует для запуска DLL программу dllhost.exe и в итоге возникает «осиротевший» процесс. Вероятно, для вашей программы требуется режим Low (IIS Process), принимаемый по умолчанию в NT 4.0 и IIS 4.0 (поэтому исполняемый файл работал с этими версиями). По-видимому, проблему можно решить, изменив параметр Application Protection на Low (IIS Process) для всех узлов, на которых ASP использует AspExec для вызова исполняемых файлов.

Шон Дейли - редактор журнала Windows NT Magazine и президент компании iNTellinet Solutions, занимающейся консалтингом и сетевой интеграцией. Имеет звание MCSE. Последней из его книг была «Optimizing Windows NT». С ним можно связаться по адресу электронной почты: sean@ntsol.com.


Листинг 1. Образец синтаксиса Rmtshare.
RMTSHARE  server
serversharename
serversharename=drive:path [/USERS:number |
/UNLIMITED]
[/REMARK:?text?]
[/GRANT [user[:perm][ /GRANT user[:perm]]]]
[/REMOVE user]
serversharename=printername