Perpetuum informatio


Решение проблем с производительностью IIS

Иногда бывает, что на сервере IIS начинают происходить странные дела. Так например у меня возникла ситуация, в которой один из процессов w3wp.exe время от времени начинал занимать под свои вычисления весь ресурс одного из ядер (был бы одноядерный процессор было бы использование процессора на 99% или 100%). Для тех, кто не знает процесс w3wp.exe кроме всего прочего отвечает за исполнение серверного кода ASP, ASP.NET скриптов. Ясно было что, какой-то скрипт производит излишнюю нагрузку. Такое поведение для меня было неприемлимым и я постарался решить эту задачу.

Continue reading this entry »


Вектор атаки на приложения с помощью активации деактивированных элементов интерфейса

Подавляющее большинство современных windows приложений использует стандартные элементы управления для собственных интерфейсов. Большое число приложений из этой группы реализует механизмы разграничения прав пользователей, выраженные в пользовательском интерфейсе при помощи соответствующих элементов управления. Это всем нам знакомые элементы выбора (radio button), флаги (check box), выпадающие списки (drop down menu) и некоторые другие.

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

Continue reading this entry »


IIS 6.0 + PHP + shell_exec()

При попытке исполнения shell_exec() в PHP запущном в режиме fcgi постоянно получал ошибку:
PHP Warning: shell_exec() [<a href='function.shell-exec'>function.shell-exec</a>]: Unable to execute 'C:\someprogram.exe' in D:\myfile.php on line 34

Большинство советов в Интернет советовало попробовать дать право, на исполнение файла someprogram.exe, пользователю Internet Guest Account (IUSR_ИМЯСЕРВЕРА). Однако этого оказалось недостаточно и ошибка не пропадала. После изучения поведения программы при помощи Process Monitor оказалось, что PHP также не хватает прав на командный интерпритатор cmd.exe. После добавления пользователя Internet Guest Account (IUSR_ИМЯСЕРВЕРА) в список доступа cmd.exe скрипт получил доступ к программе и ошибка исчезла.


Live Mesh — связующее звено для ваших утройств.

Live Mesh — это ещё один сервис Windows Live, на момент написания поста находящийся в стадии Beta, созданный для синхронизации и управления вашими устройствами. Несмотря на то, что Live Mesh не является чем-то инновационным, данный продукт заслуживает внимания благодаря качественной интеграции компонентов и простоте использования продукта.

Continue reading this entry »


Починка WSUS в случае неисправимой ошибки базы Windows Internal Database

Обнаружил сегодня, что мой WSUS отказывается запускаться и причиной тому является невозможность запуска базы данных WID(MICROSOFT##SSEE). Статья по восстановлению БД ни к чему не привела, а попытка переустановки WSUS закончилась крахом по причине невозможности обнаружить указанную в настройках базу данных. Решение которое помогло в моём случае заключалось в том, что необходимо изменить настройку WSUS отвечающую на вопрос установлена ли на данном сервере база WID (WYukon).
Выставив в ключе реестра

HKLM\SOFTWARE\Microsoft\Update Services\Server\Setup\wYukonInstalled

значение 0 (ноль), а также переименовав папку UpdateServicesDbFiles, я смог без проблем удалить и установить заново WSUS.
Надеюсь данное решение поможет кому-нибудь сэкономить время на поиск решения в случае поломки WSUS.


Запрет на внесение изменений в репозиторий, без указания комментария

Существует возможность отклонить commit в SVN, в случае когда пользователь ничего не указал в комментарии к внесённым изменениям. Для этого необходимо создать pre-commit hook который обнаружив отсутствие комментария сделает выход с ненулевым кодом завершения. Пример такого скрипта для Windows далее.
Continue reading this entry »


Изменения в WAIK for Windows 7

Если вы используете WAIK для Windows 7, то важно помнить, что утилита wdscapture.exe, необходимая для захвата образов загруженного компьютера, в его составе отсутствует. По этой причине, создание образов захвата (Capture Boot Image) на основе Win_PE.wim входящего в состав этого пакета невозможно. Теперь данная утилита входит в состав стандартного загрузочного образа Boot.wim, входящего в состав дистрибутива Windows 7 и именно этот образ необходимо использовать для создания образов захвата. С одной стороны это универсальность и можно использовать один образ, как для захвата, так и для инсталляции системы, но с другой стороны это лишние 400 Мб в загрузочном образе (1007 Мб Boot.wim из состава Windows 7, против 670 Мб Windows PE из пакета WAIK for Windows Vista и 371 Мб Boot.wim из состава Windows Vista) и следовательно более длительное (ненамного) время загрузки .


Настройка DHCP для работы с WDS

В своей среде я использую DHCP сервер предоставляемый аппаратным межсетевым экраном D-Link DFL-800.  В случае неверной настройки DHCP в ходе сетевой загрузки возможно появление ошибок pxe-e32 и pxe-e3b.

Continue reading this entry »


Установка WDS

WDS может быть установлен на Windows server 2003 начиная с SP2, как один из компонентов ОС. В случае, если по какой-то причине у вас на 2003 сервере не установлен SP2, то WDS можно установить при помощи специального windows deployment services update, который входит в пакет WAIK (Windows Automated Installation Kit), а он понадобится нам в любом случае.

Continue reading this entry »


Версия Powershell в Windows Server 2008 r2

UPD Метод опередления версии найденный мной оказался неверным. Вот правильный метод

Попытался узнать версию Powershell в свежеустановленном Windows Server 2008 R2 методом найденном в Интернет.

Powershell Version

Powershell Version

Безусловно радует то, что это вторая версия Powershell. Это вам и красивый отладчик, и Remotings, и многое другое. Но не могу не придраться к тому, что в финальной версии так и не убрали признак CTP выпуска.