В новой операционной системе Windows Vista не только появилась возможность управлять энергопотреблением через групповую политику, но и реализован графический интерфейс Power Options, из которого можно указать, когда снижается (или не снижается) яркость экрана. Будет ли утилита Powercfg полезной в век Vista? Безусловно, да! Прежде всего, по-прежнему часто требуется изменить или выяснить определенные параметры энергопотребления, и обычно я предпочитаю делать это из командной строки. К сожалению, синтаксис версии Powercfg для Vista и Windows Server 2008 существенно отличается от XP. Кроме того, лично мне с помощью Powercfg удалось разрешить загадку ноутбука.
Дело в том, что я выполняю большинство тестов Vista и Windows 7 на недорогом ноутбуке малоизвестного производителя. Он мне нравится, за исключением одного недостатка: если перевести ноутбук в спящий режим, то после возвращения в активный режим порт Ethernet более не функционирует. Индикатор питания по-прежнему светится, а светодиод активности все еще мигает, но, похоже, в порт не поступает и его не покидает ни единый бит. Все остальные компоненты после выхода из режима спячки функционируют безупречно, но необходимость перезагружать компьютер, чтобы восстановить соединение Ethernet, изрядно досаждает.
В электронной документации изготовителя о подобной проблеме ничего не говорится, поэтому я думал, что мне случайно достался компьютер с неисправной микросхемой Ethernet, пока не обнаружил команду Powercfg -devicequery. В командной строке с расширенными полномочиями я ввел
powercfg -devicequery wake_from_any
Эта команда выполняет инвентаризацию аппаратных средств компьютера и показывает устройства, которые могут переходить в спящий режим и возвращаться из него. Угадайте, какого компонента не было в списке? Не стоит отчаиваться, если выяснится, что часть оборудования отсутствует: насколько я понял, способность устройства переходить в спящий режим обычно определяется возможностями драйвера, подготовленного изготовителем, а не характеристиками самого устройства.
Утилита Powercfg для Vista/Windows Server 2008 в целом полезнее версии для XP, но один аспект новой реализации неудобен: повсеместное использование глобальных уникальных идентификаторов (GUID) вместо понятных названий схем питания и параметров энергопотребления Power saver. Например, как в моем случае, не ладится работа с виртуальными машинами (VM) в режиме энергосбережения: по какой-то причине виртуальные машины блокированы, и нужно полностью удалить схему. Хорошо было бы просто ввести
powercfg -delete "power saver"
но это невозможно. Требуется ввести
powercfg -delete a1841308–3541–4fab-bc81-f71556f20b4a
Я не предлагаю действительно сделать это, но такой прием ограждает от неприятностей. Легко догадаться, что a1841308–3541–4fab-bc81-f71556f20b4a — идентификатор GUID схемы Power saver. Обратите внимание, что Powercfg, вероятно, единственная утилита Windows, в которой идентификатор GUID не заключается в фигурные скобки. Список схем электропитания и их идентификаторов GUID можно получить с помощью команды
powercfg -l
l — строчная буква «L», а не цифра «1». Кажется, эти идентификаторы GUID одинаковы на всей платформе Windows — даже в Windows 7 (по крайней мере, в первой бета-версии). Если знать, как получить идентификатор GUID схемы электропитания, не составляет труда понять параметры Powercfg. Мы уже познакомились с параметром удаления (-d). С помощью параметра -setactive можно переключить компьютер в определенный режим энергопотребления. Например, команда
powercfg -setactive 8c5e7fda-e8bf-4a96–9a85-a6e23a8c635c
назначает схему высокой производительности High performance. Аналогично текущую схему электропитания можно выяснить с помощью команды
powercfg -getactivescheme
которая возвращает как идентификатор GUID, так и имя.
Для подготовки собственной новой схемы пригодятся параметры duplicatescheme и -changename. Например, если требуется создать новую схему электропитания, которая представляет собой просто вариант схемы High performance, введите
powercfg -duplicatescheme 8c5e7fda-e8bf-4a96–9a85-a6e23a8c635c
Power Scheme GUID: 77d5b6b8-ea68-4a1f-84e3–71e001ebc159
(High performance).
В ответ передаются идентификатор GUID новой схемы и прежнее имя (High performance). Наличие двух схем с одним именем вносит некоторую путаницу, поэтому имя можно изменить:
powercfg -changename 77d5b6b8-ea68–4a1f-84e3–71e001ebc159
"Modified high performance"
Но этим все возможности Powercfg не исчерпываются. О других функциях будет рассказано в следующей статье.
Марк Минаси (mark@minasi.com) — редактор Windows IT Pro, MCSE и автор книги Mastering Windows Server 2003 (издательство Sybex)