четверг, 26 марта 2009 г.

Полчаса на смену браузера по умолчанию

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

Есть центральный офис и есть удалённые точки. В центральном офисе находится VPN-сервер, к которому подключаются через Интернет агентства. Практически все точки подключены к одному оператору, а оператор не тарифицирует трафик, не выходящий за пределы его сети.

В центральном офисе есть корпоративный информационный портал Share Point, работающий поверх веб-сервера IIS. Share Point завязан на особенности IE (видимо ActiveX) и поэтому бОльшую часть функций проявляет именно в IE, а максимум - в IE7.

В центральном офисе периодически обновляют документацию на портале, а в удалённые точки отправляют по почте сообщение со ссылкой на обновлённый документ.

Есть самодельная веб-программа, работающая на Apache, PHP и MySQL. Программист, писавший программу, естественно, ориентировался на общепринятые Web-стандарты. IE, в смысле соответствия стандартам, браузер особый - по большей части на стандарты он кладёт с большим прибором. Учитывая это обстоятельство программист затачивал свою программу на Firefox, а отлаживал с помощью Firefox и плагина Web Developer.

Соответственно в удалённых точках есть два браузера. IE - браузер по умолчанию, а Firefox - браузер для работы только с самописной системой.

Случилось неожиданное: в удалённую точку прислали письмо со ссылкой, но браузером по умолчанию оказался не IE, а Firefox. Соответственно при щелчке по ссылке запускался Firefox, который не мог задействовать весь функционал портала и работать с порталом становилось эээ... тяжеловато.

Мне позвонили из удалённой точки и попросили поменять браузер по умолчанию. Я попросил их подключить VPN и подключился сам к их компьютеру через RAdmin.

Думаю: нужно в одном браузере убрать галочку "быть браузером по умолчанию", а в другом браузере её отметить и дело шито-крыто. Оказалось не так: в обоих браузерах есть пункт "проверять, что я являюсь браузером по умолчанию", но пункта "быть браузером по умолчанию" нет. Ладно, снимаю у Firefox галку, в IE её отмечаю. Закрываю Firefox, закрываю IE. Запускаю IE в расчёте на то, что он сейчас обнаружит, что не является браузером по умолчанию и предложит мне себя в качестве такового. Вижу: IE просто запустился безо всяких вопросов. Пытаюсь ткнуть по ссылке в письме - запускается Firefox.

Что делать? Захожу в "Пуск - Настройка - Установка и удаление программ - Выбор программ по умолчанию", вижу надпись в духе "у вас недостаточно прав, чтобы изменять настройки в этом разделе". Ха! Обычный пользователь не может изменить СВОИ настройки, чтобы изменить СВОИ настройки нужны права администратора!

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

Что делать? Прибиваю explorer командой "taskkill /f /im:explorer.exe", через диспетчер задач пытаюсь набрать строку "runas /profile /user:adm explorer", набирается белиберда на русском, на латинскую раскладку клавиатура переключаться не желает ни в какую. Набираю команду на своём компьютере в блокноте, копирую через буфер обмена на удалённый компьютер, затем то же самое делаю с паролем. Запускается explorer с админскими правами. Добавляю пользователя в группу "Администраторы". Набираю у себя в блокноте команду "taskkill /f /im:explorer.exe", копирую на удалённый компьютер (переключалка-то всё ещё не работает), прибиваю админский explorer. Через диспетчер задач запускаю explorer с правами пользователя (на этот раз найдя его через кнопку "обзор", набирать и копировать было лень). Пробую зайти в "Пуск - Настройка - Установка и удаление программ - Выбор программ по умолчанию", вижу ту же фразу - нет прав.

Думаю: ага, надо перезайти, чтобы новые права применились. Завершаю сеанс, расчитывая тут же зайти вновь. Вместе с сеансом пользователя обрывается VPN!

Звоню в удалённую точку, прошу войти и подключить VPN. Подключаюсь через RAdmin, захожу в "Пуск - Настройка - Установка и удаление программ - Выбор программ по умолчанию", выбираю браузер по умолчанию - IE. Открываю письмо, щёлкаю по ссылке - запускается IE. Ура, бОльшая часть работы сделана!

Теперь нужно убрать пользователя из группы "Администраторы". Прибиваю explorer командой "taskkill /f /im:explorer.exe", наученный горьким опытом, копирую из локального блокнота на удалённый компьютер в диспетчер задач строку "runas /profile /user:adm explorer", затем копирую пароль. Убираю пользователя из группы "Администраторы". Снова копирую из локального блокнота строку "taskkill /f /im:explorer.exe", прибиваю админский explorer. Через диспетчер задач запускаю explorer с правами пользователя (опять найдя его через кнопку "обзор").

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

Полчаса на смену браузера по умолчанию, включая поиск "интуитивно понятных меню" и контрольные попытки делать одно и то же: в Windows если что-то не срабатывает в первый раз, то может сработать в другой, в Linux/BSD если не сработало сразу, не сработает и все последующие разы, поэтому в Linux нужно разбираться в причинах. Возможно будь я опытным Windows-админом, прошедшим специальные курсы, я бы потратил на это 5 минут, но большинство Windows-админов, которых я видел, работают с Windows примерно так же, как и я.