Archive

Posts Tagged ‘Маленькие хитрости’

Установка обновлений из командной строки.

October 26th, 2010 5 comments

Вот на этой странице опубликован скрипт, который проверяет наличие обновлений Windows, скачивает их и устанавливает на машину из командной строки. Я его немного подправил, чтобы было удобнее запускать на нескольких машинах сразу через psexec. Взять его можно здесь: http://blog.not-a-kernel-guy.com/wp-content/uploads/2010/10/WUA_SearchDownloadInstall.vbs.

Модифицированный скрипт понимает следующие ключи:

d:\wsus>cscript //nologo WUA_SearchDownloadInstall.vbs /?
Usage: cscript //nologo WUA_SearchDownloadInstall.vbs [/nodownload | ( /install [ /reboot ] ) ].
  • /nodownload – найденные обновление не будут скачиваться (и, соответственно, устанавливаться).
  • /install – скачанные обновления будут автоматически установлены на машину. По умолчанию новые обновления скачиваются, но не устанавливаются.
  • /reboot – перезагружает машину после установки обновлений, если одно из них запросило перезагрузку.

Пример запуска скрипта с помощью psexec:

psexec.exe @server_list.txt -u <user> -p <password> cscript //nologo \\some\public\share\WUA_SearchDownloadInstall.vbs /install /reboot

При этом предполагается, что \\some\public\share доступна на чтение со всех машин из списка.

“This program requires Windows 2000 or newer operating system”.

March 25th, 2009 14 comments

Когда видишь такое сообщение на Windows 7, это означает, что разработчики приложения допустили ошибку либо в коде проверки версии операционной системы, либо, что менее вероятно, – в самом сообщении. Второй вариант возможен, если программа действительно не должна работать в новых версиях операционной системы. В обоих случаях, с точки зрения пользователя это чистой воды баг. То ли в коде, то ли в дизайне, то ли в маркетинговом отделе…

В любом случае обходятся такие ограничения элементарно просто. Достаточно открыть окно свойств исполняемого файла или ярлыка, выбрать вкладку «совместимость» и в выпадающем списке выбрать нужную версию операционной системы. При следующем запуске, программа будет запущена вместе с набором заплаток, которые в том числе подменяют номер версии системы:

appcompat

Маленькие хитрости «посмертной» отладки.

February 8th, 2009 Comments off

Как то заметил, что в списке запущенных процессов постоянно болтается три штуки cdb.exe:

aedebug_cdb

CDB – это консольная версия WinDbg, которая у меня установлена в качестве «посмертного» отладчика (postmortem debugger).Обычно при этом падение приложения не проходит незамеченным – запускается консоль отладчика на весь экран. Трудно не заметить. В данном же случае, по всей видимости, фатальное исключение случалось в привилегированном процессе в отдельной сессии, соответственно и консоль создавалась в другой сессии.

Read more…

Хозяйке на заметку.

August 5th, 2008 4 comments

Чтобы войти на машину с благозвучным названием “6XSD29G-052-18XS_32” под локальным пользователем, не нужно набивать полное имя пользователя как “6XSD29G-052-18XS_32\vasya”, проклиная при этом злого гения, запретившего Copy-Paste в поле ввода имени, и его коллегу, давшему компьютеру такое замечательное имя. Достаточно просто сказать “.\vasya” и все получится.

PS. Знал бы об этом пять лет назад – день жизни сэкономил бы уже наверное. Хотя мог бы и сам догадаться… :-)

Как Process Explorer подменяет Task Manager.

March 13th, 2008 9 comments

А знаете, как Process Explorer подменяет собой стандартный Task Manager?

Process Explorer: Replace Task Manager.

Read more…

Разрядность ключа «Image File Execution Options».

January 9th, 2008 2 comments

Ключ «Image File Execution Options» знаком, наверное, всем кто вынужден тратить много времени на отладку приложений. В частности, с его помощью можно указать системе всегда запускать определённый процесс под отладчиком. В этом же ключе утилита gflags.exe сохраняет выбранные отладочные опции и т.д. За подробностями рекомендую обратиться в Google, там есть много полезного.

Read more…

Как посмотреть содержимое реестра из-под отладчика.

December 29th, 2007 4 comments

Сижу дома простуженный. Ни о чём писать не хочется, поэтому буду краток.

Команда !dreg в WinDbg позволяет просматривать содержимое реестра прямо в процессе отладки. Это особенно удобно в двух случаях:

  1. При удалённой отладке, когда сессия отладчика – это единственный вид доступа к удалённой машине. Такое встречается сплошь и рядом, например, если удалённая машина находится в другой сети или домене;
  2. В случае, когда отладчик пользовательского режима контролируется ядерным отладчиком. Это тоже, в общем-то, вариант удалённой отладки, только в этом случае до отлаживаемой машины достучаться кроме как через отладчик вообще никак нельзя.

К сожалению !dreg не работает в ядерном отладчике, вернее работает, но показывает реестр той машины где запущен kd.exe, а не целевой, так бы этого не хотелось. Иначе бы счастье было бы полным.

Read more…