Запуск приложений в Windows 7 с правами администратора (UAC включен)

Все-таки, разработчики Windows решили усилить контроль за системными файлами. Даже если пользователь вошёл в систему “под администратором” При попытке изменить системные файлы, система выдает окошко Контроль учетных записей пользователей (UAC - User Access Control). Для выполнения некоторых действий требуются права администратора.

Лично я не рекомендую отключать UAC, хотя первое время может показаться слишком назойливым постоянный ввод пароля администратора. Особенно, при активной установке приложений :)

Как запустить приложение с правами администратора без отключения UAC

  1. Выбор в контекстном меню (щелчок правой кнопкой на файле приложения или его ярлычке) “Запуск от имени администратора
  2. В свойствах ярлыка (правой кнопкой мыши, в меню выбираем “Свойства”, правая кнопка “Дополнительно”) можно установить галочку “Запускать от имени администратора” - при щелчке на ярлычке, после запроса UAC приложение будет запущено с правами администратора
  3. upd Запуск из меню “Пуск-Найти”, с использованием сочетания клавиш Shift+Ctrl+Enter (в этом случае, мы вновь увидим предупреждение UAC)
  4. upd Запуск с правами администратора через планировщик задач: открываем планировщик заданий (Пуск ->  программы -> Стандартные -> Служебные -> Планировщик заданий) и выбираем “Создать задачу”. При создании задачи выбираем галочку “Выполнять с наивысшими правами” - с правами администратора. На вкладке “Действие” выбираем “Запуск программы”, находим нужную программу и нажимаем “ОК”. Теперь создаем ярлык (контекстное меню - создать ярлык), и в строке “Укажите расположение объекта” вводим
    schtasks /run /tn admin_cmd
    где admin_cmd - имя только созданного задания.

UPD, чтобы окошко “Выполнить” (Run, Windows+R) всегда запускалось с правами администратора можно поступить аналогично: при создании задания указать “Программа или сценарий” - rundll32 и “Добавить аргументы” - shell32.dll,#61 . При постоянном использовании такой подход довольно удобен, однако не следует забывать, что все программы, запущенные из этого сеанса CMD будут также запущены с правами администратора!

UPD2 в свойствах ярлыка можно поставить две галочки для запуска с правами администратора:

Свойства ярлыка -> Ярлык -> Дополнительно -> Запуск от имени администратора 
Свойства ярлыка -> Совместимость -> Выполнять эту программу от имени администратора 

Разница (если я правильно понимаю) в том, что вкладка “Совместимость” относится к приложению, а вкладка “Ярлык” - к ярлыку (т.е. при изменении на вкладке “Совместимость” запуск от администратора будет установлен для всех имеющихся ярлыков и для самого приложения)

Быстрый запуск приложения от имени администратора - Удерживая Ctrl+Shift нажать на иконку приложения (естественно, у текущей учетной записи должны быть права администратора)

Если программа не предлагает выбрать пользователя с административными правами - возможно, внесены изменения в конфигурацию по умолчанию. Для отображения окна выбора учетной записи от имени которой будет запущен файл следует установить значение двух параметров политики безопасности в редакторе групповой политики (gpedit.msc Конфигурация компьютера - Конфигурация Windows - Параметры безопасности - Локальные политики - Параметры безопасности):

1. Управление учетными записями пользователей: поведение запроса на повышение прав для обычных пользователей
2. Управление учетными записями пользователей: поведение запроса на повышение прав для администраторов в режиме одобрения администратором
Выставляем значение “Запрос учетных данных”. И не забываем включить UAC (если он отключен)

Опубликовано Март 10, 2011 | автор: levik  |  Без комментариев »

Инструменты для коллективной разработки в IT-компании

Любая коллективная разработка программного обеспечения сталкивается с одними и теми же проблемами:

  • групповая работа над кодом, документами;
  • учет проблем, ошибок, требований;
  • документирование, накопление и циркуляция (поиск, трансляция, агрегация) знаний компании;
  • организация правильного тестирования.

Какие варианты решения этих проблем существуют в принципе? Что лучше выбрать?
Читать целиком »

Опубликовано Март 6, 2011 | автор: levik  |  Без комментариев »

Шаблон админки - готовые шаблоны для админ-панели

При разработке практически любой CMS или некоторых модулей нередко встаёт вопрос - как организовать административный раздел. Какой дизайн? Какие элементы управления?

Естественно, создать что-то собственное - вариант заманчивый. Однако, в этом случае шанс что-нибудь не предусмотреть довольно велик. Поэтому, имеет смысл (на мой взгляд) как минимум ознакомиться с уже имеющимися шаблонами админки. Вы можете взять один из приглянувшихся шаблонов админ-панели, и доработать его под свои нужды и по собственному усмотрению. Естественно, минимальные знания HTML + CSS не помешают ;)

http://habrahabr.ru/qa/4875/ - поиск админки на хабре.
http://mathew-davies.co.uk/2010/03/13/free-admin-template.html - Free admin template based on 960gs css framework

Удачного администрирования! )

Опубликовано Март 3, 2011 | автор: levik  |  Без комментариев »

PHP Zend Optimizer - как раскодировать файлы

PHP файл, закодированный с использованием Zend Optimizer (если быть точным, используется Zend Encoder) содержит частично скомпилированный (оптимизированный) код. Платный Zend encoder кодирует, а бесплатный zend optimizer (установленный на хостинге) - раскодирует обратно. Теоретически, выполнение заранее скомпилированного кода должно ускорять работу скрипта PHP. В случае с Zend Optimizer, однако, вопрос конфиденциальности скриптов, пожалуй, приоритетнее производительности. Однако, в любом случае, если потребуется внести исправления в закодированный файл, возникнут сложности..

дезендер есть… спроси у nulled.ws - у них вроде был…

How Does it Work?

The Zend Encoder compiles and converts plain-text PHP scripts into a platform-independent binary format known as a ‘Zend Intermediate Code’ file. These encoded binary files are the ones that are distributed instead of the human-readable PHP files. The performance of the encoded PHP application is completely unaffected!

The Zend Optimizer, a free download, is the run-time environment that enables end-users to transparently execute these files as if they were regular PHP scripts. The Zend Optimizer not only provides an additional level of increased security against reverse engineering, it also improves performance speed.

http://www.zend.com/store/products/optimizer-faq.php
http://www.zend.com/store/products/zend-encoder.php

PHP Dezend можно найти в упоминаниях. Некоторые предлагают его приобрести…

http://creotiv.in.ua/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5/dezend-php-decompiler/

http://www.qinvent.com/cyrj/dezender/index-en.php

Однако, рекомендую не терять “оригинальные” незашифрованные ЗЕНДом версии файлов.

Опубликовано Март 1, 2011 | автор: levik  |  Без комментариев »

MODx и ISPManager - доступ к manager

MODx и ISPManager имеют одинаковый адрес для доступа к “админке”

  • Заходим в ispmananger
  • На вкладке World Wide Web выбираем пункт WWW домены
  • В правой части выбираем домен, двойным щелчком (или иконка “Редактирование”) переходим к редактированию
  • Включаем галочку “Отключить ISPManager”
  • Ждем минут 5-10, и открываем админку MODx по адресу  site/manager/

Разделяем админку ISPManager (https://) и MODx (http://)
Если имеется доступ к файлу httpd.conf (у вас выделенный сервер - искать скорее всего /etc/httpd/conf/httpd.conf), то можно добавить строчку в раздел нужного сайта (искать в секции VirtualHost, или для Debian и apache2 в enabled_sites):
Alias /manager/ /путь_к_файлам_сайта/manager/

Изменяем расположение админки MODx (как поменять /manager/ на /admin/ например):

1. переименовать папку manager в admin/
2. в файлах admin/includes/config.inc.php и admin/includes/document.parser.class.inc.php заменить все пути “manager/” на “admin/”
3. открыть новую админку по адресу site/admin/

При замене не рекомендуется пользоваться автоматической заменой в файлах.

При установке MODx не проверяет пароль (ошибка проверки соединения базы данных)

Если при установке CMS MODx на странице проверки соединения Базы данных сервер “задумался”… Пользователь и пароль базы данных проверены много раз и должны работать.

Если у вас хостинг с ISP Manager, а админка открывается с URL /manager/

Страница проверки логина и пароля базы данных работает с mootols - javascript , который подгружается из каталога /manager/ Естественно, если у Вас открывается ISP, никаких mootols.js скрипт не находит.. и работает некорректно.

После снятия галочки в ISP-Manager (см выше), проверка базы данных должна закончиться успехом :)

http://www.webhostingsearch.com/articles/10-promising-content-management-systems.php/

При возникновении ошибки Вы не можете отключить manager для текущего WWW-домена во время отключения домена через панель - либо зайти пользователем с правами побольше (странно, в комментариях наоборот - мол root не может отключить), либо редактировать конфиг

Опубликовано Февраль 28, 2011 | автор: levik  |  Комментарии (3) »

Работа с Excel в PHP - классы, библиотеки, готовые решения

Phpexcel - Просто огромный (~20 Мб исходников) набор классов для работы с Excel из PHP. Возможно сделать практически всё, что можно сделать в Excel (например, поддерживается работа с формулами, с диаграммами… ). Требования к хостингу, однако, также на высоте - PHP 5.2 и выше, библиотеки Zip, XML и GD2
http://phpexcel.codeplex.com/

Spreadsheet_Excel_Reader небольшой класс для чтения информации из Excel. Подойдет для обработки (импорта файлов XLS). Из найденных “глюков” - дата может быть смещена на единичку - исправляем значения
define(’SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS’ ,    25570); //25568
define(’SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904′, 24108); //24107
http://sourceforge.net/projects/phpexcelreader/

Доработанный вариант -  PHP Excel Reader - довольно удобная библиотека для работы с Excel в PHP. Последняя версия ещё не так сильно устарела. Однако, проблемы с датой остались и в этой версии - не всегда корректно определяется время.
http://code.google.com/p/php-excel-reader
http://groups.google.com/group/php-excel-reader-discuss?pli=1

Spreadsheet_Excel_Writer - класс из PEAR, поддерживает картинки, формулы, изображения форматирование текста и ячеек (заливка, границы). Не рекомендуется к использованию (т.к. не “совсем” поддерживает новый - BIFF8 - формат EXCEL)
* PHP 4.1.0
* PEAR Installer 1.4.0b1
* OLE 0.5
http://pear.php.net/package/Spreadsheet_Excel_Writer

По аналогии с работой в Word через COM, можно организовать и работу с Excel через COM-объекты. Однако, этот вариант возможен лишь на Windows-хостинге и установленном Excel , либо на локальном компьютере пользователя через JavaScript в Internet Explorer (опять же,требуется установленный Excel)

Не забываем, что экспорт в Excel по требуемому шаблону можно сделать без дополнительных классов, исключительно средствами PHP

Опубликовано Февраль 25, 2011 | автор: levik  |  Без комментариев »

Верстаем правильно

Подборка ссылок на статьи по вёрстке -как верстать правильно? На что следует обратить внимание? Какие инструменты для вёрстки использовать. Бывалые верстальщики делятся своим опытом

Довольно объемная статья по проверке вёрстки
http://habrahabr.ru/blogs/webdev/114256/

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

Опубликовано Февраль 23, 2011 | автор: levik  |  Без комментариев »

Удаленное включение компьютера по сети

Для удаленного включения компьютера по сети с использованием технологии Wake on LAN (WOL) нужно знать IP-адрес компьютера в сети Интернет (необходимо постоянное подключение) и MAC-адрес его сетевой карты, через которую он подключен к Интернет. Естественно, сетевая карта и биос должны поддерживать возможность включения по сети:

Требования к компьютеру для включения по сети

- Оборудование должно соостветствовать спецификации ACPI и в настройках BIOS должна быть включена поддержка режима “Wake On Lan”.
- Иметь блок питания ATX.
- Иметь сетевую карту, поддерживающую технологию “Wake On Lan” (WOL).

Состав magick packet - “волшебного” пакета, для пробуждения “выключенного” компьютера (на самом деле, компьютер не совсем выключен - он находится в режиме )
Первые 6 байт - 0xFF, так называемая «цепочка синхронизации» . Затем — MAC-адрес сетевой платы, повторённый 16 раз.

http://ru.wikipedia.org/wiki/Wake-on-LAN

Программы для включения компьютера по сети:
broadc.exe
broadc.exe MAC-адрес-сетевой-карты 255.255.255.255 67

wol.exe имеет чуть больше возможностей

wakeup.exe - графическая утилита

wakeonlan - для Linux:
wakeonlan MAC-адрес
http://white55.narod.ru/wol.html

wake on lan на PHP:
http://toni.uebernickel.info/development/php-wake-on-lan/

Опубликовано Февраль 19, 2011 | автор: levik  |  Без комментариев »

Применение параметров компьютера - долгая загрузка

При загрузке рабочей станции с Windows XP SP3 долго висит окно “Применение параметров компьютера“(до ввода имени пользователя). После применения параметров загрузка проходит довольно быстро. Причем, аналогичная длительная загрузка наблюдается и на других компьютерах, но не на всех. Если во время загрузки отключить сетевой кабель, применение параметров компьютера происходит практически моментально.

Конфигурация вполне “стандартная” - рабочие станции Windows XP SP2, SP3, сервер - Windows Server 2003 / Windows Server 2008 c DNS, DHCP и Active Directory

В чем может быть дело:

Профиль еще не актуален. На этом этапе сначала ищется DC, затем примемяются компьютерные GP, поиск опубликованных в AD сетевых принтеров и папок… А так же выполняются скрипты. Например обновление файлов копированием.

В настройках сетевого подключения рекомендуется в графе “Предпочитаемый DNS-сервер” ввести точный IP адрес сервера контроллера домена. Как правило, это позволяет ускорить применение параметров компьютера.

Юзаем консоль, смотрим ошибки

Запустите rsop.msc и убедитесь, что гупповые политики отрабатывают
dsa.msc

Смотрим локальные логи - ищем ошибки, сообщения

На машинах, на которых долго применяются параметры, посмотреть в Event Viewer, нет ли сообщений, что не смог обработать групповую политику. Пару раз было такое при кривой настройке ДНС-сервера - ссылались на медленный сервер и происходила такая же петрушка.

Смотрим логи на сервере:

В логах на сервере есть ошибки от Kerberos? А именно EventID 4?
http://support.microsoft.com/kb/244474

Возможно, проблемы с DNS/DHCP

(”применение параметров компьютера” по времени доходило до 5 минут). В настройках TCP/IP клиента прописал адрес сервера в DNS и WINS(?). Проблема исчезла

Ещё один “голос” за DNS/DHCP

Предположительный источник проблемы длительной загрузки комьпютера:
1. DHCP сервер…. не отвечает или находится крайне далеко от пользователя
2. DNS
3. В принципе не плохо, чтобы контроллеры домена были доступны для всех пользователей ведь вход в домен (по моему, но не точно) осуществляется не только через PDC, а через ближайший доступный…

Интересный вариант развития событий:

У пользователей в профиле прописана шаровая папка, при исключении её из профиля - машина грузится нормально!!!

Была подобная проблема при падении AD.
Решилось убиением старых групповых политик на рабочих станциях.

На клиенте ipconfig /all
nslookup -q=a server_name
Убедись что с сервером DNS все в порядке.
Вынеси контроллер домена на медленном линке в отдельный сайт.
прогони netdiag.

В общем, как всегда - заглядываем в логи, ищем ошибки..

Полезности:

комплект утилит Sysinternals
http://technet.microsoft.com/ru-ru/sysinternals/bb963902.aspx
CodeStuff Starter - альтернатива
http://systemexplorer.net - бесплатная программа для настройки системы

3 типа Autorun
1. Machine Run [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
2. All Users Run + Users Run
3. Autorun

BootLogXP, BootVis (однакнопка) - утилиты для просмотра/ускорения загрузки компьютера

Опубликовано Февраль 18, 2011 | автор: levik  |  Комментарий (1) »

Пагинация в Shop Script - убираем дубли страниц

В одной из версий (похоже, бесплатной и, возможно, не самой свежей) интернет-магазина Shop Script не предусмотрена проверка наличия товаров в категории.. Точнее, наличия их на определенной странице.. Т.е. возможно возникновение дублей вида

categoryId=10&offset=5
categoryId=10&offset=7

Как правило, большое количество такого рода страниц не приветствуется поисковыми системами - будем избавляться от них.

Я решил перенаправлять все обращения к несуществующим страницам на первую страницу этой же категории. Для исключения страниц из поиска - используем 301 редирект

if ($offset >$g_count || ($offset % CONF_PRODUCTS_PER_PAGE !=0) ) {
header("HTTP/1.1 301 Moved Permanently");
header ('Location:index.php?categoryId='.$categoryID);
exit();
}

Этот код следует вставить туда, где производится проверка $offset >$g_count (файлы category.php и filters.php в includes)

Опубликовано Февраль 17, 2011 | автор: levik  |  Без комментариев »