{"id":238,"date":"2011-01-14T22:35:03","date_gmt":"2011-01-14T21:35:03","guid":{"rendered":"http:\/\/eriz.pcinside.pl\/weblog\/wybudzanie-komputera-i-harmonogram-zadan-w-windows-7-238.html"},"modified":"2011-01-14T22:35:03","modified_gmt":"2011-01-14T21:35:03","slug":"wybudzanie-komputera-i-harmonogram-zadan-w-windows-7","status":"publish","type":"post","link":"https:\/\/eriz.pcinside.pl\/weblog\/wybudzanie-komputera-i-harmonogram-zadan-w-windows-7-238.html","title":{"rendered":"Wybudzanie komputera i harmonogram zada\u0144 w Windows 7"},"content":{"rendered":"<p>Ciekawi mnie, ile os\u00f3b nie-technicznych wie o tym, czy istnieje i do czego s\u0142u\u017cy tw\u00f3r zwany Task Schedulerem, czy po polsku Harmonogramem Zada\u0144. Techniczni na pewno wiedz\u0105 o tym, \u017ce istnieje mo\u017cliwo\u015b\u0107 automatyzacji pewnych zada\u0144 w systemie, nie tylko w Windows.<\/p>\n<p>Ale zdziwiony by\u0142em, jak pot\u0119\u017cne si\u0119 sta\u0142o to narz\u0119dzie na przestrzeni r\u00f3\u017cnych wersji Windows. Odkry\u0142em to przypadkowo &#8211; chcia\u0142em odpala\u0107 aplikacj\u0119 zaraz po wybudzeniu komputera ze stanu u\u015bpienia. Nie da si\u0119? B\u0142\u0105d: da si\u0119!<\/p>\n<p><!--more--><\/p>\n<p>W innych systemach jest od dawna co\u015b takiego &#8211; kto\u015b z u\u017cytkownik\u00f3w system\u00f3w POSIX-owych nie s\u0142ysza\u0142 o Cronie? No w\u0142a\u015bnie. <img src=\"https:\/\/eriz.pcinside.pl\/weblog\/wp-includes\/images\/smilies\/e_wink.png\" alt=\";)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> S\u0119k w tym, \u017ce windowsowa edycja tego potworka ostatnio s\u0142u\u017cy do czego\u015b wi\u0119cej ni\u017c tylko do uruchamiania zada\u0144 o podanej godzinie.<\/p>\n<p>Od ostatnich wersji Windows, Harmonogram potrafi reagowa\u0107 na zdarzenia dopisywane do systemowego Dziennika Zdarze\u0144. Zupe\u0142nie jak skrypty monitoruj\u0105ce dzienniki w POSIX-ach. Przyznam, \u017ce do Windows XP DZ by\u0142 traktowany przez niekt\u00f3re aplikacje po macoszemu i nie by\u0142o czego\u015b ujednoliconego jak to jest w przypadku np. Linuksa. Jednak obecnie wreszcie udaje si\u0119 ogarn\u0105\u0107 ca\u0142y ten chaos.<\/p>\n<p>Harmonogram zada\u0144 jest dost\u0119pny w Zarz\u0105dzaniu Komputerem (<em>compmgmt.msc<\/em>).<\/p>\n<p><!-- group 1 --><\/p>\n<p class=\"images\"><a href=\"\/weblog\/stuff\/238-wybudzanie-komputera-i-harmonogram-zadal-w-windows-7-1.png\" rel=\"imagebox-1\" title=\"\"><img decoding=\"async\" src=\"\/weblog\/stuff\/238-wybudzanie-komputera-i-harmonogram-zadal-w-windows-7-1-thumb.jpg\" alt=\"\" style=\"width:160px;height:100px;\" \/><\/a> <\/p>\n<p>Dodawanie nowego zadania nie jest specjalnie trudne &#8211; pod warunkiem, \u017ce wiemy, czego chcemy. Wszystko jest do\u015b\u0107 intuicyjnie zaprojektowane, co mnie pocz\u0105tkowo troch\u0119 zdziwi\u0142o, poniewa\u017c tego typu narz\u0119dzia zwykle by\u0142y nieprzyjemne w u\u017cytkowaniu&#8230;<\/p>\n<h3>uruchamianie po wybudzeniu<\/h3>\n<p>Kto\u015b powie, <q>po co?<\/q>. Mo\u017ce by\u0107 multum r\u00f3\u017cnych sytuacji &#8211; czy zrestartowanie programu, zapisanie nowego IP, wiele innych. Najbardziej mnie przera\u017ca\u0142a kwestia wykorzystania osobnej aplikacji do sprawdzania, czy komputer zosta\u0142 wybudzony, b\u0105d\u017a nie.<\/p>\n<p>A\u017c w pewnym momencie dozna\u0142em o\u015bwiecenia &#8211; przecie\u017c Harmonogram by\u0142 ostatnio odpicowany. Pogrzeba\u0142em co nieco, czy nie by\u0142o zdarzenia pozwalaj\u0105cego na wykonanie akcji przy wybudzeniu. Niestety, nie by\u0142o. Znalaz\u0142em za to innego potwora:<\/p>\n<p><!-- group 2 --><\/p>\n<p class=\"images\"><a href=\"\/weblog\/stuff\/238-wybudzanie-komputera-i-harmonogram-zadal-w-windows-7-2.png\" rel=\"imagebox-2\" title=\"\"><img decoding=\"async\" src=\"\/weblog\/stuff\/238-wybudzanie-komputera-i-harmonogram-zadal-w-windows-7-2-thumb.jpg\" alt=\"\" style=\"width:160px;height:75px;\" \/><\/a> <\/p>\n<p>Co oznacza ten zrzut? Ano to, \u017ce mo\u017cemy monitorowa\u0107 systemowe Dzienniki Zdarze\u0144 na podstawie konkretnego wyst\u0105pienia, \u017ar\u00f3d\u0142a oraz rodzaju. R\u00f3wnie\u017c po XML (dla mnie troch\u0119 przerost formy nad tre\u015bci\u0105, ale&#8230;). I w tym momencie pozbiera\u0142em \u017cuchw\u0119 z pod\u0142ogi, ale zaraz &#8211; mam ju\u017c czym sprawdza\u0107, czy wybrane zdarzenie wyst\u0105pi\u0142o, czy nie, ale czy system dopisuje co\u015b nam odpowiadaj\u0105cego. No to zajrzyjmy do dziennik\u00f3w (<em>eventvwr.msc<\/em>):<\/p>\n<p><!-- group 3 --><\/p>\n<p class=\"images\"><a href=\"\/weblog\/stuff\/238-wybudzanie-komputera-i-harmonogram-zadal-w-windows-7-3.png\" rel=\"imagebox-3\" title=\"\"><img decoding=\"async\" src=\"\/weblog\/stuff\/238-wybudzanie-komputera-i-harmonogram-zadal-w-windows-7-3-thumb.jpg\" alt=\"\" style=\"width:143px;height:120px;\" \/><\/a> <\/p>\n<p>Okazuje si\u0119, \u017ce system jednak tworzy zdarzenie przyporz\u0105dkowane wybudzeniu komptera. To teraz wykorzystajmy je do w\u0142asnego celu. Tworzymy nowe zadanie, ale jako wyzwalacz wybieramy <em>zdarzenie<\/em>. Teraz pozostaje poda\u0107 jego parametry.<\/p>\n<p>I tu nie kumam jednego &#8211; w Dzienniku Zdarze\u0144 nazwy s\u0105 nieco inne od tych, kt\u00f3re mamy dost\u0119pne na li\u015bcie wyzwalacza. Aby uruchomi\u0107 zadanie po wybudzeniu komputera ze stanu u\u015bpienia\/hibernacji, podajem parametry:<\/p>\n<ul>\n<li><strong>Dziennik<\/strong>: Microsoft-Windows-Kernel-Power\/Thermal-Operational<\/li>\n<li><strong>\u0179r\u00f3d\u0142o<\/strong>: Kernel-Power<\/li>\n<li><strong>ID zdarzenia<\/strong>: 1<\/li>\n<\/ul>\n<p><!-- group 4 --><\/p>\n<p class=\"images\"><a href=\"\/weblog\/stuff\/238-wybudzanie-komputera-i-harmonogram-zadal-w-windows-7-4.png\" rel=\"imagebox-4\" title=\"\"><img decoding=\"async\" src=\"\/weblog\/stuff\/238-wybudzanie-komputera-i-harmonogram-zadal-w-windows-7-4-thumb.jpg\" alt=\"\" style=\"width:138px;height:120px;\" \/><\/a> <\/p>\n<p>Zatwierdzamy metod\u0105 ceg\u0142y-na-enterze nasze zadanie i dokonujemy jazdy pr\u00f3bnej. <img src=\"https:\/\/eriz.pcinside.pl\/weblog\/wp-includes\/images\/smilies\/e_wink.png\" alt=\";)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/> Dzia\u0142a? <img src=\"https:\/\/eriz.pcinside.pl\/weblog\/wp-includes\/images\/smilies\/e_wink.png\" alt=\";)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/p>\n<h3>niedor\u00f3bki<\/h3>\n<p>Sam spos\u00f3b sprawdza si\u0119 wy\u015bmienicie, jednak interfejs jest, momentami, troch\u0119 niedorobiony &#8211; np. przy zaawansowanym filtrowaniu zdarze\u0144, po zapisaniu, mamy mo\u017cliwo\u015b\u0107 wy\u0142\u0105cznie edycji zapyta\u0144 XPath, ju\u017c nie wyklikamy ustawie\u0144. Warto o tym pami\u0119ta\u0107.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ciekawi mnie, ile os\u00f3b nie-technicznych wie o tym, czy istnieje i do czego s\u0142u\u017cy tw\u00f3r zwany Task Schedulerem, czy po polsku Harmonogramem Zada\u0144. Techniczni na pewno wiedz\u0105 o tym, \u017ce istnieje mo\u017cliwo\u015b\u0107 automatyzacji pewnych zada\u0144 w systemie, nie tylko w Windows. Ale zdziwiony by\u0142em, jak pot\u0119\u017cne si\u0119 sta\u0142o to narz\u0119dzie na przestrzeni r\u00f3\u017cnych wersji Windows. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[48,40,121],"_links":{"self":[{"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/posts\/238"}],"collection":[{"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/comments?post=238"}],"version-history":[{"count":0,"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/posts\/238\/revisions"}],"wp:attachment":[{"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/media?parent=238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/categories?post=238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eriz.pcinside.pl\/weblog\/wp-json\/wp\/v2\/tags?post=238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}