<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7167591709146090076</id><updated>2011-10-08T12:49:56.802+02:00</updated><category term='proces'/><category term='Bruce Payette'/><category term='interesting scripts'/><category term='SMS 2003'/><category term='web'/><category term='Jeffrey Snover'/><category term='Connect'/><category term='registry'/><category term='knihy'/><category term='PowerShellPlus'/><category term='PowerGUI'/><category term='PowerScripting Podcast'/><category term='presentation'/><category term='Get-PSNews'/><category term='LN'/><category term='module'/><category term='cmdlet'/><category term='šelík'/><category term='WMI'/><category term='-Path'/><category term='PowerPack'/><category term='v2'/><category term='Get-Help'/><category term='zajímavé skripty'/><category term='Get-Command'/><category term='commonParameters'/><category term='Quest'/><category term='Vutukuri'/><category term='Video'/><category term='ise'/><category term='kurzy'/><category term='contest'/><category term='CTP3'/><category term='PowerShellPack'/><category term='-object'/><category term='služby'/><category term='Write-Progress'/><category term='Scripting Games'/><category term='James Brundage'/><category term='COM'/><category term='anketa'/><category term='Channel9'/><category term='Challenge'/><category term='datum'/><category term='Editor'/><category term='Sapien tools'/><category term='-f'/><category term='Bleskovky'/><category term='System.Guid'/><category term='VMware'/><category term='System.Math'/><category term='recenze'/><category term='špeky'/><category term='hlasovani'/><category term='FileSystem'/><category term='PSRemoteTools'/><category term='IE'/><category term='fun'/><category term='event log'/><category term='TechNet'/><category term='AD'/><category term='.NET'/><title type='text'>PowerShell CZ</title><subtitle type='html'>Informace o PowerShellu v češtině</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default?start-index=101&amp;max-results=100'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>109</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7744409249023697125</id><published>2011-01-09T12:30:00.001+01:00</published><updated>2011-01-09T12:32:20.047+01:00</updated><title type='text'>Blog přesunut</title><content type='html'>Od 1.ledna 2011 jsem se přesunul na adresu &lt;a href="http://www.powershell.cz"&gt;powershell.cz&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7744409249023697125?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7744409249023697125/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7744409249023697125' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7744409249023697125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7744409249023697125'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2011/01/blog-presunut.html' title='Blog přesunut'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-239600542934226102</id><published>2010-04-27T09:26:00.000+02:00</published><updated>2010-04-27T09:27:50.180+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘16’}</title><content type='html'>&lt;p&gt;Minulý týden se na události vyvedl, takže pojďme rovnou na věc.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Velice pěkný tip od Shaye Levyho, &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/04/18/quicktip-how-long-since-a-file-was-last-written-to_3F00_.aspx"&gt;jak  využít cmdlet New-TimeSpan&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Vyšla osmá část seriálu o PowerShellu v českém TechNet Flash zpravodaji.  Tentokrát od &lt;a href="http://twitter.com/stejcz"&gt;@stejcz&lt;/a&gt; na téma &lt;a href="http://blogs.technet.com/technetczsk/pages/serial-windows-powershell-tipy-a-triky-cast-8.aspx"&gt;tipy  a triky&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Pěkné shrnutí argumentů, se kterými můžete spouštět powershell.exe v článku  &lt;a href="http://technet.microsoft.com/cs-cz/magazine/ff629472(en-us).aspx?utm_source=twitterfeed&amp;amp;utm_medium=ping.fm"&gt;More  Powerful Ways to Launch Windows PowerShell&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Vynikající zpráva. Microsoft dokončil oficiální MOC kurz pro PowerShell.  Více v &lt;a href="http://www.windowsitpro.com/blogs/PowerShellwithaPurpose/tabid/2248/entryid/12724/Default.aspx"&gt;článku  od Dona Jonese&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Hezká věcička na pracovní stůl: &lt;a href="http://blogs.technet.com/stefan_stranger/archive/2010/04/20/windows-powershell-quick-reference.aspx"&gt;Windows  PowerShell Quick Reference&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Vyšla 17. epizoda &lt;a href="http://get-scripting.blogspot.com/2010/04/get-scripting-podcast-episode-17-dr.html"&gt;Get-Scripting  Podcastu&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Jonathan Medd publikoval pro simple-talk článek na téma &lt;a href="http://www.simple-talk.com/sysadmin/powershell/new-remoting-features-in-powershell-2.0/"&gt;New  Remoting Features in PowerShell 2.0&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;a href="http://outputredirection.blogspot.com/2010/04/display-powershell-sessions-ram-and-cpu.html"&gt;Zajímavý  skriptík&lt;/a&gt; na &lt;a href="http://outputredirection.blogspot.com/"&gt;Output  Redirection&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Minulý týden probíhala &lt;a href="http://www.mms-2010.com/"&gt;konference MMS&lt;/a&gt;  a na &lt;a href="http://blogs.msdn.com/powershell"&gt;webu PowerShell týmu&lt;/a&gt; se v  této souvislosti objevila &lt;a href="http://blogs.msdn.com/powershell/archive/2010/04/23/mms-partner-presentation-windows-management-framework.aspx"&gt;tato  prezentace&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;Poslední dva týdny jsem se vcelku intenzivně zabýval remotingem a docela mě  štvalo, že na svém vlastním netbooku jsem ho pořád nebyl schopen rozběhnout.  Nakonec mi pomohl článek &lt;a href="http://blogs.msdn.com/wmi/archive/2009/07/24/powershell-remoting-between-two-workgroup-machines.aspx"&gt;PowerShell  Remoting between two workgroup machines&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;a href="http://pauerschell.blogspot.com/"&gt;Bernd Kriszio&lt;/a&gt; je poslední  dobou hodně vidět. Přinesl pěknou kolekci linků na téma &lt;a href="http://pauerschell.blogspot.com/2010/04/wpf-linkcollection-for-powershell.html"&gt;WPF  in PowerShell&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;a href="https://www323.livemeeting.com/cc/usergroups/view?id=B3FG29&amp;amp;pw=Zft%25D4B7H"&gt;Nahrávka&lt;/a&gt;  posledního UK PSUG meetingu na téma moduly.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Aktuální týden bude hodně zajímavý. Nezapomeňte, že už běží &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/04/26/2010-scripting-games-all-links-on-one-page.aspx"&gt;2010  Scripting Games&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-239600542934226102?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/239600542934226102/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=239600542934226102' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/239600542934226102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/239600542934226102'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/04/get-psnews-week-eq-16.html' title='Get-PSNews |? {$_.Week –eq ‘16’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4111451544096400201</id><published>2010-04-18T21:57:00.001+02:00</published><updated>2010-04-18T21:57:16.119+02:00</updated><title type='text'>Get-PSNews |? {$_.Week –eq ‘15’}</title><content type='html'>&lt;p&gt;Minulý týden byl na události o něco bohatší.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;PowerScripting Podcast byl tentokrát na téma &lt;a href="http://powerscripting.wordpress.com/2010/04/11/episode-109-v2-expert-panel/"&gt;v2 Expert Panel&lt;/a&gt;. Hosty byli mimojiné Jeffrey Snover, Joel Bennett, Thomas Lee nebo Alexander Nikolic.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://poshcode.org/1772"&gt;Proxy funkce k cmdletu Get-Help&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Krátký tip nazvaný &lt;a href="http://technodrone.blogspot.com/2010/04/those-annoying-thing-in-powershell.html"&gt;Those annoying thing in PowerShell&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Na Hey, Scripting Guy! blog byl &lt;a href="http://blogs.technet.com/heyscriptingguy/default.aspx"&gt;týden věnovaný WMI eventům&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Don Jones se v TechNet Magazínu &lt;a href="http://technet.microsoft.com/en-us/magazine/ff625835.aspx"&gt;věnoval modulům&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Krátký příspěvek na téma &lt;a href="http://www.sqlservercentral.com/blogs/brian_kelley/archive/2010/04/14/why-i-have-had-a-hard-time-adopting-powershell.aspx"&gt;Why I Have Had a Hard Time Adopting PowerShell&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;V pátek jsem se zůčastnil &lt;a href="http://www.pc-ware.com/pcw/cz/cz/nase_sluzby/podpora/snidane1.htm"&gt;Snídaně se supportem na téma PowerShell&lt;/a&gt;. Z celé akce mám trochu rozporuplné pocity. Program pokrýval většinu zajímavostí v PowerShellu v2, ale občas mi přišlo, že prezentující měl sám v některých tématech nejasno. Ke cti mu lze ale přičíst, že některé věci rovnou přiznal a nezkoušel nás “oblafnout” (např. u SQL Serveru).&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Poslední novinkou uplynulého týdne je to, že mi byla schválena účast na &lt;a href="http://www.teched.cz/"&gt;TechEd&lt;/a&gt;-u. Pokud si někdo třeba chce pokecat o PowerShellu u oběda nebo u pivka, můžeme udělat nějaký mini event :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4111451544096400201?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4111451544096400201/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4111451544096400201' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4111451544096400201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4111451544096400201'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/04/get-psnews-week-eq-15.html' title='Get-PSNews |? {$_.Week –eq ‘15’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3634209359748054827</id><published>2010-04-14T14:07:00.002+02:00</published><updated>2010-04-14T14:12:57.731+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knihy'/><title type='text'>PowerShell kniha v češtině</title><content type='html'>Patrik Malina svém blogu &lt;a href="http://malina.bloguje.cz/844020-nova-kniha-o-powershellu-2-dopsana.php"&gt;oznámil&lt;/a&gt;, že druhé vydání jeho knihy o PowerShellu je připravena k tisku. Svým rozsahem (&lt;span class="Apple-style-span" style="font-family: 'trebuchet MS', trebuchet, verdana, arial, sans-serif; font-size: 12px; color: rgb(51, 51, 51); "&gt;Celkový rozsah obou svazků bude přes 800 stran&lt;/span&gt;) a hlavně výkladem si myslím, že půjde o primární zdroj pro všechny české PowerShell nadšence.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nemůžu se dočkat :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3634209359748054827?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3634209359748054827/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3634209359748054827' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3634209359748054827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3634209359748054827'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/04/powershell-kniha-v-cestine.html' title='PowerShell kniha v češtině'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8691386514728335772</id><published>2010-04-13T14:50:00.003+02:00</published><updated>2010-04-13T15:08:15.159+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘14’}</title><content type='html'>Tak jestli jsem si myslel, že předminulý týden nebyl na události bohatý, ten poslední se také moc nevyvedl. Možná to bylo způsobeno tím, že jsem začal připravovat přesun tohoto blogu na vlastní doménu. Současný stav je takový, že jsem všechny příspěvky přesunul na platformu WordPress, vybral jsem téma (Mystique) a nyní upravuji design a připravuji novou strukturu. Po přesunu bych chtěl zároveň přejít kompletně na angličtinu (zřejmě mimo Mistra Šelíka). Pokud byste někdo chtěl poslat link na novou verzi (a pomoci mi jako testovací uživatel), dejte mi vědět přes Twitter (&lt;i&gt;@makovec&lt;/i&gt;) nebo mailem (&lt;i&gt;powershell(tečka)cz(zavináč)googlemail(dot)com&lt;/i&gt;).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nyní ale tedy k těm několika málo novinkám.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Jaký je &lt;a href="http://blogs.technet.com/josebda/archive/2010/04/08/powershell-v2-get-date-vs-system-datetime-now-what-s-the-difference.aspx"&gt;rozdíl mezi použitím Get-Date a [System.Datetime]::Now&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://huddledmasses.org/"&gt;Joel Bennett&lt;/a&gt; postnul na &lt;a href="http://poshcode.org"&gt;PoShCode.org&lt;/a&gt; &lt;a href="http://poshcode.org/1752"&gt;pěkný logovací modul&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/stejcz"&gt;@stejcz&lt;/a&gt; jej hned použil pro &lt;a href="http://leporelo.eu/blog.aspx?id=reading-powershell-logs-from-logger-module-in-real-time"&gt;hezkou ukázku logování&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Pokud spravujete DNS, může se vám hodit &lt;a href="http://code.msdn.microsoft.com/dnsshell"&gt;DnsShell&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;To je protentokrát opravdu vše.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8691386514728335772?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8691386514728335772/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8691386514728335772' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8691386514728335772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8691386514728335772'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/04/get-psnews-week-eq-14.html' title='Get-PSNews |? {$_.Week –eq ‘14’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4023663990260705655</id><published>2010-04-09T12:51:00.002+02:00</published><updated>2010-04-09T13:17:59.006+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><title type='text'>Hej, mistře Šelíku!</title><content type='html'>&lt;p&gt;Mist Šelík dohání to, co v minulých měsících zameškal a má před sebou nový Skriptíkův problém. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_Ni46JsIL9eA/S78GvEU1zxI/AAAAAAAAAVw/GHf8NG59CqY/s1600-h/image3.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="267" alt="image" src="http://lh4.ggpht.com/_Ni46JsIL9eA/S78GwFSon8I/AAAAAAAAAV0/lThjdft6740/image_thumb1.png?imgmax=800" width="567" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Máme několik možností.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Použít WScript.Network&lt;/strong&gt;&lt;/p&gt;  &lt;p class="code"&gt;PS C:\&amp;gt; (New-Object -Com WScript.Network).RemovePrinterConnection('\\server\Printer007')&lt;/p&gt;  &lt;p&gt;Rychlé a účinné. Vytvoříme si nový objekt a okamžitě voláme jeho metodu &lt;a href="http://msdn.microsoft.com/en-us/library/tsbh2yy7(VS.85).aspx"&gt;RemovePrinterConnection&lt;/a&gt;. Potřebujeme vědět jenom jméno tiskárny. Předchzí řádku můžeme také rozepsat do (pro někoho možná srozumitelnější) formy jako:&lt;/p&gt;  &lt;p class="code"&gt;PS C:\&amp;gt; $printerName = '\\server\Printer007'   &lt;br /&gt;PS C:\&amp;gt; $obj = New-Object -ComObject WScript.Network    &lt;br /&gt;PS C:\&amp;gt; $obj.RemovePrinterConnection($printerName)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Použití akcelerátoru [wmi]&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Poněkud složitější konstrukce:&lt;/p&gt;  &lt;p class="code"&gt;PS C:\&amp;gt; [wmi](gwmi Win32_Printer -Filter 'Name LIKE "%Printer007%"').Delete()&lt;/p&gt;  &lt;p&gt;kterou můžeme opět rozepsat jako:&lt;/p&gt;  &lt;p class="code"&gt;PS C:\&amp;gt; $prn = Get-WmiObject Win32_Printer -Filter 'Name LIKE "%Printer007%"'   &lt;br /&gt;PS C:\&amp;gt; [wmi]$prn.Delete()&lt;/p&gt;  &lt;p&gt;V tomto případě si nejdříve do proměnné uložíme hledanou tiskárnu. Používáme parametr Filter, protože dotaz je rychlejší než při použití cmdletu Where-Object (&lt;em&gt;Get-WmiObject Win32_Printer |Where-Object {$_.Name -like '*Printer007*'}&lt;/em&gt;). Pozor na jednu věc: ve filtru musíme použít znak ‘%’ jelikož se jedná vlastně o &lt;a href="http://msdn.microsoft.com/en-us/library/aa394606(v=VS.85).aspx"&gt;WQL&lt;/a&gt; dotaz prováděný na úrovni WMI. &lt;/p&gt;  &lt;p&gt;Ve druhém řádku již voláme metodu Delete() a pomocí [wmi] vlastně provádíme “přetypování” na objekt &lt;a href="http://msdn.microsoft.com/en-us/library/system.management.managementobject_methods(v=VS.90).aspx"&gt;System.Management.ManagementObject&lt;/a&gt;, který metodu &lt;a href="http://msdn.microsoft.com/en-us/library/a2k71172(v=VS.90).aspx"&gt;Delete()&lt;/a&gt; obsahuje.&lt;/p&gt;  &lt;p&gt;Ačkoli VBS moc rád nemám, v tomto případě bych asi osobně zvolil první možnost, která mi přijde jednodušší a pochopitelnější.&lt;/p&gt;&lt;p&gt;Banner mistra Skriptíka je stažen ze stránek &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash zpravodaje&lt;/a&gt;. Děkuji týmu TechNetu za možnost jeho použití pro potřeby tohoto článku.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4023663990260705655?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4023663990260705655/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4023663990260705655' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4023663990260705655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4023663990260705655'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/04/hej-mistre-seliku.html' title='Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_Ni46JsIL9eA/S78GwFSon8I/AAAAAAAAAV0/lThjdft6740/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-417366754492517842</id><published>2010-04-07T12:34:00.002+02:00</published><updated>2010-04-07T12:50:41.469+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><title type='text'>Hej, mistře Šelíku!</title><content type='html'>&lt;p&gt;Po delší odmlce se opět vrátil mistr Šelík, aby pomohl Skriptíkovi s následujícím problémem.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_Ni46JsIL9eA/S7xfpmQVvYI/AAAAAAAAAVo/bCFg9RbnWZI/s1600-h/image3.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="259" alt="image" src="http://lh3.ggpht.com/_Ni46JsIL9eA/S7xfqvzAwGI/AAAAAAAAAVs/SR71oE8ZxXo/image_thumb1.png?imgmax=800" width="564" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Jelikož si Šelík už samozřejmě nainstaloval PowerShell v2, stačí tento jednoduchý příkaz:&lt;/p&gt;  &lt;p class="code"&gt;PS C:\&amp;gt; Invoke-Command –ComputerName remoteComp –ScriptBlock {mkdir c:\Temp\NewFolder}&lt;/p&gt;  &lt;p&gt;Tradáá. Pro fungování předchozího příkazu potřebujete dvě věci: Nastavený remoting a správná práva pro přístup ke vzdálenému počítači. Chcete-li se o vzdáleném přístupu dozvědět více, zkuste se podívat na jednu z následujících příruček:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://powershell.com/cs/media/p/4908.aspx"&gt;Administrator's Guide to Windows PowerShell Remoting&lt;/a&gt; (nutná registrace) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.ravichaganti.com/blog/?p=1305"&gt;Layman’s guide to PowerShell 2.0 remoting&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Banner mistra Skriptíka je stažen ze stránek &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash zpravodaje&lt;/a&gt;. Děkuji týmu TechNetu za možnost jeho použití pro potřeby tohoto článku.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-417366754492517842?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/417366754492517842/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=417366754492517842' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/417366754492517842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/417366754492517842'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/04/hej-mistre-seliku-new-folder.html' title='Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_Ni46JsIL9eA/S7xfqvzAwGI/AAAAAAAAAVs/SR71oE8ZxXo/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5970291189248691605</id><published>2010-04-06T13:53:00.001+02:00</published><updated>2010-04-06T13:53:21.236+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘13’}</title><content type='html'>&lt;p&gt;Oproti předchozím týdnům byl ten uplynulý vcelku klidný (možná díky všeobecné velikonoční náladě). Přesto se našla jedna hlavní zprváva, kterou uvádím hned jako první).&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;1.4. byl obnoven titul MVP pro následující lidi: &lt;a href="http://dougfinke.com/blog/"&gt;Doug Finke&lt;/a&gt; a &lt;a href="http://richardsiddaway.spaces.live.com/"&gt;Richard Siddaway&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Zároveň máme dva nové MVP! Jsou jimi &lt;a href="http://www.jonathanmedd.net/"&gt;Jonathan Medd&lt;/a&gt; a &lt;a href="http://ye110beard.spaces.live.com/blog/"&gt;Sean Kearney&lt;/a&gt;. Oba dva jsou aktivními blogery, pokud je chcete sledovat na Twitteru, ze jsou jejich účty: &lt;a href="http://twitter.com/jonathanmedd/"&gt;@janathanmedd&lt;/a&gt; a &lt;a href="http://twitter.com/energizedtech/"&gt;@energizedtech&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Pokud chcete na Twitter sledovat všechny aktuální MVP, podívejte se na &lt;a href="http://twitter.com/alexandair/powershellmvp"&gt;tento list&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Zajímavý skript na &lt;a href="http://gallery.technet.microsoft.com/ScriptCenter/en-us/bc15444a-9490-4115-aa40-76d898041724"&gt;konverzi obrázku do “ASCII Art”&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Pokud vytváříte cmdlety, může se vám hodit nástroj &lt;a href="http://code.msdn.microsoft.com/FxCopPowerShellRules"&gt;FxCOP Rules for Windows PowerShell&lt;/a&gt;. Krátký popis je i na &lt;a href="http://blogs.msdn.com/powershell/archive/2010/03/30/testing-cmdlets-with-fxcop.aspx"&gt;blogu PowerShell&lt;/a&gt; týmu.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Pro dnešek to bude opravdu vše. Snad se příště urodí více novinek.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5970291189248691605?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5970291189248691605/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5970291189248691605' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5970291189248691605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5970291189248691605'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/04/get-psnews-week-eq-13.html' title='Get-PSNews |? {$_.Week –eq ‘13’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6993456649832625374</id><published>2010-03-28T22:15:00.001+02:00</published><updated>2010-03-28T22:15:13.118+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘12’}</title><content type='html'>&lt;p&gt;V příjemném nedělním večeru jsem zde opět s pravidelnou dávkou novinek ze světa PowerShellu. Uplynulý týden byl pro mne hodně zajímavý. Mimoto, že jsem dokončil tvorbu prvních cmdletů, vrhl jsem se na pokus s vytvořením provideru pro můj oblíbený Systems Management Server. Zároveň jsem se podíval na podrobnou revizi některých částí dokumentace PowerShellu. K tomu probíhá review knihy &lt;a href="http://powershell.labs.oreilly.com/index.html"&gt;PowerShell Cookbook&lt;/a&gt; a dnes ráno uvolnil Manning Press poslední část knihy &lt;a href="http://manning.com/siddaway/"&gt;PowerShell in Practice&lt;/a&gt;. Musím říct, že jsem se nenudil a nudit se asi ani nebudu. Zároveň jsem začal postupně zpracovávat své poznámky, ve kterých jsem si poznamenal tipy na články. Doufám, že se mi vše povede postupně převést do písmenek :) Dost bylo mého výlevu, pojďme na novinky.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Jistě jste si všimli, že jsem na stránky přidal ikonku oznamující letošní &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/tags/2010+Scripting+Games/default.aspx"&gt;Scripting Games&lt;/a&gt;. Ze své vlastní zkušenosti mohu účast jen doporučit. Zvlášť když se letos bude účastnit i úplný začátečník – &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/03/27/hey-scripting-guy-march-27-2010.aspx"&gt;Scripting Wife&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;V jednom z předchozím článků jsem psal o &lt;a href="http://sqlpsx.codeplex.com/Wikipage"&gt;SQLPSX&lt;/a&gt;. Jeho autor – &lt;a href="http://sev17.com/"&gt;Chad Miller&lt;/a&gt; – byl hostem &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/03/27/hey-scripting-guy-march-27-2010.aspx"&gt;PowerScripting podcastu&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;O &lt;a href="http://stackoverflow.com/questions/363884/what-does-the-symbol-do-in-powershell"&gt;použití @&lt;/a&gt; na &lt;a href="http://stackoverflow.com/"&gt;stackoverflow&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Moc pěkný příspěvek &lt;a href="http://max-pit.spaces.live.com/default.aspx"&gt;Maxe Trinidada&lt;/a&gt; na téma &lt;a href="http://max-pit.spaces.live.com/Blog/cns!A034D6A0DDC4E64E!978.entry"&gt;automaticky generované heslo&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Celý uplynulý týden vycházely na &lt;a href="http://blogs.technet.com/heyscriptingguy/default.aspx"&gt;Hey, Scripting Guy!&lt;/a&gt; blogu články od PowerShell MVPs.&lt;/li&gt;    &lt;li&gt;Myslel jsem si, že zde následující odkazy nebudu uvádět, ale na druhou stranu, proč ne. &lt;a href="http://powershell-cz.blogspot.com/2010/01/recenze-windows-powershell-20-best.html"&gt;Již jsem&lt;/a&gt; psal o knize &lt;a href="http://blogs.msdn.com/microsoft_press/archive/2009/12/16/new-book-windows-powershell-2-0-best-practices.aspx"&gt;PowerShell Best Practices&lt;/a&gt; (a odkazoval na &lt;a href="http://blogs.msdn.com/microsoft_press/archive/2010/01/14/ed-wilson-developing-windows-powershell-best-practices-book.aspx"&gt;Edovu reakci&lt;/a&gt;). Můžete si přečíst další recenze od &lt;a href="http://blogs.technet.com/jamesone/archive/2010/03/16/book-review-windows-powershell-2-0-best-practices-ed-wilson.aspx"&gt;Jamese O’Neilla&lt;/a&gt; a &lt;a href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2796.entry"&gt;Richarda Siddawaye&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;To by bylo pro tento týden vše.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6993456649832625374?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6993456649832625374/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6993456649832625374' title='Počet komentářů: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6993456649832625374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6993456649832625374'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/03/get-psnews-week-eq-12.html' title='Get-PSNews |? {$_.Week –eq ‘12’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8024384370052399748</id><published>2010-03-27T15:14:00.017+01:00</published><updated>2010-03-27T17:14:25.791+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShellPack'/><category scheme='http://www.blogger.com/atom/ns#' term='FileSystem'/><category scheme='http://www.blogger.com/atom/ns#' term='module'/><title type='text'>Modul FileSystem</title><content type='html'>Součástí PowerShellPack-u je několik modulů. Jedním z nich je i FileSystem.&lt;div&gt;&lt;b&gt;Poznámka:&lt;/b&gt; Pokud jste ještě &lt;a href="http://code.msdn.microsoft.com/PowerShellPack"&gt;PowerShellPack&lt;/a&gt; nezkoušeli, můžete si jej bezplatně stáhnout. Je také součástí &lt;a href="http://www.microsoft.com/learning/en/us/Books.aspx?Id=13811"&gt;Windows 7 Resource Kit&lt;/a&gt;u. Obsahuje několik zajímavých modulů. Několika z nich se budu v dohledné době na těchto stránkách věnovat.&lt;/div&gt;&lt;div&gt;Pro práci s modulem jej musíme nejdříve importovat.&lt;/div&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\Scripts&gt; Import-Module FileSystem&lt;br /&gt;PS C:\Scripts&gt; Get-Module&lt;br /&gt;&lt;br /&gt;ModuleType Name&lt;br /&gt;---------- ----&lt;br /&gt;Script     FileSystem&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;Příkazy modulem exportované pro použití zjistíme pomocí Get-Command.&lt;/div&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\Scripts&gt; gcm -Module FileSystem | ft Name&lt;br /&gt;&lt;br /&gt;Name&lt;br /&gt;----&lt;br /&gt;Copy-ToZip&lt;br /&gt;Get-DuplicateFile&lt;br /&gt;Get-FreeDiskSpace&lt;br /&gt;Get-SHA1&lt;br /&gt;Mount-SpecialFolder&lt;br /&gt;New-Zip&lt;br /&gt;Rename-Drive&lt;br /&gt;Resolve-ShortcutFile&lt;br /&gt;Start-FileSystemWatcher&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;Pojďme si všechny dostupné příkazy (funkce) projít.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;New-Zip, Copy-ToZip&lt;/b&gt;&lt;/div&gt;&lt;div&gt;New-Zip vytvoří prázdný archiv, do kterého potom můžete přidávat soubory pomocí Copy-ToZip. Vzhledem k tomu, že Copy-ToZip vytvoří archiv, pokud neexistuje, přijde mi New-Zip trochu nepotřebný. Copy-Zip jsem využil opravdu jenom na základní věci. Při komprimování většího množství dat se výsledný archiv choval poněkud zvláštně (špatné cesty, zdvojené soubory, ...).&lt;/div&gt;&lt;div&gt;&lt;b&gt;Rename-Drive&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Jednoduchá funkce, která zapouzdřuje volání třídy Win32_LogicalDisk z WMI. Myslím, že nepřináší nic nového.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Get-FreeDiskSpace&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Zobrazuje volné místo na disku v procentech a absolutně. Bohužel je výstup na první pohled poněkud zvláštní a tak bych doporučil ho mírně formátovat, například takto:&lt;/div&gt;&lt;br /&gt;&lt;p class="code"&gt;(Get-FreeDiskSpace).countersamples |? {$_.instancename -eq 'c:'} | ft -a&lt;br /&gt;&lt;br /&gt;Path                                          InstanceName      CookedValue&lt;br /&gt;----                                          ------------      -----------&lt;br /&gt;\\PC\logicaldisk(c:)\% free space   c:           23,7249711709823&lt;br /&gt;\\PC\logicaldisk(c:)\free megabytes c:                      36210&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;Resolve-ShortcutFile&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Se hodí v případě, že máte soubor s příponou &lt;i&gt;url&lt;/i&gt; a potřebujete zjistit, kam tento soubor odkazuje.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Get-SHA1&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Dle názvu správně hádáte, že výstupem této funkce je hash zadaného souboru. Tuto funkci využívá ta následující.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Get-DuplicateFile&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Pokud máte pocit, že některé soubory máte na disku vícekrát, můžete je pomocí této funkce zjistit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\tmp&gt; Get-DuplicateFile | fl Name, Value&lt;br /&gt;Name  : TlRNG4ETIySjh3rHonlURNSqPtU=&lt;br /&gt;Value : {C:\tmp\2.JPG, C:\ts\tmp\Copy of 2.JPG}&lt;br /&gt;&lt;br /&gt;Name  : veSzujcoGoW+LpjcFAily548z9o=&lt;br /&gt;Value : {C:\tmp\9.JPG, C:\tmp\Copy of 9.JPG}&lt;br /&gt;&lt;br /&gt;Name  : Ddx0Vo+oW0m2oRLB3WmnTmZsP78=&lt;br /&gt;Value : {C:\tmp\0.JPG, C:\tmp\Copy of 0.JPG}&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;Mount-SpecialFolder&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Přidá &lt;a href="http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx"&gt;Special Folders&lt;/a&gt; jako další drives (dostupné pomocí Get-PsDrive). Mimochodem, tato funkce je spouštěna při importu modulu.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Start-FileSystemWatcher&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Kontoroluje souborový systém a při změně spustí zadanou akci. Můžete tedy například sledovat nové soubory v určitém adresáři.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\Scripts&gt; Start-FileSystemWatcher -File .\Secret -On Created `&lt;br /&gt;-Do { $((ls c:\Scripts\Secret | Sort CreationTime -Descending | Select -First 1).FullName) &gt;&gt; c:\zapsano.txt}&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;Při vytvoření jakéhokoli souboru se plný název tohoto souboru zapíše do zapsano.txt. Bohužel má tato funkce jednu obrovskou nevýhodu. Neexistuje k ní Stop-FileSystemWatcher. Takže je na vás použít standardní cmdlety, abyste sledování zastavili.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8024384370052399748?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8024384370052399748/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8024384370052399748' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8024384370052399748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8024384370052399748'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/03/modul-filesystem.html' title='Modul FileSystem'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6280658783228242503</id><published>2010-03-21T22:11:00.004+01:00</published><updated>2010-03-21T22:46:09.041+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘11’}</title><content type='html'>Jak jsem minule skončil, tak dnes začnu. Povíme si také o nových PowerShell prezentacích.&lt;div&gt;&lt;ul&gt;&lt;li&gt;Minule jsem odkazoval na druhé vydání knihy Lee Holmese, PowerShell Cookbook. Mluvil jsem o tom, že začíná její review. Já jsem se přihlásil jako jeden z reviewerů (hezké slovo :). Tento týden uveřejnil Lee na svých stránkách &lt;a href="http://www.leeholmes.com/blog/OpenPowerShellCookbookBetaAvailableOnline.aspx"&gt;oficiální odkaz&lt;/a&gt;, takže pokud chcete, můžete se také přidat a ovlivnit svými poznámkami nové vydání.&lt;/li&gt;&lt;li&gt;Firma Digi Trade pořádá 16.4. krátkou přednášku s tématem PowerShellu, více na jejich stránkách &lt;a href="http://www.pc-ware.com/pcw/cz/cz/digi_seminare/main.htm"&gt;bezplatných seminářů&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Další ročník &lt;a href="http://www.teched.cz"&gt;konference TechEd&lt;/a&gt; se tentokrát bude konat od 26. do 29. dubna. &lt;a href="http://www.teched.cz/program.html"&gt;Program&lt;/a&gt; je již dostupný na stránkách konference. Pro mne jsou zajímavé dvě přednášky Patrika Maliny na téma PowerShell v2.&lt;/li&gt;&lt;li&gt;Scripting Games se blíží. Včera a dnes vyšly na Scripting Guy blogu dva příspěvky na téma &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/03/20/hey-scripting-guy-march-20-2010.aspx"&gt;Your Mission&lt;/a&gt; a &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/03/21/hey-scripting-guy-march-21-2010.aspx"&gt;Study Guide&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://tfl09.blogspot.com/"&gt;Thomas Lee&lt;/a&gt; začal na základě jeho &lt;a href="http://www.powershellmasterclass.com/"&gt;PowerShell Master Class&lt;/a&gt; kurzu zpracovávat dostupné zdroje. Můžete se na ně podívat na stránkách &lt;a href="http://reskit.net/PSMC/index.htm"&gt;PSMC Resources&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Pokud vás zajímá, jak generovat SQL skript pomocí PowerShellu, podívejte se na &lt;a href="http://www.mssqltips.com/tip.asp?tip=1842"&gt;tento příspěvek.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Zajímavé &lt;a href="http://sqlblog.com/blogs/linchi_shea/archive/2010/01/04/add-content-and-out-file-are-not-for-performance.aspx"&gt;porovnání rychlosti zápisu&lt;/a&gt; pomocí Add-Content, Out-File a IO.StreamWritter.&lt;/li&gt;&lt;li&gt;Seznam (bohužel zatím neúplný) &lt;a href="http://technet.microsoft.com/en-us/library/ee829690.aspx"&gt;Windows PowerShell Features from Microsoft&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Sean Kearny začal psát novou sérii Introduction ITPros to Developer Terms. Více na jeho stránkách &lt;a href="http://www.energizedtech.com/"&gt;The Energized Tech&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;Pro dnešek je to opět vše. Tentokrát bych ale novinky uzavřel větou. "&lt;i&gt;RTFM platí i v PowerShellu.&lt;/i&gt;" Více o tom někdy příště.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6280658783228242503?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6280658783228242503/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6280658783228242503' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6280658783228242503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6280658783228242503'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/03/get-psnews-week-eq-11.html' title='Get-PSNews |? {$_.Week –eq ‘11’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6996948625478838590</id><published>2010-03-21T21:30:00.004+01:00</published><updated>2010-03-21T21:34:58.908+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Editor'/><category scheme='http://www.blogger.com/atom/ns#' term='ise'/><title type='text'>PowerShell ISE</title><content type='html'>&lt;p&gt;Novinkou v PowerShellu v2 je PowerShell ISE (Integrated Scripting Environment). Toto prostředí slouží jako konzole a script editor v jednom. Dnes se na něj ve zkratce podíváme. Po installaci je ISE dostupné (spolu s konzolí) v příslušenství nebo jej můžete spustit příkazem powershell_ise.exe.&lt;/p&gt;  &lt;p&gt;Já jsem se zhruba před dvěma měsíci rozhodl, že jej na na týden budu používat místo konzole a PowerGUI script editoru a od té doby v něm pracuji většinu času. Pojďme si tedy ISE projít. Skládá se ze tří částí: editoru, konzole a výtupního panelu. Rozložení si oproti standardnímu můžete upravit, takže by se vám nemělo stát, že nenajdete to, co se hodí vám. Možnosti nastavení jsou dostupné pod položkou menu &lt;b&gt;View&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_Ni46JsIL9eA/S6aB1Z45MPI/AAAAAAAAAVY/UksMSpqYPHE/s1600-h/image3.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_Ni46JsIL9eA/S6aB12gtwCI/AAAAAAAAAVc/nBwM422Xvic/image_thumb1.png?imgmax=800" width="438" height="372" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Na obrázku vidíte rozvžení, které vyhovuje mě. Většina položek je dostupná přes klávesové zkratky, takže pokud se potřebuji přepnout do zobrazení pouze script editoru, můžu použít Ctrl+3 a zpět se dostanu pomocí Ctrl+1. V případě rozložení, které je ukázáno na obrázku, se lze zárovň rychle přsunout kurzorem mezi editorem (Ctrl+I) a konzoli (Ctrl+D).&lt;/p&gt;  &lt;p&gt;Konzole i editor podporují doplňování pomocí klávesy tabulátor a oproti standardní konzoli mají výhodu v tom, že v případě doplňování např. parametru předchozího cmdletu, nemažou znaky za kurzorem. Zkuste si v klasické konzoli a ISE tento příkaz:&lt;/p&gt;&lt;br /&gt;&lt;p class="code"&gt;Get-Process | Select-Object Name | Format-Table –Autosize&lt;/p&gt;  &lt;p&gt;nyní se vraťte kurzorem k cmdletu &lt;b&gt;Select-Object&lt;/b&gt; a zkuste k němu pomocí tabulátoru doplnit parametr First.&lt;/p&gt;&lt;br /&gt;&lt;p class="code"&gt;Get-Process | Select-Object Name -f&amp;lt;Tab&amp;gt; | Format-Table –Autosize&lt;/p&gt;&lt;br /&gt;&lt;p&gt;V ISE se vám parametr správně dohledá a v konzoli budete zbytek řádky dopisovat ručně. Celé ISE podporuje standardní práci se schránkou (tedy nikoli tak, jak je to klasické konzoli – pravé tlačítko myši pro vložit ze schránky), vyhledávání ve skriptu, či zvětšování/zmenšování písma.&lt;/p&gt;  &lt;p&gt;ISE umožňuje také otevřít další prostředí PowerShellu v nové záložce (Ctrl+T). Otevře se vám nová instance, takže například nové proměnné v této instanci vytvořené nejsou dostupné v jiné záložce (instanci). Dobrou možností je otevření nové instance ze vzdáleného počítače (Ctrl+Shift+R). Je to vlastně obdoba cmdletu &lt;b&gt;Enter-PSSession&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Script editor obsahuje základní vlastnosti, které od editoru vyžadujeme (administrátoři, vývojáři mají určitě nároky vyšší) – zvýrazňování syntaxe, vyhledávání, ale hlavně možnost debugování, včetně nastavování breakpointů. Všechny volby jsou dostupné pod menu &lt;b&gt;Debug&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_Ni46JsIL9eA/S6aB2VkTMnI/AAAAAAAAAVg/cL8tlrb9OT0/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_Ni46JsIL9eA/S6aB2wJV7dI/AAAAAAAAAVk/swYz8HmRZoY/image_thumb.png?imgmax=800" width="224" height="243" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Pro základní krokování skriptu je tato možnost dostačující, ale v případě větších požadavků budete muset stejně použít dostupné cmdlety nebo jiný editor.&lt;/p&gt;  &lt;p&gt;Jak jsem řekl na začátku, dnes trávím většinu času v ISE a i když má svá omezení, rozhodně stojí za to, o něm alespoň vědět. Příště si povíme něco o objektovém modelu ISE a některých dostupných rozšířeních.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6996948625478838590?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6996948625478838590/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6996948625478838590' title='Počet komentářů: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6996948625478838590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6996948625478838590'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/03/powershell-ise.html' title='PowerShell ISE'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_Ni46JsIL9eA/S6aB12gtwCI/AAAAAAAAAVc/nBwM422Xvic/s72-c/image_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8300579533872294131</id><published>2010-03-14T22:46:00.005+01:00</published><updated>2010-03-14T23:10:27.540+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘10’}</title><content type='html'>Minulý týden se u mne nesl ve znamení návštěvy &lt;a href="http://www.technetkonference.cz/"&gt;TechNet konference&lt;/a&gt;. S potěšením jsem koukal, že skoro všichni přednášející měli na svých počítačích ikonu PowerShellu v Quick Launch panel. Výjimkou byl pouze Michael Juřek, ale jelikož přednášel SQL Server 2008 R2, měl PowerShell dostupný přímo v SQL Server Management Studiu. Pojďme se podívat na novinky.&lt;div&gt;&lt;ul&gt;&lt;li&gt;Budu pokračovat SQL serverem. Mé oblíbené &lt;a href="http://www.codeplex.com/SQLPSX"&gt;SQLPSX&lt;/a&gt; se dostalo do verze 2.1 a velkou novinkou je SQLIse, SQL plug-in pro PowerShell ISE. &lt;a href="http://chadwickmiller.spaces.live.com/blog/cns!EA42395138308430!946.entry"&gt;Více&lt;/a&gt; na stránkách Chada Millera.&lt;/li&gt;&lt;li&gt;Pokud se staráte o SCCM, může se vám hodit &lt;a href="http://www.snowland.se/2010/03/10/sccm-module-for-powershell/"&gt;SCCM modul&lt;/a&gt;. Zatím jsem jej nezkoušel, ale rozhodně to mám v plánu.&lt;/li&gt;&lt;li&gt;Taková malá "úchylárna" pro PowerShell fandy, aneb &lt;a href="http://www.wintellect.com/CS/blogs/jrobbins/archive/2010/03/10/start-powershellpoint.aspx"&gt;Start-PowerShellPoint&lt;/a&gt;, jak na prezentace v konzoli PowerShellu.&lt;/li&gt;&lt;li&gt;Pokud se staráte o testovací prostředí a potřebujete často vytvářet nové domény, může se vám hodit skript &lt;a href="http://poshcode.org/1666"&gt;Create AD test lab&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Trošku starší tip, ale opakování, matka moudrosti: Jak &lt;a href="http://ravichaganti.com/psbug/node/5"&gt;vypsat všechny COM objekty&lt;/a&gt; v systému.&lt;/li&gt;&lt;li&gt;Pokud pronikáte trochu hlouběji do PowerShellího SDK, možná se vám bude hodit návod, &lt;a href="http://blogs.msdn.com/saveenr/archive/2010/03/08/how-to-create-a-powershell-2-0-module-and-cmdlet-with-visual-studio-2010-screencast-included.aspx"&gt;jak ve VS 2010 vytvořit vlastní cmdlet&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Ještě malá informace závěrem. Pokud máte knihu &lt;a href="http://www.leeholmes.com/blog/"&gt;Lee Holmese&lt;/a&gt;, &lt;a href="http://www.amazon.com/gp/product/0596528493?ie=UTF8&amp;amp;tag=preciscomput-20&amp;amp;link_code=as3&amp;amp;camp=211189&amp;amp;creative=373489&amp;amp;creativeASIN=0596528493"&gt;PowerShell Cookbook&lt;/a&gt;, můžu vám s radostí oznámit, že třítýdenní review cyklus právě začal, takže se snad brzy dočkáme finálního tisku. Tuto knihu řadím mezi své tři nejoblíbenější.&lt;/li&gt;&lt;/ul&gt;Přeji příjemný následující týden.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8300579533872294131?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8300579533872294131/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8300579533872294131' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8300579533872294131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8300579533872294131'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/03/get-psnews-week-eq-10.html' title='Get-PSNews |? {$_.Week –eq ‘10’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6006325130475099184</id><published>2010-03-09T22:53:00.002+01:00</published><updated>2010-03-09T23:32:33.374+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘09’}</title><content type='html'>Sice pozdě, ale i tak přicházím s dalším dílem novinek.&lt;div&gt;&lt;ul&gt;&lt;li&gt;Nenechte si ujít &lt;a href="http://powerscripting.wordpress.com/2010/03/01/episode-103-mvps-brandon-shell-and-oisin-grehan/"&gt;103. epizodu PowerScripting Podcastu&lt;/a&gt;, hosté: Brandon Shell a Oisin Grehan.&lt;/li&gt;&lt;li&gt;Jaykul vytvořil &lt;a href="http://pipes.yahoo.com/powershell/scripts"&gt;Yahoo pipe&lt;/a&gt; pro skripty publikované v několika známých repository.&lt;/li&gt;&lt;li&gt;Pokud vás zajímá remoting v PowerShellu v2, určitě se podívejte na vynikající &lt;a href="http://powershell.com/cs/media/p/4908.aspx"&gt;Administrator's Guide to Windows PowerShell Remoting&lt;/a&gt;. Rozhodně doporučuji!&lt;/li&gt;&lt;li&gt;S přechodem na TechNet 2.0 se změnil i háv &lt;a href="http://technet.microsoft.com/en-us/scriptcenter/default.aspx"&gt;ScriptCentra&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://richardsiddaway.spaces.live.com/default.aspx"&gt;Richard Siddaway&lt;/a&gt; umístil na své stránky záznam z posledního UK PUG Meetingu, téma: &lt;a href="http://richardsiddaway.spaces.live.com/Blog/cns!43CFA46A74CF3E96!2777.entry"&gt;PowerShell, Windows 7 and the Resource Kit&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;V příspěvku &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/03/07/powershell-to-the-rescue.aspx"&gt;PowerShell to the rescue&lt;/a&gt; je krásně vidět, co se mi na PowerShellu líbí. Okamžitá možnost rychlého zjištění informací.&lt;/li&gt;&lt;li&gt;Něco málo &lt;a href="http://www.nivot.org/2010/03/05/PowerShellThePatchworkOfPathsPSPathsAndProviderPaths.aspx"&gt;o cestách&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Pokud hodně parsujete HTML stránky, bude se vám možná hodit &lt;a href="http://www.leeholmes.com/blog/HTMLAgilityPackRocksYourScreenScrapingWorld.aspx"&gt;článek Lee Holmese&lt;/a&gt; o &lt;a href="http://htmlagilitypack.codeplex.com/"&gt;HTML Agility Packu&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Pokud máte ovšem radši XML formát zkuste &lt;a href="http://huddledmasses.org/a-dsl-for-xml-in-powershell-new-xdocument/"&gt;A DSL for XML in PowerShell&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Další &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/03/09/quicktip-how-do-you-check-internet-connectivity.aspx"&gt;rychlý tip&lt;/a&gt; od &lt;a href="http://www.twitter.com/shaylevy"&gt;Shaye Levyho&lt;/a&gt; (a &lt;a href="http://stackoverflow.com/questions/2396054"&gt;navazující příspěvek&lt;/a&gt; od &lt;a href="http://www.twitter.com/stejcz"&gt;@stejcz&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;Tak to je protentokrát vše. Omlouvám se za zpoždění a doufám, že příště se polepším.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6006325130475099184?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6006325130475099184/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6006325130475099184' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6006325130475099184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6006325130475099184'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/03/get-psnews-week-eq-09.html' title='Get-PSNews |? {$_.Week –eq ‘09’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5888993386376609674</id><published>2010-03-01T19:22:00.021+01:00</published><updated>2010-03-01T20:46:13.047+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-Help'/><title type='text'>How to check (find) the newest online documentation</title><content type='html'>Last week I was playing with online documentation for PowerShell cmdlets. If you are not aware - if you specify -Online parameter for Get-Help cmdlet you are redirected to the most recent version located at Microsoft TechNet site. For example:&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; Get-Help Add-Computer -Online&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;redirects you to &lt;a href="http://technet.microsoft.com/en-us/library/dd347556.aspx"&gt;http://technet.microsoft.com/en-us/library/dd347556.aspx&lt;/a&gt; where you can check latest version of help. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;I wanted to check latest version for cmdlets provided with PowerShell but I didn't want to go cmdlet by cmdlet and manually checked date of last update. As you know - everything in PowerShell is an object (incl. documentation) so I switched to the console and was looking for property storing link to online help. It was pretty easy and shortly I found right way. So after first check I received following results:&lt;/div&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; Get-Help Add-* |% {$_.relatedLinks.navigationLink} |? {$_.uri}&lt;br /&gt;&lt;br /&gt;linkText     uri&lt;br /&gt;--------     ---&lt;br /&gt;Online version:     http://go.microsoft.com/fwlink/?LinkID=113279&lt;br /&gt;Online version:     http://go.microsoft.com/fwlink/?LinkID=113281&lt;br /&gt;Online version:     http://go.microsoft.com/fwlink/?LinkID=113280&lt;br /&gt;Online version:     http://go.microsoft.com/fwlink/?LinkID=135195&lt;br /&gt;Online version:     http://go.microsoft.com/fwlink/?LinkID=113278&lt;br /&gt;Online version:     http://go.microsoft.com/fwlink/?LinkID=135194&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;Then I was able to do quick check of date just by using my Get-WebPage function which uses &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.downloadstring.aspx"&gt;DownloadString&lt;/a&gt; method of &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx"&gt;Net.WebClient&lt;/a&gt; class.&lt;/div&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; ... | Get-WebPage |% {$_ -match "&amp;lt;/p&amp;gt;Updated:\s(?&amp;lt;date&amp;gt;.*?)&amp;lt;/p&amp;gt;" | Out-Null ; $Matches.date }&lt;br /&gt;&lt;br /&gt;May 20, 2009&lt;br /&gt;October 21, 2009&lt;br /&gt;October 21, 2009&lt;br /&gt;February 17, 2010&lt;br /&gt;February 17, 2010&lt;br /&gt;February 17, 2010&lt;br /&gt;February 17, 2010&lt;br /&gt;February 17, 2010&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;Cool. But ... as you can see I have dates but no idea which help file to check :( So I decided to create short function (filter) which creates object for info I needed. I decided to store name of the cmdlet, web link and date of update. You can check Get-WebPage and New-TempObj (strange name - I know - but I wanted results quickly).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:#0000FF;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5F9EA0;"&gt;Get-WebPage&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;br /&gt;&lt;br /&gt;[Cmdletbinding()]&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;param&lt;/span&gt;&lt;span style="color:#000000;"&gt; (&lt;br /&gt;    [Parameter(Mandatory&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#800080;"&gt;$true&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;br /&gt;        Position&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt;0&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;br /&gt;        ValueFromPipeline&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#800080;"&gt;$true&lt;/span&gt;&lt;span style="color:#000000;"&gt;,&lt;br /&gt;        HelpMessage&lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;Enter URL to download&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;)]&lt;br /&gt;        [&lt;/span&gt;&lt;span style="color:#008080;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;]&lt;br /&gt;        &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Uri&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;BEGIN&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$wc&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style=" font-weight: bold;color:#5F9EA0;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;System.Net.WebClient&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$proxy&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; [&lt;/span&gt;&lt;span style="color:#008080;"&gt;System.Net.WebProxy&lt;/span&gt;&lt;span style="color:#000000;"&gt;]::&lt;/span&gt;&lt;span style="color:#8B4513;"&gt;GetDefaultProxy&lt;/span&gt;&lt;span style="color:#000000;"&gt;()&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$proxy&lt;/span&gt;&lt;span style="color:#000000;"&gt;.UseDefaultCredentials &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$true&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$wc&lt;/span&gt;&lt;span style="color:#000000;"&gt;.proxy &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$proxy&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;PROCESS&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:#800080;"&gt;$wc&lt;/span&gt;&lt;span style="color:#000000;"&gt;.DownloadString(&lt;/span&gt;&lt;span style="color:#800080;"&gt;$Uri&lt;/span&gt;&lt;span style="color:#000000;"&gt;)&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;END&lt;/span&gt;&lt;span style="color:#000000;"&gt; { }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000FF;"&gt;filter&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5F9EA0;"&gt;New-TempObj&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#800080;"&gt;$hash&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; @{   &lt;br /&gt;    name &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; $(&lt;/span&gt;&lt;span style="color:#800080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Name)&lt;br /&gt;    uri  &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; $(&lt;/span&gt;&lt;span style="color:#800080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.relatedLinks.navigationLink |? {&lt;/span&gt;&lt;span style="color:#800080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.linkText &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;'&lt;/span&gt;&lt;span style="color:#800000;"&gt;Online version:&lt;/span&gt;&lt;span style="color:#800000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;}).uri&lt;br /&gt;}&lt;br /&gt;[&lt;/span&gt;&lt;span style="color:#008080;"&gt;datetime&lt;/span&gt;&lt;span style="color:#000000;"&gt;]&lt;/span&gt;&lt;span style="color:#800080;"&gt;$hash&lt;/span&gt;&lt;span style="color:#000000;"&gt;.date &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5F9EA0;"&gt;Get-WebPage&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$hash&lt;/span&gt;&lt;span style="color:#000000;"&gt;.uri |&lt;/span&gt;&lt;span style=" font-weight: bold;color:#5F9EA0;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;/span&gt;&lt;span style="color:#800080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;-match&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;p&amp;gt;Updated:\s(?&amp;lt;date&amp;gt;.*?)&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt; | &lt;/span&gt;&lt;span style=" font-weight: bold;color:#5F9EA0;"&gt;Out-Null&lt;/span&gt;&lt;span style="color:#000000;"&gt;; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$Matches&lt;/span&gt;&lt;span style="color:#000000;"&gt;.date}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#800080;"&gt;$myObj&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#FF0000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style=" font-weight: bold;color:#5F9EA0;"&gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;PSObject&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style=" font-style: italic;color:#5F9EA0;"&gt;-Property&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;$hash&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#800080;"&gt;$myObj&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;} &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Now I am able to do following:&lt;/div&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; Get-Help Add-* | New-TempObj | ft -AutoSize&lt;br /&gt;&lt;br /&gt;date               name         uri&lt;br /&gt;----               ----         ---&lt;br /&gt;20.5.2009 0:00:00  Add-History  http://go.microsoft.com/fwlink/?LinkID=113279&lt;br /&gt;20.5.2009 0:00:00  Add-PSSnapin http://go.microsoft.com/fwlink/?LinkID=113281&lt;br /&gt;16.12.2009 0:00:00 Add-Member   http://go.microsoft.com/fwlink/?LinkID=113280&lt;br /&gt;20.5.2009 0:00:00  Add-Type     http://go.microsoft.com/fwlink/?LinkID=135195&lt;br /&gt;20.5.2009 0:00:00  Add-Content  http://go.microsoft.com/fwlink/?LinkID=113278&lt;br /&gt;17.6.2009 0:00:00  Add-Computer http://go.microsoft.com/fwlink/?LinkID=135194&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;Or - even better - all help files changed in 2010:&lt;/div&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; get-help *-* | New-TempObj |? { $_.date.Year -eq 2010 } | Select date, name&lt;br /&gt;&lt;br /&gt;date                  name&lt;br /&gt;----                  ----&lt;br /&gt;17.2.2010 0:00:00     Get-Counter&lt;br /&gt;17.2.2010 0:00:00     Import-Counter&lt;br /&gt;17.2.2010 0:00:00     Export-Counter&lt;br /&gt;17.2.2010 0:00:00     Start-Job&lt;br /&gt;20.1.2010 0:00:00     New-Module&lt;br /&gt;17.2.2010 0:00:00     Get-Module&lt;br /&gt;17.2.2010 0:00:00     Out-File&lt;br /&gt;17.2.2010 0:00:00     Read-Host&lt;br /&gt;17.2.2010 0:00:00     Export-Clixml&lt;br /&gt;17.2.2010 0:00:00     Select-XML&lt;br /&gt;17.2.2010 0:00:00     Join-Path&lt;br /&gt;20.1.2010 0:00:00     Get-Location&lt;br /&gt;20.1.2010 0:00:00     Set-Location&lt;br /&gt;20.1.2010 0:00:00     Push-Location&lt;br /&gt;20.1.2010 0:00:00     Pop-Location&lt;br /&gt;20.1.2010 0:00:00     New-Item&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div&gt;So now I am able to read latest documentation everytime without any special manual work. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Note: As I said - whole "script" was created in a hurry and therefore it's not the best one I created. You can receive exceptions for some help files but it is not the case for standard cmdlets.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5888993386376609674?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5888993386376609674/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5888993386376609674' title='Počet komentářů: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5888993386376609674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5888993386376609674'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/03/how-to-check-newest-online.html' title='How to check (find) the newest online documentation'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8077122522937289947</id><published>2010-02-28T22:03:00.005+01:00</published><updated>2010-02-28T23:06:20.130+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘08’}</title><content type='html'>Poslední týden byl na události opět hodně bohatý, takže se budu snažit zprostředkovat vám všechny články, které mne zaujaly.&lt;div&gt;&lt;ul&gt;&lt;li&gt;Začneme u blogu &lt;a href="http://blogs.technet.com/heyscriptingguy"&gt;Hey, Scripting Guy!&lt;/a&gt; Tématem posledního týdne byly transakce. Pokud jste o transakcích v PowerShellu zatím neslyšeli, doporučuji vám, abyste si články přečetli. Jen pro info - prozatím jsou transakce k dispozici pouze pro registry.&lt;/li&gt;&lt;li&gt;Scripting Games 2010 se blíží! Ed Wilson uveřejnil trošku &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/02/24/2010-scripting-games-preparations.aspx"&gt;podrobností&lt;/a&gt; ohledně letošního plánovaného ročníku. Důležité info - ve dnech 26.4. - 7.5. si letos neberte dovolenou - bude se skriptovat :)&lt;/li&gt;&lt;li&gt;Thomas Lee (AKA &lt;a href="http://www.twitter.com/doctordns"&gt;doctordns&lt;/a&gt;) popisuje &lt;a href="http://tfl09.blogspot.com/2010/02/discovery-in-powershell-get-help-vs-get.html"&gt;rozdíl mezi Get-Help a Get-Command&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Příští týden - 2.3. - se koná další UK PowerShell User Group &lt;a href="http://richardsiddaway.spaces.live.com/Blog/cns!43CFA46A74CF3E96!2772.entry"&gt;meeting&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Spojením PowerShellu a &lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663328.aspx"&gt;Windows Workflow Foundation&lt;/a&gt; vznikl projekt &lt;a href="http://powerwf.com/"&gt;PowerWF&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Trochu mne mrzí, že 17.3. nebudu v Norsku. Konference &lt;a href="http://www.nitkon.no"&gt;NITkon&lt;/a&gt; slibuje zajímavý den: &lt;a href="http://www.nitkon.no/PowerShellDeepDive.aspx"&gt;PowerShell Deep Dive&lt;/a&gt;. Měl bych možnost vidět v akci několik PowerShell superstar včetně Bruce Payetta, autora vynikající knihy &lt;a href="http://www.manning.com/payette2"&gt;PowerShell in Action&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Administrujete-li &lt;a href="http://www.microsoft.com/exchange/2010/en/my/default.aspx"&gt;Exchange 2010&lt;/a&gt;, zkuste se podívat na &lt;a href="http://dmitrysotnikov.wordpress.com/2010/02/26/exchange-2010-powerpack-is-here/"&gt;PowerPack for Exchange Server 2010&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Na &lt;a href="http://stackoverflow.com"&gt;Stack Overflow&lt;/a&gt; se objevily zajímavé odpovědi na téma &lt;a href="http://stackoverflow.com/questions/2331829/is-there-a-language-reference-manual-for-powershell/2332106#2332106"&gt;Language Reference for PowerShell&lt;/a&gt; (via &lt;a href="http://www.twitter.com/stejcz"&gt;@stejcz&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Velkým tématem pro mne byla žádost (iniciovaná PowerShell documentation týmem a &lt;a href="http://www.powershellcommunity.org"&gt;powershellcommunity.org&lt;/a&gt;) o kontrolu dokumentace PowerShellu. Info viz např. &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/02/25/windows-powershell-community-review.aspx"&gt;Shay Levy&lt;/a&gt;, &lt;a href="http://richardsiddaway.spaces.live.com/Blog/cns!43CFA46A74CF3E96!2768.entry"&gt;Richard Siddaway&lt;/a&gt; nebo &lt;a href="http://powershell-cz.blogspot.com/2010/02/windows-powershell-community-doc-review.html"&gt;já&lt;/a&gt; :)&lt;/li&gt;&lt;/ul&gt;Víc toho v dnešních poznámkách nemám. I tak to byla slušná porce informací. Těším se na další týden a doufám, že se konečně po olympijském maratónu pořádně vyspím.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8077122522937289947?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8077122522937289947/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8077122522937289947' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8077122522937289947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8077122522937289947'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/get-psnews-week-eq-08.html' title='Get-PSNews |? {$_.Week –eq ‘08’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1611973329651800247</id><published>2010-02-28T17:43:00.004+01:00</published><updated>2010-02-28T17:46:30.209+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='System.Guid'/><title type='text'>.NET třídy – System.Guid</title><content type='html'>&lt;p&gt;Tento týden jsem na Twitteru narazil na další zajímavou třídu &lt;a href="http://msdn.microsoft.com/en-us/library/system.guid.aspx"&gt;System.Guid&lt;/a&gt;. Pokud jste někdy potřebovali vygenerovat GUID a přemýšleli jste jak na to, toto je cesta. GUID je tvořen pěti skupinami čísel sdružených ve tvaru 8-4-4-4-12, např.: 8fff0978-ca4b-4828-9b45-1f0b7818987b.&lt;br /&gt;V celé třídě je nejzajímavější metoda NewGuid().&lt;/p&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&amp;gt; [System.Guid]::NewGuid()&lt;br /&gt;Guid  &lt;br /&gt;----   &lt;br /&gt;a7602646-dcd3-425e-8e3d-b0319d5741cf&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Občas se vám ještě může hodit i vytvoření prázdného identifikátoru:&lt;/p&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&amp;gt; [Guid]::Empty&lt;br /&gt;Guid  &lt;br /&gt;----&lt;br /&gt;00000000-0000-0000-0000-000000000000&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1611973329651800247?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1611973329651800247/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1611973329651800247' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1611973329651800247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1611973329651800247'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/net-tridy-systemguid.html' title='.NET třídy – System.Guid'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-141901337334766705</id><published>2010-02-28T13:35:00.001+01:00</published><updated>2010-02-28T13:35:45.441+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-Help'/><category scheme='http://www.blogger.com/atom/ns#' term='Connect'/><title type='text'>Windows PowerShell Community Doc Review</title><content type='html'>&lt;p&gt;Před pár dny &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/02/25/windows-powershell-community-review.aspx"&gt;uveřejnil Shay Levy výzvu&lt;/a&gt; dobrovolníkům, kteří chtějí ovlivnit dokumentaci dostupnou v PowerShellu. Originální text:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;”We're looking for users at all experience levels and with all different backgrounds, but we love to have beginners, people with no programming experience, people who know other scripting languages or shells, and people who are not native English speakers. If you're a system admin and you don't really know Windows PowerShell, this is a great way to learn it with help from insiders.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Celý proces probíhá ve spolupráci Windows PowerShell documentation týmu a &lt;a href="http://www.powershellcommunity.org"&gt;powershellcommunity.org&lt;/a&gt;. Pokud chcete ovlivnit dokumentaci, která je součástí PowerShellu, máte šanci. Napište buď June Blender (&lt;a href="mailto:juneb@microsoft.com"&gt;juneb@microsoft.com&lt;/a&gt;) nebo &lt;a href="http://marcoshaw.blogspot.com/"&gt;Marco Shaw&lt;/a&gt;ovi (&lt;a href="mailto:marco.shaw@gmail.com"&gt;marco.shaw@gmail.com&lt;/a&gt;). Opravdu nezáleží na tom, kolik toho umíte – důležitá je ochota udělat něco pro komunitu. Já jsem June napsal a již jsem dostal potvrzení, že jsem byl zařazen.&lt;/p&gt;  &lt;p&gt;Pokud se vám nechce trávit moc času s procházením celé dokumentace, ale přesto jste nalezli nějakou chybu, můžete ji reportovat přes &lt;a href="http://connect.microsoft.com"&gt;Microsoft Connect&lt;/a&gt;.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Ujistěte se, zda chyba existuje v on-line dokumentaci. Použijte parametr –Online v cmdletu Get-Help, např. &lt;font face="Courier New"&gt;Get-Help Get-Random –Online&lt;/font&gt;. Na webu je vždy poslední verze nápovědy. &lt;/li&gt;    &lt;li&gt;Jděte na &lt;a title="http://connect.microsoft.com/powershell" href="http://connect.microsoft.com/powershell"&gt;http://connect.microsoft.com/powershell&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Klikněte na &lt;strong&gt;Report a bug&lt;/strong&gt; (nejdříve se přes Search Feedback ujistěte, jestli nebyla stejná chyba již reportována).&lt;/li&gt;    &lt;li&gt;Přihlašte se vaším LiveID.&lt;/li&gt;    &lt;li&gt;Vyberte &lt;strong&gt;Documentation bug&lt;/strong&gt;.&lt;/li&gt;    &lt;li&gt;Vyplňte jednoduchý formulář a odešlete jej.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Každá takto reportovaná chyba jde přímo k June Blender. Pokud vás téma nápovědy zajímá, můžete June sledovat in na &lt;a href="http://twitter.com/juneb_get_help"&gt;Twitteru&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-141901337334766705?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/141901337334766705/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=141901337334766705' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/141901337334766705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/141901337334766705'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/windows-powershell-community-doc-review.html' title='Windows PowerShell Community Doc Review'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3399611133203766757</id><published>2010-02-21T22:29:00.004+01:00</published><updated>2010-02-21T23:35:01.254+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘07’}</title><content type='html'>Minulý týden jsem se loučil s přáním medaile pro Martinu Sáblíkovou. Dnes večer ji čeká další závod, tak snad to dopadne stejně :) Ale pojďme k PowerShellu. Uplynulý týden byl opět bohatý na události.&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/mediaandmicrocode/default.aspx"&gt;James Brundage&lt;/a&gt; byl h&lt;a href="http://powerscripting.wordpress.com/2010/02/16/episode-102-james-brundage-from-the-powershell-team/"&gt;ostem v PowerScripting podcastu&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Zkuste si virtuální lab na téma &lt;a href="http://cmg.vlabcenter.com/default.aspx?moduleid=2b52bc15-5a8c-4a70-8df0-0de9e6d859b2"&gt;Windows Server 2008 R2: Server Management and PowerShell V2&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.idera.com"&gt;Idera&lt;/a&gt; vydala &lt;a href="http://www.idera.com/Products/PowerShell/PowerShell-Plus/"&gt;PowerShell Plus 3.1&lt;/a&gt;. Před několika týdny jsem se zůčastnil usability study tohoto produktu a pokud to s PowerShellem myslíte vážně, zkuste nad PowerShell Plus popřemýšlet. I když je asi dobré podotknout, že dobrá je převážně konzole, editor (vzhledem k ceně) nepřináší až takové noviky.&lt;/li&gt;&lt;li&gt;Zajímavá jsou ovšem &lt;a href="http://www.idera.com/Product-Video-Tour/PowerShell-Plus"&gt;videa&lt;/a&gt;, která vyšla současně s produktem (prezentováno Donem Jonesem).&lt;/li&gt;&lt;li&gt;&lt;a href="http://richardsiddaway.spaces.live.com/Blog/cns!43CFA46A74CF3E96!2765.entry"&gt;Richard Siddaway hezky shrnul&lt;/a&gt;, co se mu líbí na PowerShell komunitě.&lt;/li&gt;&lt;li&gt;&lt;a href="http://dougfinke.com/blog/index.php/about/"&gt;Doug Finke&lt;/a&gt; odkazuje na &lt;a href="http://dougfinke.com/blog/index.php/2010/02/20/powershell-wasm-windows-azure-service-management"&gt;cmdlety pro práci s Windows Azure&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;O &lt;a href="http://richardsiddaway.spaces.live.com/Blog/cns!43CFA46A74CF3E96!2764.entry"&gt;práci se secure strings&lt;/a&gt; se rozepsal dnes již jednou zmiňovaný Richard Siddaway.&lt;/li&gt;&lt;li&gt;Na &lt;a href="http://blogs.msdn.com/powershell"&gt;blogu PowerShell týmu&lt;/a&gt; se objevil článek na téma &lt;a href="http://blogs.msdn.com/powershell/archive/2010/02/18/psstandardmembers-the-stealth-property.aspx"&gt;PsStandardMembers&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Poslední novinka není o PowerShellu, ale udělala mi radost. Právě jsem zjistil, že&lt;a href="http://knihy.cpress.cz"&gt; Computer Press&lt;/a&gt; vydal druhý díl skvělého díla Umění programování (&lt;a href="http://www-cs-faculty.stanford.edu/~knuth/taocp.html"&gt;The Art of Computer Programming&lt;/a&gt; nebo také &lt;a href="http://en.wikipedia.org/wiki/TAOCP"&gt;TAOCP&lt;/a&gt;) - S&lt;a href="http://knihy.cpress.cz/knihy/pocitacova-literatura/programovani/umeni-programovani-2-dil-seminumericke-algoritmy/"&gt;eminumerické algoritmy&lt;/a&gt;. Už jsem to na tomto webu zmiňoval, ale &lt;a href="http://www-cs-faculty.stanford.edu/~knuth/help.html"&gt;Donalda Knutha&lt;/a&gt; obdivuji převážně pro jeho práci na systému &lt;a href="http://www.tug.org/"&gt;TeX&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;Hokej jsme právě prohráli, tak snad bude příští týden úspěšnější.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3399611133203766757?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3399611133203766757/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3399611133203766757' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3399611133203766757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3399611133203766757'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/get-psnews-week-eq-07.html' title='Get-PSNews |? {$_.Week –eq ‘07’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8873970565000294400</id><published>2010-02-15T21:24:00.004+01:00</published><updated>2010-02-15T21:28:58.219+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='System.Math'/><title type='text'>.NET třídy – System.Math</title><content type='html'>&lt;p&gt;Vítejte u nové série. Rozhodl jsem se udělat malého “průvodce” po užitečných .NET třídách. Jako administrátor jsem zjistil, že na MSDN je hromada užitečných věcí. Vím, že pro administrátory je MSDN “obuda, která žere malý děti”, ale nevěřte všemu, co slyšíte :) Je to velmi užitečný zdroj. V této nové sérii bych vám chtěl ukázat třídy, které považuji za užitečné a které jsem sám několikrát s úspěchem použil. &lt;/p&gt;  &lt;p&gt;Dnes začnu se &lt;a href="http://msdn.microsoft.com/en-us/library/system.math.aspx"&gt;System.Math&lt;/a&gt;, která je základem, bez kterého se občas neobejdete a i PowerShell team spoléhá na to, že tuto třídu použijete, protože v některých případech uvádí, že neimplementovali nějakou funkci prostě proto, že existuje v System.Math.&lt;/p&gt;  &lt;p&gt;Předpokládám, že máte určité znalosti práce s .NET třídami, pokud ne (a nechce se vám je hledat) nechce mi komentář (to by bylo, abych vás nedonutil se rozepsat :)&lt;/p&gt;  &lt;p&gt;Sytem.Math je třída, pomocí které můžete používat některé pokročilejší matematické operace. Obsahuje následující metody:&lt;/p&gt;  &lt;p class="code"&gt;PS C:\&amp;gt; [Math] | gm -Static -MemberType method | fw -c 5 &lt;br /&gt;Abs                           Acos                          Asin                         Atan                         Atan2                      &lt;br /&gt;BigMul                        Ceiling                       Cos                          Cosh                         DivRem                     &lt;br /&gt;Equals                        Exp                           Floor                        IEEERemainder                Log                        &lt;br /&gt;Log10                         Max                           Min                          Pow                          ReferenceEquals            &lt;br /&gt;Round                         Sign                          Sin                          Sinh                         Sqrt                       &lt;br /&gt;Tan                           Tanh                          Truncate                                                                         &lt;/p&gt;&lt;br /&gt;&lt;p&gt;Jak vidíte, velkou část zaujímají goniometrické funkce (jak jsem rád, že jsem je od vysoké školy nepoužil a neviděl :). Třída obsahuje také dvě vlastnosti a to pro hodnoty čísel E a PI.&lt;/p&gt;  &lt;br /&gt;&lt;p class="code"&gt;PS C:\&amp;gt; [Math]::E&lt;br /&gt;2.71828182845905&lt;br /&gt;PS C:\&amp;gt; [Math]::PI&lt;br /&gt;3.14159265358979&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Při “normální” práci asi nejvíce využijete následující metody:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Max(), Min() – vrátí větší/menší ze dvou zadaných čísel.&lt;/li&gt;    &lt;li&gt;Round() – zaokrouhlí zadané číslo na celé číslo nebo na daný počet míst.&lt;/li&gt;    &lt;li&gt;Sign() – vrátí hodnotu ukazující znaménko.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Použití předchozích metod je např. následující:&lt;/p&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&amp;gt; [Math]::Max(1,123)&lt;br /&gt;123&lt;br /&gt;PS C:\&amp;gt; -2..2 |% {[Math]::Sign($_)}  &lt;br /&gt;-1   &lt;br /&gt;-1   &lt;br /&gt;0   &lt;br /&gt;1   &lt;br /&gt;1&lt;/p&gt;  &lt;br /&gt;&lt;p&gt;Berte prosím tento článek jako “nutné zlo” do plánované série a užitečných .NET třídách. System.Math opravdu není úplně nejzajímavější.&lt;/p&gt;  &lt;p&gt;Budu rád, pokud mi dáte vědět, které třídy rádi používáte nebo o kterých byste se rádi něco dozvěděli. Příště si ukážeme něco zajímavějšího.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8873970565000294400?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8873970565000294400/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8873970565000294400' title='Počet komentářů: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8873970565000294400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8873970565000294400'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/net-tridy-systemmath.html' title='.NET třídy – System.Math'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7156094238778569125</id><published>2010-02-14T22:42:00.003+01:00</published><updated>2010-02-14T22:59:38.591+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘06’}</title><content type='html'>Poslední týden byl u mne spíš ve znamení pracovního vytížení a jednoho naprosto zbytečného šestihodinového týmového hledání chyby (ze kterého vyplynulo - NIKDY nevěřete užívatelům, logy nelžou). Co se týče PowerShellu pár zajímavostí se protentokrát také našlo.&lt;div&gt;&lt;ul&gt;&lt;li&gt;Začnu tou nejpříjemnější zprávou - Bruce Payette dopsal další kapitoly knihy &lt;a href="http://www.manning.com/payette2/"&gt;PowerShell in Action&lt;/a&gt; a tyto kapitoly byly uvolněny v rámci &lt;a href="http://www.manning.com/about/meap"&gt;MEAP&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Twitterem proběhl odkaz na starší sérii článků o &lt;a href="http://blog.usepowershell.com/category/net-framework/introduction/"&gt;použití .NETu v PowerShellu&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Momentálně mám rozepsaný první díl série na téma .NET třídy. Chtěl bych se věnovat těm, které jsou z pohledu administrátora zajímavé a možná i důležité. Předpokládám dopsání začátkem příštího týdne (a nebo taky možná až po olympiádě :))&lt;/li&gt;&lt;li&gt;Po dlouhé době vyšla &lt;a href="http://get-scripting.blogspot.com/2010/02/get-scripting-podcast-episode-15-luc.html"&gt;nová epizoda Get-Scripting&lt;/a&gt; podcastu.&lt;/li&gt;&lt;li&gt;Vyšla aktuální verze &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=df8ed469-9007-401c-85e7-46649a32d0e0"&gt;PowerShell Quick Reference&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Objevil jsem nový &lt;a href="http://seven7.blog.zive.cz/"&gt;český blog o PowerShellu&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Příští týden začíná &lt;a href="http://www.mvpsummit2010.com/"&gt;MVP Summit&lt;/a&gt; a jsem zvědav, co nového se o PowerShellu dostane ven.&lt;/li&gt;&lt;li&gt;Zajímá-li vás jak na remote access, podívejte se na vynikající sérii od Ravikanth Chagantiho. Odkazuji na zatí poslední, &lt;a href="http://www.ravichaganti.com/blog/?p=1208"&gt;desátý díl&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;Protentokrát končím, jdu fandit Martině Sáblíkové a doufám, že příští týden bude plný nejen sportovních informací.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7156094238778569125?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7156094238778569125/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7156094238778569125' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7156094238778569125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7156094238778569125'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/get-psnews-week-eq-06.html' title='Get-PSNews |? {$_.Week –eq ‘06’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1089150186987034048</id><published>2010-02-08T21:17:00.004+01:00</published><updated>2010-02-08T21:34:29.392+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘05’}</title><content type='html'>Poznámka: S hrůzou jsem zjistil, že jsem minulý týden nastavil špatný datum publikování novinek. Zároveň to bylo dnees asi poprvé, kdy jsem to nezkontroloval hned ráno. Dvě chyby pro jeden článek je až moc.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Poslední týden nebyl tentokrát na novinky nijak bohatý. Přesto se našlo pár zajímavostí.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;PowerScripting Podcast - &lt;a href="http://powerscripting.wordpress.com/2010/02/02/episode-100-quest-mobileshell-powergui-pro-and-your-tips/"&gt;epizoda 100&lt;/a&gt; byla uvolněna ke stažení.&lt;/li&gt;&lt;li&gt;Chad Miller postnul článek na téma &lt;a href="http://chadwickmiller.spaces.live.com/blog/cns!EA42395138308430!531.entry"&gt;The PowerShell v1 to v2 Conversion&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Byl uvolněn nový &lt;a href="http://dmitrysotnikov.wordpress.com/2010/02/05/powergui-olympics-wallpaper/"&gt;PowerGUI wallpaper&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mohundro.com/blog/2010/02/05/QuicklyGetTheCommandLineArgumentsFromProcessesWithPowershell.aspx"&gt;Zajímavý nápad&lt;/a&gt; od Davida Mohundra.&lt;/li&gt;&lt;li&gt;a nezapomeňte hlasovat hlasovat v anketě na těchto stránkách :)&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1089150186987034048?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1089150186987034048/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1089150186987034048' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1089150186987034048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1089150186987034048'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/get-psnews-week-eq-05.html' title='Get-PSNews |? {$_.Week –eq ‘05’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4974626062687157066</id><published>2010-02-03T14:01:00.006+01:00</published><updated>2010-02-03T14:34:39.039+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='anketa'/><title type='text'>Anketa: Jak používáte PowerShell?</title><content type='html'>Po delší době jsem zde s další anketou. Ještě se vrátím k těm předchozím. Co se týče novinek, obnovil jsem je opět v týdenním režimu, který vám zřejmě vyhovuje nejvíc. Mě osobně taky :) Zároveň jsem neopustil možnost, napsat o nějaké novince, která mne opravdu zaujala, okamžitě. Přechod na angličtinu plánuju se spuštěním nového webu.&lt;br /&gt;&lt;br /&gt;Jaká je tedy nová otázka? Zajímalo by mě, pro jakou příležitost používáte PowerShell nejčastěji. Pokud spravujete Exchange, volba je jasná. Pracujete s SCOM, Active Directory, SharePointem, ... Nebo jste většinu času na helpdesku a PowerShell používáte pro vzdálenou správu? Či si jenom skriptujete pro radsot a ulehčujete si práci různými vychytávkami?&lt;br /&gt;&lt;br /&gt;Nejčastější možnosti jsem dal jako možnosti v anketě a pokud nenajdete to vaše správné využití, nebojte se nechat komentář pod tímto článkem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4974626062687157066?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4974626062687157066/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4974626062687157066' title='Počet komentářů: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4974626062687157066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4974626062687157066'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/anketa-jak-pouzivate-powershell.html' title='Anketa: Jak používáte PowerShell?'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4596755901501800096</id><published>2010-02-03T09:49:00.004+01:00</published><updated>2010-02-03T10:17:32.436+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knihy'/><title type='text'>Druhé vydání knihy "PowerShell  - Podrobný průvodce skriptováním"</title><content type='html'>Přemýšlím, jestli nejdřív hledat ikonu typu "víme první" nebo sáhnout do lednice pro nějaké dobré víno a slavit potichu.&lt;br /&gt;&lt;br /&gt;Včera večer jsem dělal malý úklid ve svých poznámkách otagovaných jako "someday" a narazil na &lt;em&gt;Napsat Patriku Malinovi, jestli chystá update knížky na v2&lt;/em&gt;. O knize &lt;a href="http://knihy.cpress.cz/knihy/pocitacova-literatura/administrace/microsoft-windows-powershell-podrobny-pruvodce-skriptovanim/"&gt;Microsoft Windows PowerShell - Podrobný průvodce skriptováním&lt;/a&gt; jsem se zde již &lt;a href="http://powershell-cz.blogspot.com/2008/09/recenze-powershell-podrobn-prvodce.html"&gt;zmiňoval&lt;/a&gt;. Jako jediný počin svého druhu na českém trhu si určitě zaslouží pozornost. Napsal jsem panu Malinovi a dostal následující odpověď.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Pekny vecer. &lt;/p&gt;&lt;p&gt;Pisete jako na zavolanou :-)&lt;/p&gt;&lt;p&gt;... v potu tvare dopracovavam dalsi kapitolu a chystam se ji odeslat redaktorovi. Kniha o PowerShellu 2 je velmi blizko -- tedy odevzdani rukopisu urcite, protoze brzy asi umru a nic vic uz ze mne nevypadne ;-) ... &lt;/p&gt;&lt;p&gt;Protoze ted uz jsem i ja uveril, ze to dodelam, asi to muzete kdyz tak vypustit jako drb do sveta :-)) &lt;/p&gt;&lt;p&gt;Zdravi PM&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;Tradááá - pouštím tedy drb, raduji se a doufám, že pan Malina neumře a ještě hodně toho z něj vypadne :) Bez jeho přednášek by mi bylo fakt smutno.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4596755901501800096?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4596755901501800096/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4596755901501800096' title='Počet komentářů: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4596755901501800096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4596755901501800096'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/02/druhe-vydani-knihy-powershell-podrobny.html' title='Druhé vydání knihy &quot;PowerShell  - Podrobný průvodce skriptováním&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3750586188360785537</id><published>2010-01-31T22:03:00.003+01:00</published><updated>2010-02-01T14:01:19.457+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq ‘04’}</title><content type='html'>&lt;p&gt;Uplynulý týden byl opět nabitý zajímavý novinkami a také jedním velkým jubileem. Pro mne osobně se vše neslo v tónu Active Directory.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Můj oblíbený produkt – &lt;a href="http://www.powergui.org/"&gt;PowerGUI&lt;/a&gt; - se dočkal verze 2.0. Novinkou jsou &lt;a href="http://dmitrysotnikov.wordpress.com/2010/01/26/new-in-powergui-2-0-snapshots/"&gt;snapshoty&lt;/a&gt; v administrační konzoli. Pokud vás zajímají další změny, můžete se podívat do &lt;a href="http://powergui.org/jiveHome/themes/powergui/sbin/releasenotes/PowerGUI_2.0_ReleaseNotes.htm"&gt;release notes&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Začal jsem pracovat na dalším článku pro &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash&lt;/a&gt;, tentokrát na téma Active Directory. Proto se mi hodil další online meeting UKPSUG (UK PowerShell User Group), který se věnoval tématu Windows 2008 R2 AD cmdlets. Pokud již W2K8 R2 používáte, může se vám hodit &lt;a href="http://www.jonathanmedd.net/2009/10/active-directory-powershell-quick-reference-guide.html"&gt;Quick Reference Guide&lt;/a&gt; od &lt;a href="http://www.jonathanmedd.net/"&gt;Jonathana Medda&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Další témata meetingů UKPSUG jsou WMI &amp;amp; WQL (na ten se zvlášť těším) a Windows 7. Obojí z pohledu PowerShellu. &lt;a href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2738.entry"&gt;Více&lt;/a&gt; na stránce Richarda Siddawaye. &lt;/li&gt;&lt;li&gt;A ještě jednou Richard – &lt;a href="http://richardsiddaway.spaces.live.com/blog/cns!43CFA46A74CF3E96!2732.entry"&gt;oznámil progres&lt;/a&gt; u jeho knihy &lt;a href="http://manning.com/siddaway/"&gt;PowerShell in Practice&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Další (velmi vítanou) novinkou je informace o další knize od &lt;a href="http://manning.com/"&gt;Manning Publications&lt;/a&gt; – &lt;a href="http://manning.com/payette2/"&gt;PowerShell in Action&lt;/a&gt;, Second Edition. Prvních 15 kapitol je téměř hotovo a měly by být “&lt;em&gt;circulated shortly&lt;/em&gt;”. Oproti původnímu plánu byly přidány tři nové kapitoly, takže zatím je celkem plánováno 19 kapitol a čtyři přílohy.&lt;/li&gt;&lt;li&gt;Třetí knihou v dnešním přehledu je &lt;a href="http://www.sapienpress.com/PowerShell3.asp"&gt;PowerShell 2.0 TFM&lt;/a&gt;. E-book už je dostupný na stránkách &lt;a href="http://www.sapienpress.com/"&gt;Sapien Press&lt;/a&gt;. Pokud s PowerShellem začínáte, toto je dle mého názoru pro vás ta nejvhodnější kniha.&lt;/li&gt;&lt;li&gt;PowerShell Community Extensions jsou nyní ve fázi bety verze 2.0. Stahovat můžete přímo ze stránek &lt;a href="http://www.codeplex.com/Pscx"&gt;PSCX&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.twitter.com/stejcz"&gt;Stejcz&lt;/a&gt; publikoval skript pro hledání překladu na &lt;a href="http://www.slovnik.cz/"&gt;slovnik.cz&lt;/a&gt;. Dost mě to potěšilo, protože jsme se o tomto skriptu před nějakou dobou bavili a já se u něho zasek :( Pokud chcete hledat překlady slov mezi angličtinou a češtinou, podívejte se na &lt;a href="http://www.leporelo.eu/blog.aspx?id=ever-needed-english-czech-dictionary-or-vice-versa"&gt;modul Translate&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Poslední příspěvek mne vedl z zamyšlení na téma “proč mám rád, když programátoři vytvářejí skripty”. Vzhledem k tomu, že mne ve škole programování nebavilo (dneska bych si kvůli tomu nejradši dal sám pár facek), doháním vše až nyní. Vím, že to je marná snha, ale čtení kódu po zkušenějším mne baví. Více v některém z dalších článků.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Doplnění:&lt;/strong&gt; Pro samá písmenka jsem zapomněl zmínit to jubileum :( Můj oblíbený &lt;a href="http://powerscripting.wordpress.com/"&gt;PowerScripting Podcast&lt;/a&gt; se dočkal epizody s pořadovým číslem 100! Gratuluji &lt;a href="http://twitter.com/halr9000"&gt;Halovi&lt;/a&gt; a &lt;a href="http://twitter.com/jonwalz"&gt;Jonathanovi&lt;/a&gt; a děkuji jim za práci, kterou odvádějí. Jejich podcast byl pro mne impulsem, který mne nakopl v mém PowerShellovském bádání.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3750586188360785537?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3750586188360785537/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3750586188360785537' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3750586188360785537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3750586188360785537'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/get-psnews-week-eq-4.html' title='Get-PSNews |? {$_.Week –eq ‘04’}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6052699846033452751</id><published>2010-01-28T21:10:00.000+01:00</published><updated>2010-01-28T21:10:17.295+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PSRemoteTools'/><category scheme='http://www.blogger.com/atom/ns#' term='registry'/><category scheme='http://www.blogger.com/atom/ns#' term='module'/><title type='text'>PSRemoteRegistry modul</title><content type='html'>[EN: &lt;a href="http://translate.google.com/translate?js=y&amp;amp;prev=_t&amp;amp;hl=cs&amp;amp;ie=UTF-8&amp;amp;layout=1&amp;amp;eotf=1&amp;amp;u=http%3A%2F%2Fpowershell-cz.blogspot.com%2F2010%2F01%2Fpsremoteregistry-modul.html&amp;amp;sl=auto&amp;amp;tl=en"&gt;Autotranslation&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Jak jsem již psal &lt;a href="http://powershell-cz.blogspot.com/2010/01/get-psnews-week-eq-01.html"&gt;v posledních Get-PSNews&lt;/a&gt;, &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/"&gt;Shay Levy&lt;/a&gt; publikoval &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/01/10/remote-registry-powershell-module.aspx"&gt;modul PSRemoteRegistry&lt;/a&gt;. Než se vrhneme na popis, podívejme se, jaké možnosti pro přístup do registru (lokálně či vzdáleně) máme nyní.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Lokálně přes PSDrives: &lt;em&gt;Get-PSDrive -PSProvider *Registry&lt;/em&gt; - asi nejčastější metoda, kterou budete používat z konzole nebo ve skriptech.&lt;/li&gt;&lt;li&gt;Vzdáleně přes např. &lt;em&gt;Invoke-Command, Enter-PSSession&lt;/em&gt;, ...&lt;/li&gt;&lt;li&gt;Vzdáleně či lokálně přes WMI pomocí třídy &lt;a href="http://msdn.microsoft.com/en-us/library/aa393664(VS.85).aspx"&gt;StdRegProv&lt;/a&gt;. Obsahuje množství zajímavých metod, pokud jste v dobách VBS chtěli prohledat vzdálený registr, byla metoda &lt;a href="http://msdn.microsoft.com/en-us/library/aa390387(VS.85).aspx"&gt;EnumKey&lt;/a&gt; možná vaše první volba.&lt;/li&gt;&lt;li&gt;Vzdáleně či lokálně před .NET třídy Microsoft.Win32.Registry*&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Právě čtvrtý způsob využívá popisovaný modul, který zmiňované třídy zapouzdřuje do funkcí. Stáhnout si jej můžete &lt;a href="http://code.msdn.microsoft.com/PSRemoteRegistry"&gt;z MSDN&lt;/a&gt;, kde je zároveň popsáno, jak jej správně importovat do PowerShellu. Seznam dostupných funkcí je vypsán na stránkách modulu, sami si jej můžete vylistovat pomocí &lt;em&gt;Get-Command -Module PSRemoteRegistry&lt;/em&gt;. V &lt;a href="http://powershell-cz.blogspot.com/2010/01/hratky-s-parametry.html"&gt;tomto článku&lt;/a&gt; se můžete podívat na matici funkcí a dostupných parametrů. Součástí modulu je i tématická nápověda &lt;em&gt;about_RemoteRegistry_Module&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Nejprve si ukážeme práci s lokálním počítačem a na konci článku uvedu, jak se lze dotazovat vzdálených počítačů. Otestujme, jestli existuje námi požadovaná větev.&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; Test-RegKey -Key "SOFTWARE\Makovec"&lt;br /&gt;False&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Neexistuje, takže ji vytvoříme&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; New-RegKey -Key SOFTWARE -Name Makovec&lt;br /&gt;PS C:\&gt; Test-RegKey -Key "SOFTWARE\Makovec"&lt;br /&gt;True&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Výborně, nyní si vytvoříme pár testovacích hodnot&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; 1..10 | % { Set-RegString -Key SOFTWARE\Makovec -Value "RegString$_" -Data $(Get-Random) -Force }&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Všimněte si parametru -Force. Pokud jej neuvedete, budete vyzváni, abyste potvrdili zápis (bezpečnostní pojistka). Nyní si můžeme hodnoty zkontrolovat.&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; Get-RegKey -Key SOFTWARE -Name Makovec&lt;br /&gt;ComputerName Hive Key SubKeyCount ValueCount&lt;br /&gt;------------ ---- --- ----------- ----------&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec 0 10&lt;br /&gt;&lt;br /&gt;PS C:\&gt; Get-RegKey -Key SOFTWARE -Name Makovec | Get-RegValue&lt;br /&gt;ComputerName Hive Key Value Data Type&lt;br /&gt;------------ ---- --- ----- ---- ----&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString1 1249268748 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString2 1967993881 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString3 1010703330 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString4 86413294 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString5 917742177 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString6 74280723 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString7 526159413 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString8 205545931 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString9 286790375 String&lt;br /&gt;NETBOOK LocalMachine SOFTWARE\Makovec RegString10 2007859651 String&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Pojďme si ukázat příklad ze života. Potřebujeme zjistit, na jakém portu komunikuje náš SMS klient na jednotlivých počítačích.&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; 'PC1','PC2','PC3','PC4' | Get-RegValue -Key SOFTWARE\Microsoft\CCM -Value httpport | ft ComputerName, Value, Data -AutoSize&lt;br /&gt;&lt;br /&gt;ComputerName Value Data&lt;br /&gt;------------ ----- ----&lt;br /&gt;PC1 HttpPort 1234&lt;br /&gt;PC2 HttpPort 1111&lt;br /&gt;PC3 HttpPort 1234&lt;br /&gt;PC4 HttpPort 1234&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;Vidíme, že PC2 potřebuje nutně změnu. Pokud pustíte skript přes více počítačů ve vaší síti, může se stát (a určitě se stane), že některé počítače budou nedostupné a obdržíte chybovou zprávu: &lt;em&gt;Get-RegValue : Exception calling "OpenRemoteBaseKey" with "2" argument(s): "The network path was not found&lt;/em&gt;. Pro tyto případy jsou všechny funkce z PSRemoteRegistry modulu vybaveny parametrem -Ping a pokud jej použijete dostanete jasnou zprávu, kde se stala chyba.&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; 'PC1','PC2','PC3','PC4' | Get-RegValue -Key SOFTWARE\Microsoft\CCM -Value httpport -Ping | ft ComputerName, Value, Data -AutoSize&lt;br /&gt;&lt;br /&gt;WARNING: [PC2] doesn't respond to ping.&lt;br /&gt;WARNING: [PC3] doesn't respond to ping.&lt;br /&gt;ComputerName Value Data&lt;br /&gt;------------ ----- ----&lt;br /&gt;PC1 HttpPort 1234&lt;br /&gt;PC4 HttpPort 1234&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;Do připravovaného článku pro &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash&lt;/a&gt; jsem přidal ukázku, jak použít předchozí příklad na všechny počítače ve vaší doméně. Abych nezapomněl, měli bychom po sobě uklidit.&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; Remove-RegKey -Key SOFTWARE\Makovec -Force&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;Musím přiznat, že PSRemoteRegistry jsem okamžitě přidal do svého profilu a za těch pár dní, co jej používám se stal nenahraditelným pomocníkem. Pokud budete někdy potřebovat přistupovat ke vzdáleným registrům, tento modul je pro vás prostě &lt;strong&gt;must have&lt;/strong&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6052699846033452751?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6052699846033452751/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6052699846033452751' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6052699846033452751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6052699846033452751'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/psremoteregistry-modul.html' title='PSRemoteRegistry modul'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8564174482461039930</id><published>2010-01-28T18:45:00.014+01:00</published><updated>2010-01-28T19:40:09.220+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><title type='text'>Uložení záložek z IE7</title><content type='html'>[EN: &lt;a href="http://translate.google.com/translate?js=y&amp;amp;prev=_t&amp;amp;hl=cs&amp;amp;ie=UTF-8&amp;amp;layout=1&amp;amp;eotf=1&amp;amp;u=http%3A%2F%2Fpowershell-cz.blogspot.com%2F2010%2F01%2Fulozeni-zalozek-z-ie7.html&amp;amp;sl=auto&amp;amp;tl=en"&gt;Autotranslation&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Poslední dobou se na konci každého pracovního dne probírám otevřenými záložkami v Internet Exploreru a říkám si, kdy to asi budu číst. Většinou přes den otvírám všechno, co mi přijde zajímavé (což jsou pro mne na Twitteru všechny zprávy o PowerShellu :) a pak nestíhám všechno přes den číst. Proto jsem začal používat &lt;a href="http://www.evernote.com/"&gt;Evernote&lt;/a&gt; a nepřečtené stránky si synchronizuji, abych si je přečetl večer doma. Jelikož jsem vždy ručně kopíroval všechny adresy, nebylo to zrovna pohodlné a rychlé. Rozhodl jsem se, že si tedy udělám skript, který mi všechny otevřené stránky do Evernote klienta nahraje.&lt;br /&gt;&lt;br /&gt;Nejprve jsem si myslel, že budu každou instanci IE spouštět z PowerShellu a na konci dne prostě projdu všechny záložky. Což jsem samozřejmě zavrhl okamžitě (vzhledem k množství oken otevíraných externími aplikacemi). Začal jsem brouzdat a objevil příspěvek na &lt;a href="http://stackoverflow.com/questions/697759/how-do-i-access-the-classic-internet-explorer-com-automation-object-for-a-running"&gt;Stack Overflow&lt;/a&gt;. Celé řešení využívalo COM &lt;a href="http://msdn.microsoft.com/en-us/library/bb774094(VS.85).aspx"&gt;Shell.Application&lt;/a&gt;, který jsem následně využil.&lt;br /&gt;&lt;br /&gt;Nejprve jsem jako součást skriptu přidal i možnost exportu do Evernote. Pak jsem ale podlehl (správné :) myšlence na modularitu a pro export vytvořil novou funkci &lt;strong&gt;Export-Evernote&lt;/strong&gt;. Tak můžu v rouře volat libovolný cmdlet a výsledky si číst doma.&lt;br /&gt;&lt;br /&gt;Celá funkce tedy vypadá následovně:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color:#0000ff;"&gt;function&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5f9ea0;"&gt;Export-IETabName&lt;/span&gt;&lt;span style="color:#000000;"&gt; {&lt;br /&gt;&lt;br /&gt;    $(&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;color:#5f9ea0;" &gt;New-Object&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="FONT-STYLE: italic;color:#5f9ea0;" &gt;-Com&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;'&lt;/span&gt;&lt;span style="color:#800000;"&gt;Shell.Application&lt;/span&gt;&lt;span style="color:#800000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt;).Windows() |&lt;br /&gt;        ? { &lt;/span&gt;&lt;span style="color:#800080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Name &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-eq&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;'&lt;/span&gt;&lt;span style="color:#800000;"&gt;Windows Internet Explorer&lt;/span&gt;&lt;span style="color:#800000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; } |&lt;br /&gt;        ? { &lt;/span&gt;&lt;span style="color:#800080;"&gt;$_&lt;/span&gt;&lt;span style="color:#000000;"&gt;.LocationURL &lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-notlike&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;'&lt;/span&gt;&lt;span style="color:#800000;"&gt;https://remedy*&lt;/span&gt;&lt;span style="color:#800000;"&gt;'&lt;/span&gt;&lt;span style="color:#000000;"&gt; } |&lt;br /&gt;          &lt;/span&gt;&lt;span style="FONT-WEIGHT: bold;color:#5f9ea0;" &gt;Select&lt;/span&gt;&lt;span style="color:#000000;"&gt; LocationName, &lt;/span&gt;&lt;span style="color:#800000;"&gt;LocationURL&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;} &lt;/span&gt;&lt;span style="color:#008000;"&gt;#&lt;/span&gt;&lt;span style="color:#008000;"&gt; function Export-IETabName&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Ze všech objektů, které vrátí metoda &lt;a href="http://msdn.microsoft.com/en-us/library/bb774107(VS.85).aspx"&gt;Windows()&lt;/a&gt;, vyberu instance Internet Exploreru, vyfiltruji záložky obsahující stránky, které doma číst nechci (zde Remedy) a dále posílám pouze jméno stránky a její adresu. Před odchodem, tedy mohu použít následující kód&lt;br /&gt;&lt;br /&gt;&lt;p class="code"&gt;PS C:\&gt; Export-IETabName | Export-Evernote -Sync&lt;/p&gt;&lt;br /&gt;a poté mohu s klidem vypnout počítač a odejít.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8564174482461039930?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8564174482461039930/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8564174482461039930' title='Počet komentářů: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8564174482461039930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8564174482461039930'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/ulozeni-zalozek-z-ie7.html' title='Uložení záložek z IE7'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-950881801445046115</id><published>2010-01-24T22:29:00.003+01:00</published><updated>2010-01-24T22:33:11.041+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week –eq '03'}</title><content type='html'>&lt;p&gt;Uplynulý týden se nesl ve znamení následujících událostí&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;V pondělí vyšla &lt;a href="http://powerscripting.wordpress.com/2010/01/18/episode-98-steven-murawsk-on-powershellcommunity-org-and-debugging/"&gt;nová epizoda PowerScripting Podcastu&lt;/a&gt; - tentokrát se Stevenem Murawskim, hostitelem &lt;a href="http://www.mindofroot.com/"&gt;Mind of Root&lt;/a&gt; a co-directorem &lt;a href="http://www.powershellcommunity.org/"&gt;PowerShellCommunity.org&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Celý týden na &lt;a href="http://blogs.technet.com/heyscriptingguy/"&gt;Hey Scripting Guy!&lt;/a&gt; byl zaměřen na moduly. Pokud vytváříte větší množství tématických skriptů a moduly nepoužíváte (novinka ve verzi 2), mohou se vám publikované články hodit. &lt;/li&gt;    &lt;li&gt;Trošku do hloubky na téma &lt;a href="http://blogs.msdn.com/powershell/archive/2010/01/23/powershellhostversion-wtf.aspx"&gt;module manifest&lt;/a&gt; na blogu vývojového týmu PowerShellu (doporučuji &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/01/14/module-manifest-gotcha.aspx"&gt;začít zde&lt;/a&gt;).&lt;/li&gt;    &lt;li&gt;Oisin Grehan publikoval skript, který najde &lt;a href="http://www.nivot.org/2010/01/18/PowerShell20AboutDynamicParameters.aspx"&gt;parametry zadaného cmdletu v závislosti na kontextu&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Poprvé na tomto blogu něco pro Exchange administrátory. Jak na &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/01/21/How-to-modify-email-addresses-with-PowerShell-2.0.aspx"&gt;změnu emailové adresy&lt;/a&gt;, publikoval Shay Levy. &lt;/li&gt;    &lt;li&gt;Pokud používáte cmdlet Export-Csv a vadí vám, že nemá parametr Append, &lt;a href="http://dmitrysotnikov.wordpress.com/2010/01/19/export-csv-append"&gt;zkuste vylepšení&lt;/a&gt; od Dmitriho Sotnikova. &lt;/li&gt;    &lt;li&gt;Jak na &lt;a href="http://www.leeholmes.com/blog/DelayedScreenCapturesInPowerShell.aspx"&gt;odložený Print Screen&lt;/a&gt; z PowerShell konzole, ukazuje v článku Lee Holmes. &lt;/li&gt;    &lt;li&gt;Pokud používáte AD cmdlety od firmy Quest, může se vám hodit tip na &lt;a href="http://daniellange.wordpress.com/2010/01/19/speeding-up-ad-object-retrieval/"&gt;zrychlení odezvy&lt;/a&gt; při vracených objektů. &lt;/li&gt;    &lt;li&gt;Jak používat PowerShell pro práci s GPO, popsán příklad pro &lt;a href="http://blog.powershell.no/2010/01/18/automate-group-policy-preferences-printer-management-using-windows-powershell-2/"&gt;správu tiskáren&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Pokud hledáte zvýrazňovač syntaxe pro vaše stránky, zkuste &lt;a href="http://blogs.sepago.de/helge/2010/01/18/syntax-highlighting-powershell-code-in-html-with-a-powershell-script/"&gt;zvýraznění pomocí PowerShell skriptu&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Minule jsem byl nadšen &lt;a href="http://powergui.org/thread.jspa?threadID=11030&amp;amp;tstart=0"&gt;MobileShell&lt;/a&gt;-em, &lt;a href="http://dmitrysotnikov.wordpress.com/2010/01/22/running-mobileshell-on-windows-7/"&gt;zkuste jej na Windows 7&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Vytváříte často vlastní objekty? Jak to řeší &lt;a href="http://karlprosser.com/coder/2010/01/24/quick-and-dirty-new-custom-object/"&gt;Karl Prosser&lt;/a&gt; a &lt;a href="http://dougfinke.com/blog/index.php/2010/01/24/powershell-new-pscustomobject/"&gt;Doug Finke&lt;/a&gt;?&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Posledních několik týdnů se také mluví o větší popularizaci PowerShellu mezi (hlavně) administrátory. Nejvíce je nyní v této souvislosti asi slyšet Jeff Hicks (samozřejmě ale není jediný), který &lt;a href="http://www.mindofroot.com/2010/01/18/mor-128-promoting-scripting-and-good-hygiene/"&gt;byl hostem&lt;/a&gt; v dnes již jednou zmiňovaném podcastu &lt;a href="http://www.mindofroot.com/"&gt;Mind of Root&lt;/a&gt;. Poté napsal i &lt;a href="http://jdhitsolutions.com/blog/2010/01/promoting-scripting-and-powershell/"&gt;krátký příspěvek&lt;/a&gt; v jeho blogu. Proto bych chtěl dnešní noviky opět ukončit několika otázkami a budu moc rád, pokud mi na ně odpovíte (klidně se rozepište více :)). Mé odpovědi najdete v komentářích.&lt;/p&gt; &lt;/blockquote&gt;  &lt;ol&gt;   &lt;li&gt;Jak dlouho s PowerShellem pracujete? &lt;/li&gt;    &lt;li&gt;Pro jaké úkoly PowerShell používáte? &lt;/li&gt;    &lt;li&gt;Snažíte se propagovat PowerShell ve vaší práci a nebo si jej radši necháváte pro sebe, abyste měli náskok před kolegy. &lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-950881801445046115?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/950881801445046115/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=950881801445046115' title='Počet komentářů: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/950881801445046115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/950881801445046115'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/get-psnews-week-eq-03.html' title='Get-PSNews |? {$_.Week –eq &apos;03&apos;}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4845999082255333556</id><published>2010-01-17T20:31:00.003+01:00</published><updated>2010-01-24T22:33:30.461+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week -eq '02'}</title><content type='html'>Tak jsem tady s druhými letošními novinkami. Tentokrát jich nebude tolik jako před týdnem, ale zato je mezi nimi jedna bomba (tedy alespoň pro mě). Hodně se dnes budeme motat v rouře :)&lt;div&gt;&lt;ul&gt;&lt;li&gt;Jeffery Hicks publikoval zajímavý článek na téma &lt;a href="http://jdhitsolutions.com/blog/2010/01/potential-pipeline-pitfall"&gt;Potential Pipeline Pitfall&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.leporelo.eu/blog.aspx?id=learned-again-something-about-powershell-pipelines"&gt;O vnořených rourách a obsahu parametru $_&lt;/a&gt; píše Pepa Štefan na &lt;a href="http://www.leporelo.eu/"&gt;leporelo.eu&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Do třetice roura: &lt;a href="http://powershell.com/cs/blogs/tobias/archive/2010/01/13/cancelling-a-pipeline.aspx"&gt;Canceling a pipeline&lt;/a&gt; na &lt;a href="http://powershell.com/"&gt;powershell.com&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Celý uplynulý týden byl na &lt;a href="http://blogs.technet.com/heyscriptingguy/default.aspx"&gt;Hey Scripting Guy!&lt;/a&gt; blogu věnován automatizaci Microsoft Visio.&lt;/li&gt;&lt;li&gt;&lt;a href="http://powerscripting.wordpress.com/2010/01/10/episode-97-clint-huffman-and-his-pal-project/"&gt;Clint Huffman povídal o projektu PAL&lt;/a&gt; v posledním PowerScripting Podcastu.&lt;/li&gt;&lt;li&gt;Pokud potřebuje do většího množství fotek &lt;a href="http://www.ravichaganti.com/blog/?p=1012"&gt;přidat vodoznak&lt;/a&gt;, zkuste to příště v PowerShellu.&lt;/li&gt;&lt;li&gt;James O'Neill uvedl sérii článků o regulárních výrazech (&lt;a href="http://blogs.technet.com/jamesone/archive/2010/01/14/the-joy-of-reg-ex-part-1.aspx"&gt;1. díl&lt;/a&gt;, &lt;a href="http://blogs.technet.com/jamesone/archive/2010/01/14/the-joy-of-reg-ex-part-2-ways-i-use-it.aspx"&gt;2. díl&lt;/a&gt;, &lt;a href="http://blogs.technet.com/jamesone/archive/2010/01/16/the-joy-of-reg-ex-part-3-select-string.aspx"&gt;3. díl&lt;/a&gt;). Máte-li účet na Twitteru a zajímají vás regulární výrazy, můžete zkusit follow @RegexTip.&lt;/li&gt;&lt;li&gt;Pokud se občas trápíte tím, jestli je skript stažený z internetu bezpečné spustit, zkuste článek &lt;a href="http://jdhitsolutions.com/blog/2010/01/profiling-a-script"&gt;Profiling a script&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Onou slibovanou bombou je pro mne tento týden (a věřím, že i pro mnoho budoucích) &lt;a href="http://powergui.org/forum.jspa?forumID=882&amp;amp;start=0"&gt;MobileShell&lt;/a&gt;. Ve zkratce se jedná o přístup k PowerShell konzoli přes webové rozhraní (např. ve smartphonech). Doporučuji začít &lt;a href="http://dmitrysotnikov.wordpress.com/"&gt;na  stránkách Dmitriho Sotnikova&lt;/a&gt;, například &lt;a href="http://dmitrysotnikov.wordpress.com/2010/01/15/mobileshell-demo/"&gt;tímto videem&lt;/a&gt;. Já osobně jsem na toto řešení hodně zvědavý a v hlavě mi letí desítky možných využití. Jak se MobileShell líbí vám?&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4845999082255333556?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4845999082255333556/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4845999082255333556' title='Počet komentářů: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4845999082255333556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4845999082255333556'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/get-psnews-week-eq-02.html' title='Get-PSNews |? {$_.Week -eq &apos;02&apos;}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3515754050203462269</id><published>2010-01-11T21:42:00.020+01:00</published><updated>2010-01-11T23:13:48.835+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PSRemoteTools'/><category scheme='http://www.blogger.com/atom/ns#' term='Get-Command'/><category scheme='http://www.blogger.com/atom/ns#' term='cmdlet'/><title type='text'>Hrátky s parametry</title><content type='html'>[EN: &lt;a href="http://translate.google.cz/translate?hl=cs&amp;amp;sl=cs&amp;amp;tl=en&amp;amp;u=http%3A%2F%2Fpowershell-cz.blogspot.com%2F2010%2F01%2Fhratky-s-parametry.html"&gt;Autotranslation&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;Dnes jsem si hrál s modulem &lt;a href="http://code.msdn.microsoft.com/PSRemoteRegistry"&gt;PSRemoteRegistry&lt;/a&gt; od &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/01/10/remote-registry-powershell-module.aspx"&gt;Shaye Levyho&lt;/a&gt;. Testoval jsem různé parametry a napadlo mě, vypsat si tabulku, kde v řádkách budou vylistované funkce a ve sloupcích jednotlivé parametry. Vznikl mi následující výtvor:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ni46JsIL9eA/S0uPtoAOd-I/AAAAAAAAASs/pwBkarH_m2s/s1600-h/Cmdlet_Param_Matrix.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5425588190093146082" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 147px" alt="" src="http://2.bp.blogspot.com/_Ni46JsIL9eA/S0uPtoAOd-I/AAAAAAAAASs/pwBkarH_m2s/s400/Cmdlet_Param_Matrix.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Poté mě napadlo udělat malou statistiku pro standardní cmdlety. Nevím, jestli je to užitečné, ale já jsem se při tvorbě skriptu i výsledků dobře bavil :)&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Počet cmdletů v modulech Microsoft.*:&lt;/strong&gt; 236&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Počet parametrů použitých v těchto cmdletech:&lt;/strong&gt; 449&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Počet kombinací cmdlet/parametr:&lt;/strong&gt; 3491&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Parametry, které jsou dostupné pro každý cmdlet:&lt;/strong&gt; Zde určitě nikoho nepřekvapí (pokud ano, &lt;em&gt;Get-Help about_CommonParameters&lt;/em&gt; je váš přítel pro následujících 10 minut :), že jsou to takzvané Common Parameters: Verbose, Debug, WarningAction, WarningVariable, ErrorAction, ErrorVariable, OutVariable, OutBuffer. Vyskytují se - ano, hádáte správně - 236x.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Další v pořadí jsou:&lt;/strong&gt; Confirm, WhatIf (85), Force (68), Name (67), InputObject, Credential (54), Path (52). Ostatní parametry se vyskytují méně než 50x.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Parametrů, které se vyskytují pouze u jednoho cmdletu je &lt;/strong&gt;270.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Cmdlet s největším počtem parametrů:&lt;/strong&gt; New-ModuleManifest (38)&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Další v pořadí: &lt;/strong&gt;Invoke-Command (28), New-PSSessionOption (28), Get-WSManInstance (28), Get-WmiObject (26), Set-WmiInstance, Invoke-WmiMethod (25).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Nejméně parametrů:&lt;/strong&gt; Get-Culture, Get-Transaction, Get-Host, Get-PSCallStack, Get-UICulture, Exit-PSSession, Stop-Transcript, Get-WSManCredSSP (8).&lt;/li&gt;&lt;/ul&gt;Určitě bych mohl pokračovat dále, ale myslím, že tohle pro přehled stačí. Pokud chcete dělat vlastní výzkumy, zde je kód:&lt;br /&gt;&lt;br /&gt;&lt;DIV class=dp-highlighter id=hlDiv&gt;&lt;br /&gt;&lt;DIV class=bar&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;OL class=dp-rb&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN class=keyword&gt;function&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;Get-CommandParameter&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=keyword&gt;param&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;( &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[Parameter( &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueFromPipeline=&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$true&lt;/SPAN&gt;&lt;SPAN&gt;, &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueFromPipelineByPropertyName=&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$true&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[string[]]&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$Name&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN class=string&gt;""&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;) &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PROCESS&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=keyword&gt;foreach&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$c&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=keyword&gt;in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$Name&lt;/SPAN&gt;&lt;SPAN&gt;)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=comment&gt;#&amp;nbsp;receive&amp;nbsp;all&amp;nbsp;parameters &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$cParams&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN class=builtin&gt;Get-Command&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$c&lt;/SPAN&gt;&lt;SPAN&gt;).Parameters.Keys &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=comment&gt;#&amp;nbsp;process&amp;nbsp;every&amp;nbsp;parameter&amp;nbsp;and&amp;nbsp;create&amp;nbsp;object &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=keyword&gt;foreach&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$p&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=keyword&gt;in&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$cParams&lt;/SPAN&gt;&lt;SPAN&gt;)&amp;nbsp;{ &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$psObj&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=builtin&gt;New-Object&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;PSObject&amp;nbsp;-Property&amp;nbsp;@{ &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Command=&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$c&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Parameter=&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$p&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=comment&gt;#&amp;nbsp;psObj&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=variable&gt;$psObj&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=comment&gt;#&amp;nbsp;foreach&amp;nbsp;$p &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=comment&gt;#&amp;nbsp;foreach&amp;nbsp;$c&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=alt&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=comment&gt;#&amp;nbsp;PROCESS &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;br /&gt;&lt;LI class=""&gt;&lt;SPAN&gt;&lt;SPAN&gt;}&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class=comment&gt;#&amp;nbsp;function&amp;nbsp;Get-CommandParameter&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;Použití je poté následující:&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $a = Get-Command -CommandType cmdlet Get-CommandParameter&lt;br /&gt;PS C:\&gt; $a.Count&lt;br /&gt;3491&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3515754050203462269?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3515754050203462269/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3515754050203462269' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3515754050203462269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3515754050203462269'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/hratky-s-parametry.html' title='Hrátky s parametry'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ni46JsIL9eA/S0uPtoAOd-I/AAAAAAAAASs/pwBkarH_m2s/s72-c/Cmdlet_Param_Matrix.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5618794891709622484</id><published>2010-01-10T22:00:00.009+01:00</published><updated>2010-01-11T14:58:17.655+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.Week -eq '01'}</title><content type='html'>V minulém článku jsem uvedl špatné číslo týdne. Po konzultaci s kalendářem jsem zjistil, že první týden nového roku je ten uplynulý. Zároveň jsem se rozhodl zkrátit název článku a z dlouhého textu jsem vypustil &lt;b&gt;Write-Hos&lt;/b&gt;t (které bych asi stejně změnil na &lt;b&gt;Write-Output&lt;/b&gt;) i vlastnost CreationTime. Nyní je název kratší a číslo týdne je viditelné na první pohled. Co nám tedy první týden nového roku přichystal na poli PowerShellu:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Minule jsem zapomněl jednu důležitou věc. Měl jsem to štěstí, že zrovna když jsem byl připojen na IRC kanál #powershell, Jaykul navrhl vytvoření Virtual PowerShell User Group. Během pár dnů byla skupina aktivní. Více na &lt;a href="http://powershellgroup.org/virtual"&gt;http://powershellgroup.org/virtual&lt;/a&gt; (po napsání tohoto příspěvku se objevila &lt;a href="http://huddledmasses.org/the-virtual-powershell-group/"&gt;oficiální zpráva&lt;/a&gt; přímo od Joela).&lt;/li&gt;&lt;li&gt;Za peníze vyhrané v PowerPack Challenge jsem si mimojiné koupil nejnovější knihu o PowerShellu - &lt;a href="http://blogs.msdn.com/microsoft_press/archive/2009/12/16/new-book-windows-powershell-2-0-best-practices.aspx"&gt;Windows PowerShell 2.0 Best Practices&lt;/a&gt; z klávesnice Ed Wilsona AKA Scripting Guy. Krátkou recenzi si můžete přečíst v &lt;a href="http://powershell-cz.blogspot.com/2010/01/recenze-windows-powershell-20-best.html"&gt;tomto příspěvku&lt;/a&gt;. Mimochodem, pokud se chcete podívat na seznam knih o PowerShellu (v anglickém jazyce), jděte na stránky &lt;a href="http://powershellcommunity.org/"&gt;PowerShellCommunity.org&lt;/a&gt;, kde v sekci &lt;a href="http://powershellcommunity.org/LearningResources.aspx"&gt;Learning Resources&lt;/a&gt; najdete několik dalších tipů pro studium.&lt;/li&gt;&lt;li&gt;Pokud máte účet na Twitteru a rádi byste ukázali svoji podporu PowerShellu, přidejte si jeho &lt;a href="http://twibbon.com/cause/PowerShell-rocks"&gt;ikonu ke svému avataru&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Jestliže používáte &lt;a href="http://technet.microsoft.com/en-us/library/dd347721.aspx"&gt;Start-Transcript&lt;/a&gt; a nedaří se vám zapsat výstupy nativních příkazů Windows, zkuste &lt;a href="http://blogs.msdn.com/powershell/archive/2010/01/04/workaround-for-start-transcript-on-native-processes.aspx"&gt;workaround&lt;/a&gt; popsaný na stránkách &lt;a href="http://blogs.msdn.com/powershell/default.aspx"&gt;PowerShell týmu&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;James Brundage uvedl pěkný post ukazující &lt;a href="http://blogs.msdn.com/mediaandmicrocode/archive/2010/01/06/get-computersnearme.aspx"&gt;práci s COM objektem Shell.Application&lt;/a&gt; (včetně zajímavého &lt;a href="http://msdn.microsoft.com/en-us/library/bb774096(VS.85).aspx"&gt;linku na MSDN&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Určitě jste v týdnu zahlédli alespň zmínku o takzvaném God Mode ve Windows 7. Pokud k němu chcete mít přístup z PowerShellu, vyzkoušejte &lt;a href="http://dougfinke.com/blog/index.php/2010/01/05/godmode-in-a-single-line-of-powershell/"&gt;tento tip&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Zajímavají vás &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2010/01/06/top-20-hey-scripting-guy-blog-posts-for-2009.aspx"&gt;nejčtenější články&lt;/a&gt; na Hey, Scripting Guy! blogu za loňský rok?&lt;/li&gt;&lt;li&gt;Jsem rád, že i u nás se oběvují pěkné příspěvky o PowerShellu, tento na téma &lt;a href="http://www.leporelo.eu/blog.aspx?id=powershell-formatting-format-wide-rotated-to-format-columns"&gt;Format-Columns&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jonathanmedd.net/about-2"&gt;Jonathan Medd&lt;/a&gt; pokračuje ve vynikající sérii One Cmdlet at a Time, tentokrát na témata &lt;a href="http://www.jonathanmedd.net/2010/01/powershell-2-0-one-cmdlet-at-a-time-30-enable-psremoting.html"&gt;Enable-PSRemoting&lt;/a&gt;, &lt;a href="http://www.jonathanmedd.net/2010/01/powershell-2-0-one-cmdlet-at-a-time-31-enter-pssession.html"&gt;Enter-PPSession&lt;/a&gt;, &lt;a href="http://www.jonathanmedd.net/2010/01/powershell-2-0-one-cmdlet-at-a-time-32-exit-pssession.html"&gt;Exit-PSSession&lt;/a&gt;, &lt;a href="http://www.jonathanmedd.net/2010/01/powershell-2-0-one-cmdlet-at-a-time-33-new-pssession.html"&gt;New-PSSession&lt;/a&gt;, &lt;a href="http://www.jonathanmedd.net/2010/01/powershell-2-0-one-cmdlet-at-a-time-34-invoke-commmand.html"&gt;Invoke-Command&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;V posledním článku pro TechNet Flash jsem psal &lt;a href="http://blogs.technet.com/technetczsk/pages/powershell-serial-dolujeme-data-aneb-jak-na-wmi-cast-4.aspx"&gt;o WMI&lt;/a&gt;. Porovnání práce s cmdletem Get-WmiObject a příkazem wmic.exe se věnuje &lt;a href="http://blogs.msdn.com/wmi/archive/2010/01/06/wmic-vs-wmi-powershell-cmdlets.aspx"&gt;článek na Windows Management Infrastructure blogu&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Zajímavý článek (a následná diskuse na IRC) ohledně tématu &lt;a href="http://powershell.com/cs/blogs/tobias/archive/2010/01/08/1-equals-quot-running-quot-melting-integer-and-string-objects-together.aspx"&gt;1 = Running&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Moc hezký &lt;a href="http://dmitrysotnikov.wordpress.com/2010/01/07/powershell-based-download-manager/"&gt;PowerShell based download manager&lt;/a&gt; postavený nad PowerGUI.&lt;/li&gt;&lt;li&gt;Shay Levy publikoval &lt;a href="http://blogs.microsoft.co.il/blogs/scriptfanatic/archive/2010/01/10/remote-registry-powershell-module.aspx"&gt;Remote Registry PowerShell modul&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;A poslední link nikoli o PowerShellu, ale &lt;a href="http://freeworld.thc.org/root/phun/unmaintain.html"&gt;pro zasmání&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5618794891709622484?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5618794891709622484/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5618794891709622484' title='Počet komentářů: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5618794891709622484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5618794891709622484'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/get-psnews-week-eq-01.html' title='Get-PSNews |? {$_.Week -eq &apos;01&apos;}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5044091305940325127</id><published>2010-01-09T13:43:00.001+01:00</published><updated>2010-01-09T13:19:45.767+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><category scheme='http://www.blogger.com/atom/ns#' term='v2'/><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><title type='text'>Hej, mistře Šelíku!</title><content type='html'>&lt;div&gt;Mistr Skriptík se doslechl, že &lt;a href="http://support.microsoft.com/default.aspx/kb/968929"&gt;PowerShell je nyní ve verzi 2&lt;/a&gt; a zajímalo ho, jestli by mistr Šelík neměl nějaký tip na vypnutí vzdáleného počítače bez použití WMI.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_Ni46JsIL9eA/Sy9u-7xgpzI/AAAAAAAAAR4/H9grdwBIAk8/s1600-h/skriptik_09_12.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5417670904226293554" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 174px" alt="" src="http://1.bp.blogspot.com/_Ni46JsIL9eA/Sy9u-7xgpzI/AAAAAAAAAR4/H9grdwBIAk8/s400/skriptik_09_12.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Brutalita a přímočarost Šelíkova řešení je odporná:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\Stop-Computer netbook&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Vzdálený počítač se vypne a do logu se zapíše následující informace:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\Get-EventLog -LogName System -ComputerName netbook -Source user32 -Newest 1&lt;br /&gt;&lt;br /&gt;EntryType : Information&lt;br /&gt;Source    : USER32&lt;br /&gt;Message   : The process winlogon.exe has initiated the restart of NETBOOK for the following reason: No title for this reason could be found&lt;br /&gt;Minor Reason: 0xff&lt;br /&gt;Shutdown Type: shutdown&lt;br /&gt;Comment:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;V PowerShellu v2 byly přidání cmdlety pro práci se vzdáleným počítačem, protože vypnutí (ale hlavně restart) vzdáleného počítače je jeden ze základních administrátorských úkonů. Jsou dostupné následující cmdlety:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Add-Computer&lt;/strong&gt; a &lt;strong&gt;Remove-Computer&lt;/strong&gt; pro přidávání/odebírání počítače z/do domény nebo pracovní skupiny.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Checkpoint-Computer&lt;/strong&gt; a &lt;strong&gt;Restore-Computer&lt;/strong&gt; pro práci se System restore.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Restart-Computer&lt;/strong&gt; a &lt;strong&gt;Stop-Computer&lt;/strong&gt; pro vzdálený restart nebo vypnutí počítače.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;Banner mistra Skriptíka je stažen ze stránek &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash zpravodaje&lt;/a&gt;. Děkuji týmu TechNetu za možnost jeho použití pro potřeby tohoto článku.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5044091305940325127?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5044091305940325127/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5044091305940325127' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5044091305940325127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5044091305940325127'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/12/hej-mistre-seliku.html' title='Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ni46JsIL9eA/Sy9u-7xgpzI/AAAAAAAAAR4/H9grdwBIAk8/s72-c/skriptik_09_12.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7157499316807120492</id><published>2010-01-07T23:18:00.002+01:00</published><updated>2010-01-07T23:35:40.034+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recenze'/><category scheme='http://www.blogger.com/atom/ns#' term='knihy'/><title type='text'>Recenze: Windows PowerShell 2.0 Best Practices</title><content type='html'>&lt;p&gt;K Vánocům jsem si pořídil novou knihu o PowerShellu – &lt;a href="http://blogs.msdn.com/microsoft_press/archive/2009/12/16/new-book-windows-powershell-2-0-best-practices.aspx"&gt;Best Practices&lt;/a&gt;. Autorem je Ed Wilson AKA Scripting Guy. Rozhodně se nejedná o žádnou brožuru do kapsy (narozdíl od například &lt;a href="http://www.amazon.com/Windows-PowerShell-Administrators-Pocket-Consultant/dp/0735625956/"&gt;PowerShell Administrator’s Pocket Consultant&lt;/a&gt;), má 752 stran a váží víc než můj netbook.&lt;/p&gt;  &lt;p&gt;Kniha je rozčleněna do pěti částí (17. kapitol + 6 příloh) a obsahuje CD, na kterém jsou popisované skripty a několik dalších informací. Kniha není určena pro začátečníky. Předpokládá, že znáte základy a ve skriptech nevysvětluje použité konstrukce. Na druhou stranu – pokud jste alespoň o trochu chápavější než dlažební kostka, nebudete mít většinou s pochopením problém a chybějící informaci si dohledáte například v nápovědě.&lt;/p&gt;  &lt;p&gt;Na stránkách &lt;a href="http://blogs.msdn.com/microsoft_press/default.aspx"&gt;Microsoft Press&lt;/a&gt; si můžete přečíst, &lt;a href="http://blogs.msdn.com/microsoft_press/archive/2009/12/16/new-book-windows-powershell-2-0-best-practices.aspx"&gt;jak je kniha členěna&lt;/a&gt; (anglicky). &lt;/p&gt;  &lt;h4&gt;Část 1. – Úvod&lt;/h4&gt;  &lt;p&gt;Tato část je rozdělena do čtyř kapitol. První dvě se věnují opravdu základům PowerShellu. Novým cmdletům (práce s WMI, *-Computer, …), případně novým parametrům starých cmdletů (např. parametr &lt;strong&gt;-ComputerName&lt;/strong&gt;). Další dvě kapitoly se věnují (pro mne překvapivě) práci s Active Directory včetně ukázky práce s databází nebo Excelem (pro účely importu dat). Pro všechny příklady jsou bohužel použity akcelerátory [ADSI] a [ADSiSearcher] a není zde zmínka od AD cmdletech. Chápu, že ne všichni mají doménu s Windows 2008 R2 serverem, ale osobně bych tyto dvě zmiňované kapitoly oželel. V této části se objevuje i další neduh – osobně nepotřebuji výpisy na tři strany, které dostanu na konzoli jednoduchým příkazem, např. &lt;b&gt;Get-WmiObject Win32_Process | Get-Member&lt;/b&gt;.&lt;/p&gt;  &lt;h4&gt;Část 2. – Plánování&lt;/h4&gt;  &lt;p&gt;Zde začínám opět výtkou. V knize nazvané Best Practices bych nečekal použití RegRead. Proč??? Pokud lidem ukážeme, že mohou v PowerShellu “používat syntaxi z VBS”, těžko pak budou hledat důvod pro přechod. V prvním příkladu této kapitoly je krásně ukázán největší neduh knihy – opět se vracím k VBS – PowerShell skript s VBS syntaxí. Uvedu jej celý:&lt;/p&gt;  &lt;p&gt;$path = "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine"  &lt;br /&gt;$psv = Get-ItemProperty -Path $path   &lt;br /&gt;$psv.RunTimeVersion&lt;/p&gt;  &lt;p&gt;Chápal bych tento příklad v kontextu vysvětlení, že jej lze napsat lépe (i bez ztráty čitelnosti), například takto:&lt;/p&gt;  &lt;p&gt;Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine" -Name RunTimeVersion&lt;/p&gt;  &lt;p&gt;nebo po prostudování nápovědy takto:&lt;/p&gt;  &lt;p&gt;Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine" RunTimeVersion&lt;/p&gt;  &lt;p&gt;a pokud chcete opravdu jen číslo verze, není problém použít následující kód:&lt;/p&gt;  &lt;p&gt;(Get-ItemProperty -path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine).RunTimeVersion&lt;/p&gt;  &lt;p&gt;Zbytek kapitoly se věnuje zjišťování verzí .NETu nebo operačního systému. V další kapitole se mluví a profilech, vytváření funkcí, proměnných, PSDrives (mimochodem tomuto tématu se věnuji v dalším díle seriálu pro TechNet Flash). Další kapitola ukazuje WMI, registry (konečně je zde ukázáno “správné” řešení příkladu z první kapitoly, ale s poznámkou, že řešení je matoucí – nechápu!) Na konci kapitoly je letmo zmíněna .NET třída System.Math a zbytek kapitoly okupuje opět COM (příklad tvorby CAB souboru).&lt;/p&gt;  &lt;p&gt;V poslední kapitole je ukázán cmdlet &lt;b&gt;Invoke-Command&lt;/b&gt; a poté opět Active Directory. [ADSISearcher], ds* příkazy (proč?) a konečně zmínka a AD cmdletech (ukázán je ovšem pouze jediný). Konec kapitoly je věnován benefitům skriptů.&lt;/p&gt;  &lt;h4&gt;Část 3. – Design&lt;/h4&gt;  &lt;p&gt;V návrhu funkcí jsou probírány například vstupní parametry nebo filtry a poté navazuje kapitola o tvobě nápovědy, včetně třinácti pravidel pro psaní efektivních komentářů. V následující kapitole jsou probrány moduly a také tvorba nápovědy pro funkce (?). V další kapitole je ukázána práce se vstupem a výstupem a popsány novinky v PowerShellu v2 z hlediska advanced functions. Ukázána je dále práce s heslem (uložení do souboru, registru, …) a výstupy (soubor, obrazovka). Poslední kapitola se věnuje ošetřování chyb ve skriptech. Osobně bych očekával větší ukázku použití konstrukce try-catch-finally.&lt;/p&gt;  &lt;h4&gt;Část 4. Testování a nasazení&lt;/h4&gt;  &lt;p&gt;Popisuje testování z různých pohledů, jako například rychlost nebo komplexnost. Dále jsou popsány parametry Debug a WhatIf. V části nazvané spouštění skriptů je ukázáno jak změnit ExecutionPolicy nebo pracovat s číslování verzí. Vyloženě výsměchem je část nazvaná Understanding Code Signing – na jedné straně se dozvíte, že existuje cmdlet Set-AuthenticodeSignature, ale o jeho použití se nedozvíte vůbec nic (zato jsou ukázány dva screenshoty).&lt;/p&gt;  &lt;h4&gt;Část 5. – Optimalizace&lt;/h4&gt;  &lt;p&gt;Tato část je rozdělena na dvě kapitoly. V první je ukazováno logování do souboru, event logu a registru. Poslední kapitola se věnuje debugování pomocí Set-PSDebug a cmdletů *-PSBreakpoint.&lt;/p&gt;  &lt;h4&gt;Přílohy&lt;/h4&gt;  &lt;p&gt;Obsahují kapitoly: Seznam cmdletů, Common Verbs, Useful COM Objects, Useful WMI Classes, Useful .NET Classes, WMI Error Messages.&lt;/p&gt;  &lt;h4&gt;Shrnutí mých dojmů&lt;/h4&gt;  &lt;p&gt;Z prědchozích řádek je asi jasné jaký bude můj závěr. Musím říct, že kniha mě zklamala. Měl bych dvě hlavní výtky: 1) Knihou prostupuje stín VB Scriptu 2) Obsah mi přijde řazený značně chaoticky – některá témata jsou ukázána na různých místech a pokud si chcete přečíst informace (např. o AD), najdete je “rozházené” po knize. Na to množství stran, si myslím, že užitečných informací je v knize žalostně málo. Pokud čtete help a sledujete blogy, moc nového si neodnesete. Rozhodně se nejedná o žádné Best Practices. Na druhou stranu, každá propagace PowerShellu je dobrá a pokud tato kniha přítáhne k PowerShellu víc lidí, bude to jen dobře. Dobrým počinem knihy jsou i vložené "Inside Track" od lidí jako např. Jeffrey Snover, Brandon Shell a další.&lt;/p&gt;  &lt;p&gt;Za oficiální cenu 60 dolarů (38 na Amazonu) si nemyslím, že je tato kniha rozumnou investicí. Rozhodně bych spíše doporučil počkat do konce ledna na &lt;a href="http://www.scriptingoutpost.com/p-146-windows-powershell-20-tfm.aspx"&gt;Windows PowerShell 2.0: TFM&lt;/a&gt; od Sapien Press ($35 za ebook nebo $42 za tištěnou knihu).&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7157499316807120492?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7157499316807120492/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7157499316807120492' title='Počet komentářů: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7157499316807120492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7157499316807120492'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/recenze-windows-powershell-20-best.html' title='Recenze: Windows PowerShell 2.0 Best Practices'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1422325304452261958</id><published>2010-01-03T21:14:00.001+01:00</published><updated>2010-01-03T21:14:42.939+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 1"</title><content type='html'>&lt;p&gt;Se začátkem nového roku bych se rád vrátil s novinkami ze světa PowerShellu. Vždy bych chtěl shrnout, co se stalo v uplynulém týdnu ve světě tohoto skvělého skriptovacího jazyku. Prozatím nás čekají novinky pouze za tři dny a tudíž bude dnešek hodně krátký.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Titul MVP byl opětovně udělen následujícím lidem (v závorkách je uveden jejich nick na Twitteru): &lt;a href="http://www.nivot.org/"&gt;Oisin Grehan&lt;/a&gt; (@oising), &lt;a href="http://powershellers.blogspot.com/"&gt;Aleksandar Nikolić&lt;/a&gt; (@alexandair), &lt;a href="http://keithhill.spaces.live.com/"&gt;Keith Hill&lt;/a&gt; (@r_keith_hill).&lt;/li&gt;    &lt;li&gt;Vzhledem k tomu, že ve vyhledávačích je stále špatně indexována poslední verze PowerShellu (většinou ukazuje na CTP), uvádím správnou adresu na &lt;a href="http://support.microsoft.com/kb/968929"&gt;PowerShell v2&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;Sice nepatří do nového roku, ale i tak zaslouží pozornost. Byla vydána verze 2 &lt;a href="http://sqlpsx.codeplex.com/"&gt;SQL Server PowerShell Extensions&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;29.12. byly na PowerShell blogu &lt;a href="http://blogs.msdn.com/powershell/archive/2009/12/29/arguments-for-remote-commands.aspx"&gt;uveřejněny&lt;/a&gt; &lt;a href="http://blogs.msdn.com/powershell/archive/2009/12/29/bringing-remote-commands-to-your-local-session.aspx"&gt;tři&lt;/a&gt; &lt;a href="http://blogs.msdn.com/powershell/archive/2009/12/29/saving-remote-session-to-your-local-disk.aspx"&gt;příspěvky&lt;/a&gt; o práci s remote sessions.&lt;/li&gt;    &lt;li&gt;Tamtéž sepsal Jeffrey Snover úspěšná a neúspěšná &lt;a href="http://blogs.msdn.com/powershell/archive/2010/01/01/scorecarding-my-2009-resolutions.aspx"&gt;novoroční předsevzetí&lt;/a&gt; z minulého roku.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Pro dnešek by to bylo vše a přeju vám všem v tomto roce hodně pěkných zážitků s PowerShellem (ale i ve světě mimo něj).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1422325304452261958?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1422325304452261958/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1422325304452261958' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1422325304452261958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1422325304452261958'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2010/01/get-psnews-creationtime-lt-write-host-1.html' title='Get-PSNews |? {$_.CreationTime -lt &amp;quot;7days&amp;quot;}; Write-Host &amp;quot;Týden 1&amp;quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7665015292579916337</id><published>2009-12-21T14:40:00.007+01:00</published><updated>2009-12-21T15:00:08.539+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>PowerShell film :) [EN]</title><content type='html'>I can't resist :) Check this out: &lt;a href="http://www.mycitymovie.com/id/eec2cae746bdb67ba2755af688d36ee8/"&gt;http://www.mycitymovie.com/id/eec2cae746bdb67ba2755af688d36ee8/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_Ni46JsIL9eA/Sy97mv4P2qI/AAAAAAAAASA/MQES31SJR_A/s1600-h/advert.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5417684782367627938" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 224px" alt="" src="http://3.bp.blogspot.com/_Ni46JsIL9eA/Sy97mv4P2qI/AAAAAAAAASA/MQES31SJR_A/s400/advert.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's understandable even for non-Czech people. Here is the translation of the beginning of the clip:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;All mornings are same&lt;/li&gt;&lt;li&gt;But some are different ...&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;and during:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;It's your world&lt;/li&gt;&lt;li&gt;MY CITY - already in your life.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I noticed that sometimes the text is missing during the clip. So if you think there has to be something but it's not, you can run the clip again - click &lt;em&gt;Přehrát znovu&lt;/em&gt; at the end.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7665015292579916337?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7665015292579916337/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7665015292579916337' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7665015292579916337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7665015292579916337'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/12/powershell-film.html' title='PowerShell film :) [EN]'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ni46JsIL9eA/Sy97mv4P2qI/AAAAAAAAASA/MQES31SJR_A/s72-c/advert.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7909952151240076567</id><published>2009-12-20T15:27:00.002+01:00</published><updated>2009-12-20T15:30:21.983+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerGUI'/><title type='text'>PowerGUI – část 1.</title><content type='html'>&lt;p&gt;Vzhledem k tomu, že jsem v poslední době hodně pracoval s &lt;a href="http://www.powergui.org/"&gt;PowerGUI&lt;/a&gt;, rozhodl jsem se, že těm z vás, kteří tento editor nepoužívají, jej trochu přiblížím.&lt;/p&gt;  &lt;p&gt;PowerGUI se skládá ze dvou částí: Admin konzole (ve stylu MMC) a Script Editor. Dnes se podíváme na konzoli, v příštím díle na editor a v závěrečném díle si ukážeme, jak vytvořit vlastní PowerPack.&lt;/p&gt;  &lt;p&gt;PowerGUI je volně dostupný nástroj of firmy &lt;a href="http://www.quest.com/"&gt;Quest Software&lt;/a&gt;. S touto firmou jsem se potkal již několikrát a i když nepoužívám žádný z jejich komerčních nástrojů, hojně využívám jejich volně dostupných nástrojů. Alespoň pro pořádek musím zmínit vynikající &lt;a href="http://www.quest.com/powershell/activeroles-server.aspx"&gt;Active Roles Management Shell for Active Directory&lt;/a&gt; – do příchodu Windows 2008 Serveru víceméně jediné PowerShell cmdlety pro správu Active Directory (ani nespočítám kolik mi ušetřily času a nervů) a dále např. online konferenci Quest Connect. Z hlediska PowerShellu je zajímavé, že ve firmě Quest pracují i Dmitry Sotnikov a Kirk Munro – oba PowerShell MVP.&lt;/p&gt;  &lt;p&gt;Dost bylo chvály. PowerGUI si můžete stáhnout ze stránek &lt;a href="http://www.powergui.org/"&gt;PowerGUI.org&lt;/a&gt;. Jelikož je PowerGUI grafická nadstavba nad PowerShellem, musíte mít PowerShell nainstalovám (nepředpokládám, že návštěvníci těchto stránek jej nemají). Po instalaci a spuštění se vám objeví podobný obrázek.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_Ni46JsIL9eA/Sy40WYnbmWI/AAAAAAAAARg/BYDYuY7lvaE/s1600-h/powergui7.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="powergui" border="0" alt="powergui" src="http://lh5.ggpht.com/_Ni46JsIL9eA/Sy40Wz5vwLI/AAAAAAAAARk/BCGwycyQZQY/powergui_thumb3.jpg?imgmax=800" width="477" height="309" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Pod menu a toolbarem je okno rozdělěno na tři části: Navigation Tree, Results/PowerShell Scripts a Actions. V závislosti na vašem vlastním nastavení se toto rozložení může měnit. Vzhled je hodně podoný MMC konzoli ve verzi 3.&lt;/p&gt;  &lt;p&gt;V Navigation Tree jsou vidět dostupné instalované PowerPacky (viz dále). Při instalaci si můžete zvolit, které chcete používat. Každý PowerPack obsahuje vnořené nody, kterým jsou přiřazeny určité akce. Například ve větvi Local jsou dostupné akce, které můžete provádět na lokálním PC. Od správy procesů, služeb, sdílených složek přes procházení – a práci se – souborovým systémem, registry, až po brouzdání v WMI. Existují tři základní typy nódů:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Adresář – slouží k přehlednějšímu řazení ostatních typů nódů &lt;/li&gt;    &lt;li&gt;Základní nód – Lze jej použít pro práci s cmdlety dostupnými v aktuální session PowerGUI &lt;/li&gt;    &lt;li&gt;Script nód – Nejflexibilnější ze všech nódů. Může obsahovat jakýkoli skript, který vrací nějaký objekt. Tento objekt (objekty) pak zobrazí v konzoli. Script nód může být ještě jednoho speciálního typu, takzvaný dynamic. Tento nód je generovaný automaticky za běhu programu. Registry a Drive jsou například oba dynamické. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Pojďme si nyní ukázat trochu praktickou ukázku práce s PowerGUI. Chtěli bychom získat seznam služeb, které jsou právě zastavené a pokud se nám to u některé nelíbí, spustíme ji.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Otevřete konzoli PowerGUI a klikněte na nód Local System a poté Services. &lt;/li&gt;    &lt;li&gt;Zobrazí se seznam procesů stejný, jaký byste viděli při otevření snap-inu Services ve Windows. Všimněte si, že panel s akcemi vpravo se změnil (stejně jako v MMC) a jsou dostupné metody, které můžete aplikovat na služby. &lt;/li&gt;    &lt;li&gt;Klikněte na položku Filters nad seznamem služeb a definujte si vlastní pravidlo. V našem případě to bude:     &lt;br /&gt;&lt;a href="http://lh6.ggpht.com/_Ni46JsIL9eA/Sy40XfKWd9I/AAAAAAAAARo/Jgi0OsoAGec/s1600-h/filter3.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="filter" border="0" alt="filter" src="http://lh3.ggpht.com/_Ni46JsIL9eA/Sy40XiPSbWI/AAAAAAAAARs/z_1_Yh7WteQ/filter_thumb1.jpg?imgmax=800" width="423" height="80" /&gt;&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Všechny zastavené služby se objeví ve spodním panelu. &lt;/li&gt;    &lt;li&gt;Vyberte službu, kterou chcete spustit a na pravé straně v Action panelu vyberte položku Start a služba bude spuštěna. Zároveń se aktualizuje pohled a vámi vybraná služba zmizí ze seznamu. Najdete ji buď změnou filteru nebo jeho úplným vypnutím pomocí tlačítka Clear All. &lt;/li&gt; &lt;/ol&gt;  &lt;h4&gt;PowerPacky&lt;/h4&gt;  &lt;p&gt;Před chvílí jsem zmiňoval, že existují jakési PowerPacky. Pokud se vrátím k analogii s MMC, tak PowerPack je v PowerGUI to samé jako snap-in v MMC. Jedná se tedy o jakési “rozšíření” pomocí kterého můžete ovládat určité části systému (nebo systémy jako celek).&lt;/p&gt;  &lt;p&gt;V průběhu instalace jste si určitě všimli, že můžete přidat např. PowerPack pro práci s Active Directory. Tento PowerPack využívá dříve zmiňovaný Management Shell for AD a cmdlety v něm obsažené jsou PowerPackem spouštěny. Na stránkách PowerGUI jsou dostupné PowerPacky od různých autorů a pokud se vám idea PowerGUI zalíbí, možná na těchto stránkách najdete zrovna ten, který se hodí pro vaši práci. Pokud žádný takový nenajdete, můžete si vytvořit vlastní a poté ho třeba nahrát na web, aby i ostatní mohli těžit z plodů vaší práce. O tvorbě PowerPacku si povíme ve třetí částí této minisérie.&lt;/p&gt;  &lt;h4&gt;Proč PowerGUI&lt;/h4&gt;  &lt;p&gt;V konzoli vidím obrovskou výhodu – na jednom místě máte dostupné “všechny” nástroje, které potřebujete. Chcete se podívat, jak vám běží Exchange, IIS nebo třeba VMware server. Nemusíte se přepínat mezi různými konzolemi a potřebné informace máte po ruce. Další výhodou je, že můžete před některými uživateli skrýt určitou funkčnost a tak třeba vaši lidé na helpdesku budou mít možnost pouze na odemykání účtů a nikoli jejich mazání.&lt;/p&gt;  &lt;p&gt;Nevýhodou může být považována například rychlost (někdy spíše pomalost) konzole. Musíte myslet na to, že na pozadí běží nějaký příkaz PowerShellu a ten nemusí být vždy nejrychlejší variantou získávání informací. Na druhou stranu – ve svém SMS PowerPacku používám ve většině případů přístup do WMI přes síť a rychlost pro mne není limitujícím faktorem většiny operací.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7909952151240076567?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7909952151240076567/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7909952151240076567' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7909952151240076567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7909952151240076567'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/12/powergui-cast-1.html' title='PowerGUI – část 1.'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_Ni46JsIL9eA/Sy40Wz5vwLI/AAAAAAAAARk/BCGwycyQZQY/s72-c/powergui_thumb3.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6195656020927090220</id><published>2009-12-01T11:39:00.003+01:00</published><updated>2009-12-01T11:47:31.056+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMware'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerGUI'/><category scheme='http://www.blogger.com/atom/ns#' term='SMS 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='contest'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerPack'/><category scheme='http://www.blogger.com/atom/ns#' term='Challenge'/><title type='text'>PowerPack Challenge 2009</title><content type='html'>Dnes ráno byly vyhlášeny &lt;a href="http://www.powergui.org/thread.jspa?threadID=10721"&gt;výsledky&lt;/a&gt; letošního ročníku PowerPack Challenge, pořádaného firmou &lt;a href="http://www.quest.com/"&gt;Quest Software&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Letošním vítězem se stal Alan Renouf s jeho &lt;a href="http://www.powergui.org/entry.jspa?externalID=2551&amp;amp;categoryID=296"&gt;Virtu-Al.Net VMware Virtual Infrastructure / vSphere scripts&lt;/a&gt; PowerPackem.&lt;br /&gt;&lt;br /&gt;Já jsem se svým &lt;a href="http://www.powergui.org/entry.jspa?categoryID=296&amp;amp;externalID=2562"&gt;SMS 2003 &lt;/a&gt;PowerPackem dostal hodnocení Honorable Mention a stal se tak šťastným majitelem dárkového certifikátu na Amazon.com.&lt;br /&gt;&lt;br /&gt;Po dlouhé odmlce způsobené i tím, že jsem po nocích programoval můj PowerPack se tedy vrátím k častějšímu přispívání na tyto stránky.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6195656020927090220?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6195656020927090220/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6195656020927090220' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6195656020927090220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6195656020927090220'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/12/powerpack-challenge-2009.html' title='PowerPack Challenge 2009'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7900028000273924903</id><published>2009-09-26T13:04:00.005+02:00</published><updated>2009-09-26T13:25:36.850+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Přístup na webové stránky</title><content type='html'>Občas se mi hodí, když mohu pomocí PowerShellu přistoupit na nějakou webovou stránku a stáhnout si ji na disk. Až donedávna jsem používal skript, který jsem vždy měnil podle toho, kde jsem právě byl. V práci jsem vypisoval proxy server a doma jsem jej ze skriptu mazal. Jelikož tento přístup není rozhodně ideální, hledal jsem cestu, jak toto obejít. Jako vždy mi pomohlo &lt;a href="http://msdn.microsoft.com/"&gt;MSDN&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Prvním krokem je vytvořit nový objekt založený na třídě &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.webclient(classic).aspx"&gt;WebClient&lt;/a&gt;. Poté je potřeba tomuto objektu přiřadit aktuální proxy server (založený na třídě &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.webproxy.aspx"&gt;WebProxy&lt;/a&gt;). Podrobné informace jsou v komentářích v následujícím kódu.&lt;/div&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol start="1" class="dp-rb"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# nastavit stranku, kterou chceme stahnout&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="variable"&gt;$url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;"http://www.powershell.cz"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# vytvorit objekt WebClient &lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$wc&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;New-Object&lt;/span&gt;&lt;span&gt; System.Net.WebClient  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# nastavit defaultni proxy&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="variable"&gt;$proxy&lt;/span&gt;&lt;span&gt; = [System.Net.WebProxy]::GetDefaultProxy()  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# a pouzit aktualni prihlasovaci udaje&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$proxy&lt;/span&gt;&lt;span&gt;.UseDefaultCredentials = &lt;/span&gt;&lt;span class="variable"&gt;$true&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# pote priradit proxy k objektu WebClient&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="variable"&gt;$wc&lt;/span&gt;&lt;span&gt;.proxy = &lt;/span&gt;&lt;span class="variable"&gt;$proxy&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# pote stahnout pozadovanou stranku jako text&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$wc&lt;/span&gt;&lt;span&gt;.DownloadString(&lt;/span&gt;&lt;span class="variable"&gt;$url&lt;/span&gt;&lt;span&gt;)  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Pokud nechcete výpis kódu stránky do konzole, můžete místo metody &lt;a href="http://msdn.microsoft.com/en-us/library/ms144200.aspx"&gt;DownloadString&lt;/a&gt; použít &lt;a href="http://msdn.microsoft.com/en-us/library/ez801hhe.aspx"&gt;DownloadFile&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7900028000273924903?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7900028000273924903/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7900028000273924903' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7900028000273924903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7900028000273924903'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/09/pristup-na-webove-stranky.html' title='Přístup na webové stránky'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6007647266654986417</id><published>2009-09-15T11:53:00.002+02:00</published><updated>2009-09-15T11:56:06.498+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TechNet'/><title type='text'>2. díl série o PowerShellu v TechNet Flash zpravodaji</title><content type='html'>Včera vyšel další díl TechNet Flash zpravodaje. Obsahuje mimojiné druhý díl série o Windows PowerShellu, tentokrát na téma Objekty a roury. Článek je možné nalézt &lt;a href="http://blogs.technet.com/technetczsk/pages/serial-windows-powershell-objekty-a-roury-cast-2.aspx"&gt;na TechNetu&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pokud ještě TechNet Flash neodebíráte, &lt;a href="http://www.technetflash.cz"&gt;můžete to napravit&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6007647266654986417?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6007647266654986417/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6007647266654986417' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6007647266654986417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6007647266654986417'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/09/2-dil-serie-o-powershellu-v-technet.html' title='2. díl série o PowerShellu v TechNet Flash zpravodaji'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7589584835084447900</id><published>2009-09-10T22:37:00.002+02:00</published><updated>2009-09-10T22:38:51.311+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='v2'/><title type='text'>PowerShell v2 pro Win XP a W2K3</title><content type='html'>A je to tady! PowerShell v2 pro Win XP a 2003 Server (obě verze zatím jako RC) je zde. Stahovat lze z &lt;a href="https://connect.microsoft.com/windowsmanagement/Downloads"&gt;MS Connect&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Huráááá :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7589584835084447900?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7589584835084447900/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7589584835084447900' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7589584835084447900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7589584835084447900'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/09/powershell-v2-pro-win-xp-w2k3.html' title='PowerShell v2 pro Win XP a W2K3'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-812536793106870839</id><published>2009-09-09T20:47:00.006+02:00</published><updated>2009-09-09T20:56:33.985+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hlasovani'/><title type='text'>Anketa: Novinky v PowerShellu</title><content type='html'>Mám pro vás další anketu. Loni jsem začal s týdenním publikováním novinek v PowerShellu. Ke konci roku jsem s tím přestal, ale vzhledem k tomu, že v současné době začínám pracovat na nové verzi stránek, měl bych dotaz.&lt;div&gt;&lt;br /&gt;&lt;div&gt;Vyhovovalo by vám více okamžité publikování zajímavostí (ve stylu posledních videí) nebo byste radši uvítali týdenní souhrn (ve stylu předchozích &lt;a href="http://powershell-cz.blogspot.com/search/label/Get-PSNews"&gt;Get-PSNews&lt;/a&gt;)?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;V případě okamžitých novinek bych zřejmě nepublikoval vše, co bych jinak uvedl do týdenního přehledu. Samozřejmě opravdu horké novinky (např. nyní očekávané RC v2 pro XP a 2003 Server) bych publikoval okamžitě.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Dejte mi vědět váš názor. Ať již vyplněním ankety, komentářem pod tímto příspěvkem nebo přes Twitter (@makovec).&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-812536793106870839?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/812536793106870839/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=812536793106870839' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/812536793106870839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/812536793106870839'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/09/anketa-novinky-v-powershellu.html' title='Anketa: Novinky v PowerShellu'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5191562227334874949</id><published>2009-09-09T08:56:00.002+02:00</published><updated>2009-09-09T09:05:39.360+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vutukuri'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Channel9'/><title type='text'>Krishna Vutukuri a Remote Sessions</title><content type='html'>Na Channel 9 jsou dostupná další tři videa o PowerShellu. Tentokrát na téma Remote Sessions. Prezentujícím je (pro mne neznámý) Krishna Vutukuri - PowerShell SDE.&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/philpenn/PowerShell--Remote-Sessions/"&gt;PowerShell : Remote Sessions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/philpenn/PowerShell--Advanced-Remote-Sessions/"&gt;PowerShell : Advanced Remote Sessions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/philpenn/PowerShell--Remote-Session-Configurations/"&gt;PowerShell : Remote Session Custom Configuration&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5191562227334874949?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5191562227334874949/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5191562227334874949' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5191562227334874949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5191562227334874949'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/09/krishna-vutukuri-remote-sessions.html' title='Krishna Vutukuri a Remote Sessions'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-2116618480007500573</id><published>2009-09-06T12:33:00.002+02:00</published><updated>2009-09-06T12:45:22.490+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='-object'/><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Channel9'/><category scheme='http://www.blogger.com/atom/ns#' term='James Brundage'/><title type='text'>James Brundage o PowerShellu</title><content type='html'>Poslední dobou se roztrhl pytel s nahrávkami o PowerShellu. Po &lt;a href="http://powershell-cz.blogspot.com/2009/08/discussions-with-architect.html"&gt;Jeffrey Snoverovi&lt;/a&gt; a &lt;a href="http://powershell-cz.blogspot.com/2009/09/psv2-modules.html"&gt;Bruce Payettovi&lt;/a&gt; se můžete podívat na dalšího člena vývojového týmu - hostem na &lt;a href="http://channel9.msdn.com/"&gt;Channel 9&lt;/a&gt; byl tentokrát James Brundage.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nejprve se věnoval základům PowerShellu:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/philpenn/PowerShell-How-To-Variables-Types-and-Operators/"&gt;PowerShell : Variables, Types, and Operators&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/philpenn/PowerShell-How-To--Arrays-Conditionals-Collections-and-Loops/"&gt;PowerShell : Arrays, Conditionals, Collections, and Loops&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;V druhé sérii mluvil o cmdletech pro práci s objekty (shodou okolností připravuji článek na stejné téma pro jedno z dalších vydání &lt;a href="http://www.technetflash.cz"&gt;TechNet Flashe&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/philpenn/PowerShell--Object-Family-of-CmdLets-and-the-Object-Pipeline/"&gt;PowerShell : -Object Family of CmdLets and the Object Pipeline&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/posts/philpenn/PowerShell--Create-Object-CmdLets/"&gt;PowerShell : Create Object CmdLets&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-2116618480007500573?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/2116618480007500573/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=2116618480007500573' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2116618480007500573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2116618480007500573'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/09/james-brundage-o-powershellu.html' title='James Brundage o PowerShellu'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6039406310308556512</id><published>2009-09-03T09:33:00.002+02:00</published><updated>2009-09-03T09:38:29.092+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='TechNet'/><category scheme='http://www.blogger.com/atom/ns#' term='Bruce Payette'/><title type='text'>PSv2 Modules</title><content type='html'>Na TechNet Edge se objevila další tři videa o PowerShellu. Tentokráte s Brucem Payettem v hlavní roli. Bruce se rozpovídal na téma moduly v PowerShellu v2.&lt;div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://edge.technet.com/Media/PSv2-Modules--An-Introduction-with-Bruce-Payette/"&gt;PSv2 Modules : An Introduction with Bruce Payette&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://edge.technet.com/Media/PSv2-Modules--How-to-use-Them/"&gt;PSv2 Modules : How to use Them&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://edge.technet.com/Media/PSv2-Modules--Write-Script-and-Binary-Modules/"&gt;PSv2 Modules : Write Script and Binary Modules&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;Je skvělé, že po předchozích sériích s Jeffreym Snoverem a Jamesem Brundagem pokračuje PowerShell tým v šíření osvěty :)&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6039406310308556512?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6039406310308556512/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6039406310308556512' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6039406310308556512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6039406310308556512'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/09/psv2-modules.html' title='PSv2 Modules'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6680470022432194004</id><published>2009-08-26T12:19:00.003+02:00</published><updated>2009-08-26T12:26:47.122+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jeffrey Snover'/><title type='text'>Discussions with the Architect</title><content type='html'>Dnes ráno jsem si na Twitteru všiml zprávy o nové třídílné sérii na téma PowerShell. Podtitulek -Discussions with the Architect - dává tušit, že hostem je Jeffrey Snover. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pokud vás téma zajímá, můžete se na videa podívat na následujících stránkách:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://edge.technet.com/Media/PowerShell-Discussions-with-the-Architect-Part-1/"&gt;PowerShell - Discussions with the Architect, Part 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://edge.technet.com/Media/PowerShell-Discussions-with-the-Architect-Part-2/"&gt;PowerShell - Discussions with the Architect, Part 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://edge.technet.com/Media/PowerShell-Discussions-with-the-Architect-Part-3/"&gt;PowerShell - Discussions with the Architect, Part 3&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6680470022432194004?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6680470022432194004/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6680470022432194004' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6680470022432194004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6680470022432194004'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/08/discussions-with-architect.html' title='Discussions with the Architect'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-9148618985552122442</id><published>2009-08-25T22:06:00.002+02:00</published><updated>2009-08-25T22:13:31.629+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='knihy'/><category scheme='http://www.blogger.com/atom/ns#' term='Quest'/><title type='text'>Jak na Active Directory z PowerShellu</title><content type='html'>Pokud pracujete s Active Directory a chtěli byste se dozvědět více o skriptování AD pomocí PowerShellu, můžete využít akci firmy &lt;a href="http://www.quest.com/"&gt;Quest Software&lt;/a&gt;. Kniha &lt;a href="http://www.sapienpress.com/ad.asp"&gt;Managing Active Directory with Windows PowerShell: TFM®&lt;/a&gt; je nyní dostupná zdarma.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stačí se zaregistrovat na &lt;a href="http://www.quest.com/powershellbook"&gt;stránkách Questu&lt;/a&gt; a kniha vám bude doručena až do schránky (emailové). Autorem knihy je Jeffrey Hicks, což myslím mluví za vše. Já mám knihu delší dobu z poslední podobné akce a i když  se mi na ní ne všechno líbí, klady rozhodně převažují.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-9148618985552122442?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/9148618985552122442/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=9148618985552122442' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/9148618985552122442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/9148618985552122442'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/08/jak-na-active-directory-z-powershellu.html' title='Jak na Active Directory z PowerShellu'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7478112651200278904</id><published>2009-08-19T18:29:00.008+02:00</published><updated>2009-08-19T19:41:54.687+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AD'/><category scheme='http://www.blogger.com/atom/ns#' term='Quest'/><title type='text'>AD: Přidání uživatelů do skupiny</title><content type='html'>O práci s Active Directory jsem toho zde zatím moc nepsal. Vzhledem k tomu, že poslední dobou dělám malinko pořádek ve skupinách, příspěvky budou zřejmě častější. Za posledních pár dní jsem narazil na dvě věci, se kterými se můžete potkat.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;První z nich je zjišťení FSMO rolí. Pokud s AD pracujete častěji určitě znáte příkaz&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; netdom query fsmo&lt;/span&gt;&lt;/span&gt;. Stejné informace zjistíte pomocí následujících příkazů PowerShellu:&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() | fl *RoleOwner&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;SchemaRoleOwner : server1.domena.net&lt;br /&gt;NamingRoleOwner : server1.domena.net&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;PS C:\&gt; [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() | fl *RoleOwner&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;PdcRoleOwner            : server2.sub.domena.net&lt;br /&gt;RidRoleOwner            : server2.sub.domena.net&lt;br /&gt;InfrastructureRoleOwner : server2.sub.domena.net&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Pro přehlednější výpis si můžete předchozí příkazy zabalit do funkce, ale to už je pouze otázka vkusu (a šetření času).&lt;/div&gt;&lt;div&gt;Druhou věcí, se kterou jsem se potkal, je kopie členů skupiny do jiné skupiny. Opět existuje několik cest, jak to udělat (např. pomocí ds* příkazů), ale v tuto chvíli vidím PowerShell jako lepší řešení. Já se ještě rozhodl zadání trochu upravit, taže výsledkem bylo: Vzít všechny členy skupiny users.all, vybrat pouze účty, které jsou enabled a přidat je do skupiny users.all.new.&lt;/div&gt;&lt;div&gt;Tři úkoly, tři cmdlety, dvě roury.&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; Get-QADGroupMember 'users.all' | Get-QADUser -Enabled | Add-QADGroupMember 'users.all.new'&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;Edit:&lt;/b&gt; Poté, co jsem se přepl na počítač s nejnovější verzi cmdletů od Questu zjistil jsem, že přidali nový parametr pro Get-QADUser. Správně by tedy mohlo být i toto (celá akce je pak o mnoho rychlejší - na mém počítači 12x):&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; Get-QADUser -MemberOf 'users.all' -Enabled | Add-QADGroupMember 'users.all.new'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Použité cmdlety nejsou standardní součástí PowerShellu, ale dají se zdarma &lt;a href="http://www.quest.com/powershell/activeroles-server.aspx"&gt;stáhnout&lt;/a&gt; z webu firmy &lt;a href="http://www.quest.com/"&gt;Quest Software&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7478112651200278904?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7478112651200278904/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7478112651200278904' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7478112651200278904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7478112651200278904'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/08/ad-pridani-uzivatelu-do-skupiny.html' title='AD: Přidání uživatelů do skupiny'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1979656482755318900</id><published>2009-08-09T22:04:00.007+02:00</published><updated>2009-08-09T23:11:35.213+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recenze'/><category scheme='http://www.blogger.com/atom/ns#' term='knihy'/><title type='text'>PowerShell in Practice - první pohled</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_Ni46JsIL9eA/Sn8vaDiAo4I/AAAAAAAAARI/doNnI3EWHFM/s1600-h/siddaway_cover150.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 188px;" src="http://2.bp.blogspot.com/_Ni46JsIL9eA/Sn8vaDiAo4I/AAAAAAAAARI/doNnI3EWHFM/s400/siddaway_cover150.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5368061405519979394" /&gt;&lt;/a&gt;Včera jsem si objednal další knihu o PowerShellu - &lt;a href="http://www.manning.com/siddaway/"&gt;PowerShell in Practice&lt;/a&gt;. Knihu vydá (vysvětlím vzápětí) nakladatelství &lt;a href="http://www.manning.com/"&gt;Manning Publications&lt;/a&gt;. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Budoucí čas jsem použil zcela záměrně, Manning nabízí možnost přístupu k jednotlivým kapitolám knihy ihned po jejich napsání. To přináší výhody jak pro nakladatele, tak pro čtenáře. Autor je v kontaktu se čtenáři a Ti mohou (ale není to pravidlo) ovlivnit obsah knihy (samozřejmě v určitých mezích). Manning tento program nazývá &lt;a href="http://www.manning.com/about/meap"&gt;Manning Early Access Program&lt;/a&gt; (MEAP). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Autorem knihy je Richard Siddaway - PowerShell MVP, zakladatel UK PowerShell User Group, &lt;a href="http://richardsiddaway.spaces.live.com/"&gt;blogger&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;První varování - kniha není učebnicí PowerShellu! Obsahuje sice kapitoly &lt;span class="Apple-style-span" style="font-style: italic;"&gt;PowerShell fundamentals&lt;/span&gt; a &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Learning PowerShell&lt;/span&gt;, ale na šedesáti stranách nemůžete očekávat zázraky. Jedná se opravdu o velice lehký úvod. V dalších dvou kapitolách je popsána práce s .NET, COM objekty WMI a také skriptování obecně.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Další kapitoly jsou již brány tématicky a věnují se například práci s uživatelskými účty, mailboxy (Exchange 2007), DNS, AD, IIS 7, SQL Server. Nedá mi to, abych knihu nesrovnával s &lt;a href="http://oreilly.com/catalog/9780596528492/"&gt;Windows PowerShell Cookbook&lt;/a&gt; od &lt;a href="http://www.leeholmes.com/blog/"&gt;Lee Holmese&lt;/a&gt;. V Cookbooku je schéma následující: otázka - odpověď. V PowerShell in Practice je dané téma a toto téma je zpracováno do kapitol. Jak už jsem řekl, vzhledem k rozsahu knihy není možné obsáhnout téma do hloubky.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Zatím jsem knihu jen tak prolétl, ale jsem z ní trochu rozpačitý. Na naučení základů PowerShellu jsou lepší jiné a pokud chcete zvládnout PowerShell pro konkrétní produkt, jsou zde popsány základy a na trhu existují i podrobnější knihy (např. pro AD nebo Exchange). na druhou stranu - já si knihu kupoval s tím, že se dozvím právě ty základy ovládání produktů, se kterými nepracuji a to kniha splňuje. Mimoto jsem měl kupón na slevu 37%, takže jsem za zhruba 300 Kč získal další relativně dobrý zdroj névých informací.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ke knize se ještě vrátím až ji budu mít pročtenou podrobněji.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1979656482755318900?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1979656482755318900/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1979656482755318900' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1979656482755318900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1979656482755318900'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/08/powershell-in-practice-prvni-pohled.html' title='PowerShell in Practice - první pohled'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ni46JsIL9eA/Sn8vaDiAo4I/AAAAAAAAARI/doNnI3EWHFM/s72-c/siddaway_cover150.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5591759882627768406</id><published>2009-08-08T21:39:00.008+02:00</published><updated>2009-08-09T21:59:49.930+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting Games'/><title type='text'>Scripting Games 2009 - Event 3</title><content type='html'>Třetí úkol se jmenoval &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;The shot put&lt;/span&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Divize Advanced&lt;/span&gt;&lt;/div&gt;&lt;div&gt;V zadaném vstupním souboru bylo potřeba najít slova (řádky), které obsahují pouze jednu samohlásku (mohla se opakovat), čili &lt;span class="Apple-style-span" style="font-style: italic;"&gt;ananas&lt;/span&gt; je správně, ale &lt;span class="Apple-style-span" style="font-style: italic;"&gt;ahoj&lt;/span&gt; nikoli.&lt;/div&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol start="1" class="dp-rb"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;gc &lt;/span&gt;&lt;span class="string"&gt;'./Wordlist_ADV3.txt'&lt;/span&gt;&lt;span&gt; |? {((&lt;/span&gt;&lt;span class="variable"&gt;$_&lt;/span&gt;&lt;span&gt;.ToCharArray() -match &lt;/span&gt;&lt;span class="string"&gt;'[aeiouy]'&lt;/span&gt;&lt;span&gt;| group)&lt;/span&gt;&lt;span class="variable"&gt;|measure&lt;/span&gt;&lt;span&gt;-object).count -eq 1} | out-file result.txt  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Použil jsem one-liner, který provádí následující:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;načte vstupní soubor&lt;/li&gt;&lt;li&gt;vstupní řádku převede na pole znaků (&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;$_.ToCharArray()&lt;/span&gt;&lt;/span&gt;). Pokud je v poli znaků pouze jedna samohláska&lt;/li&gt;&lt;li&gt;vypíše vstupní řádku do souboru&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Ani v tomto případě se nejednalo o žádnou záludnost. Je dobré vědět, že řetězec znaků lze převést na pole znaků pomocí metody &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ToCharArray()&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Divize Beginners&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Vstupní soubor se měl rozdělit na dva a v každém novém souboru měl být jeden odstavec originálního souboru. Ten se měl poté přejmenovat.&lt;/div&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol start="1" class="dp-rb"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span&gt;(gc s*)[0..4] | &lt;/span&gt;&lt;span class="builtin"&gt;Out-File&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;'First par.txt'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;(gc s*)[6..8] | &lt;span class="builtin"&gt;Out-File&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;'Second par.txt'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;ren &lt;span class="string"&gt;'shot put.txt'&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;'Shot put.old'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;V tomto případě jsem nehodlal ztrácet čas a problém jsem vyřešil jako kdyby to bylo ve skutečnosti - bez nějakého ošetřování pomocí tupého kódu.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5591759882627768406?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5591759882627768406/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5591759882627768406' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5591759882627768406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5591759882627768406'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/08/scripting-games-2009-event-3.html' title='Scripting Games 2009 - Event 3'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-2703179404481746974</id><published>2009-08-08T10:39:00.016+02:00</published><updated>2009-08-08T19:52:03.443+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><title type='text'>Získávání informací z WMI</title><content type='html'>&lt;a href="http://powershell-cz.blogspot.com/2009/08/hej-mistre-seliku.html"&gt;V jednom z předchozích článků&lt;/a&gt; jsem slíbil, že se někdy podrobněji podíváme na přístup do WMI pomocí PowerShellu. Ta doba právě nastala :)&lt;div&gt;O WMI (Windows Management Instrumentation) jste jistě alespoň slyšeli. Pokud ne, určitě vám doporučuji se podívat, k čemu je WMI dobré - můžete začít na &lt;a href="http://en.wikipedia.org/wiki/Windows_Management_Instrumentation"&gt;Wikipedii&lt;/a&gt; nebo na stránkách &lt;a href="http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx"&gt;Microsoftu&lt;/a&gt;. Pro potřeby tohoto článku budu předpokládat, že máte alespoň základní představu o tom, k čemu WMI slouží.&lt;/div&gt;&lt;div&gt;Úkol pro všechny následující příklady bude stejný: zjistit všechny běžící procesy s názvem notepad.exe a vypsat jejich ProcessID. Na konci každého příkladu uvedu průměrný čas rychlosti zpracování pro 10 stejných dotazů.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Filtrování pomocí Where-Object&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Zrějmě prvním nápadem bude použití standardních příkazů PowerShellu bez nějakého hlubšího zkoumání dalších okolností.&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; gwmi Win32_Process |? {$_.Name -eq 'notepad.exe'} | select ProcessId&lt;br /&gt;ProcessId&lt;br /&gt;---------&lt;br /&gt;     2072&lt;br /&gt;     5228&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tento postup je přímočarý a pokud potřebujete z WMI "tahat" data pouze příležitostně, bude vám zřejmě stačit. Pokud budete s WMI pracovat častěji (a budete zpracovávat větší množství dat) začne vám za chvíli vadit rychlost (resp. pomalost) zpracování dat. Nevýhodou tohoto přístupu je totiž to, že čtete z WMI &lt;span class="Apple-style-span" style="font-style: italic;"&gt;všechny&lt;/span&gt; procesy a ty pak rourou posíláte cmdletu Where-Object (v mém příkladu zastoupeném jeho aliasem '?' - znak otazník).&lt;/div&gt;&lt;div&gt;Rychlost: 1535 ms&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Parametr -Filter&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-WmiObject&lt;/span&gt;&lt;/span&gt; má parametr &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-Filter&lt;/span&gt;&lt;/span&gt;. Použítím tohoto parametru &lt;span class="Apple-style-span" style="font-style: italic;"&gt;filtrujete data již na úrovni WMI&lt;/span&gt; a dále pracujete pouze s procesy (objekty), které splňují zadané kritérium.&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; gwmi Win32_Process -filter "name='notepad.exe'" | select ProcessID&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;ProcessID&lt;br /&gt;---------&lt;br /&gt;     2072&lt;br /&gt;     5228&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Rychlost zpracování v tomto případě je 595 ms. Cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Select-Object&lt;/span&gt;&lt;/span&gt; (resp. jeho alias &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;select&lt;/span&gt;&lt;/span&gt;) je v tomto případě použit z toho důvodu, že filter nám vrací všechny vlastnosti a my jsme na začátku řekli, že budeme vypisovat pouze ID procesu.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Parametr -Query&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Pokud ovládáte jazyk &lt;a href="http://msdn.microsoft.com/en-us/library/aa394606(VS.85).aspx"&gt;WQL&lt;/a&gt; (WMI Query Language) můžete pomocí něj specifikovat dotaz v parametru &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-Query&lt;/span&gt;&lt;/span&gt;. Celý příkaz by pak vypadal následovně:&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; gwmi -Query "SELECT ProcessID FROM Win32_Process WHERE Name='notepad.exe'"&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;__GENUS          : 2&lt;br /&gt;__CLASS          : Win32_Process&lt;br /&gt;__SUPERCLASS     :&lt;br /&gt;__DYNASTY        :&lt;br /&gt;__RELPATH        :&lt;br /&gt;__PROPERTY_COUNT : 1&lt;br /&gt;__DERIVATION     : {}&lt;br /&gt;__SERVER         :&lt;br /&gt;__NAMESPACE      :&lt;br /&gt;__PATH           :&lt;br /&gt;ProcessId        : 2072&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;__GENUS          : 2&lt;br /&gt;__CLASS          : Win32_Process&lt;br /&gt;__SUPERCLASS     :&lt;br /&gt;__DYNASTY        :&lt;br /&gt;__RELPATH        :&lt;br /&gt;__PROPERTY_COUNT : 1&lt;br /&gt;__DERIVATION     : {}&lt;br /&gt;__SERVER         :&lt;br /&gt;__NAMESPACE      :&lt;br /&gt;__PATH           :&lt;br /&gt;ProcessId        : 5228&lt;/div&gt;&lt;div&gt;PowerShell přidal do výpisu ještě několik vlastností, které nás momentálně nezajímají (začínají dvěma podtržítky). Pokud bychom je chtěli odstranit, můžeme opět použít cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Select-Object&lt;/span&gt;&lt;/span&gt;. Rychlost zpracování byla 573 ms.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Shrnutí&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Z předchozích příkladů je vidět, že pokud chcete pracovat s WMI je dobré si rozmyslet, jakým způsobem k němu budete přistupovat. Pokud občas potřebujete okamžitý výsledek z lokálního počítače (a vámi dotazovaná třída nemá tisíce členů), první postup vám možná bude vyhovovat. V případě většího množství dat (případně dotazů na vzdálený počítač) je dobré se naučit používat parametry &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-Filter&lt;/span&gt;&lt;/span&gt; nebo &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-Query&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-2703179404481746974?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/2703179404481746974/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=2703179404481746974' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2703179404481746974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2703179404481746974'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/08/ziskavani-informaci-z-wmi.html' title='Získávání informací z WMI'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1590918902491711951</id><published>2009-08-06T09:57:00.001+02:00</published><updated>2009-08-06T10:00:04.686+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><category scheme='http://www.blogger.com/atom/ns#' term='služby'/><title type='text'>Hej, mistře Šelíku!</title><content type='html'>V posledním vydání &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash&lt;/a&gt; zpravodaje zaujaly mistra Šelíka dvě věci.&lt;div&gt;&lt;ol&gt;&lt;li&gt;Strip jeho kamaráda mistra Skriptíka.&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.technet.com/technetczsk/pages/serial-windows-powershell-uvod-cast-1.aspx"&gt;První díl&lt;/a&gt; ze série článků o PowerShellu - snad se nám blýská na lepší časy.&lt;/li&gt;&lt;/ol&gt;Mistr Skriptík tentokrát řešil práci se službami, pojďme se podívat.&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_Ni46JsIL9eA/Snp6yuS7E4I/AAAAAAAAARA/hzyrYSUOzZk/s400/skriptik_09_07.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 176px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5366736917804815234" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vzhledem k tomu, že služby jsou jednou ze základních komponent, se kterou se administrátor Windows může potkat, má v sobě PowerShell zabudováno hned několik cmdletů pro práci s nimi.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Get-Help *-service | Select name&lt;br /&gt;Name&lt;br /&gt;----&lt;br /&gt;Get-Service&lt;br /&gt;Stop-Service&lt;br /&gt;Start-Service&lt;br /&gt;Suspend-Service&lt;br /&gt;Resume-Service&lt;br /&gt;Restart-Service&lt;br /&gt;Set-Service&lt;br /&gt;New-Service&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;My se podíváme na &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-Service&lt;/span&gt;&lt;/span&gt;, &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Stop-Service&lt;/span&gt;&lt;/span&gt; a &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Start-Service&lt;/span&gt;&lt;/span&gt;. Pro zjištění stavu všech služeb použijeme &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-Service&lt;/span&gt;&lt;/span&gt; - dostaneme výpis všech služeb včetně jejich aktuálního stavu (výpis jsem notně zkrátil).&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; Get-Service&lt;br /&gt;Status Name&lt;br /&gt;------ ----&lt;br /&gt;Stopped ADAM_Test&lt;br /&gt;Stopped Alerter&lt;br /&gt;Running ALG&lt;br /&gt;Stopped AppMgmt&lt;br /&gt;Stopped aspnet_state&lt;br /&gt;Running AudioSrv&lt;br /&gt;Running BITS&lt;br /&gt;Running Browser&lt;br /&gt;Running CryptSvc&lt;br /&gt;Running DcomLaunch&lt;br /&gt;Running Dhcp&lt;br /&gt;Running Eventlog&lt;br /&gt;Running EventSystem&lt;br /&gt;Running Spooler&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;Pro zastavení služby použijeme &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Stop-Service&lt;/span&gt;&lt;/span&gt; (&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;spsv&lt;/span&gt;&lt;/span&gt;) a pro spuštění &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Start-Service&lt;/span&gt;&lt;/span&gt; (&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;sasv&lt;/span&gt;&lt;/span&gt;). V závorkách jsou uvedeny aliasy pro dané cmdlety (pro &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-Service&lt;/span&gt;&lt;/span&gt; je to &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;gsv&lt;/span&gt;&lt;/span&gt;).&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; gsv spooler&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;Status   Name               DisplayName&lt;br /&gt;------   ----               -----------&lt;br /&gt;Running  Spooler            Print Spooler&lt;br /&gt;PS C:\&gt; spsv spooler&lt;br /&gt;PS C:\&gt; gsv spooler&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;Status   Name               DisplayName&lt;br /&gt;------   ----               -----------&lt;br /&gt;Stopped  Spooler            Print Spooler&lt;br /&gt;PS C:\&gt; sasv spooler&lt;br /&gt;PS C:\&gt; gsv spooler&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;Status   Name               DisplayName&lt;br /&gt;------   ----               -----------&lt;br /&gt;Running  Spooler            Print Spooler&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Je vidět, že pomocí PowerShellu je práce se službami přímočará a velice jednoduchá.&lt;/div&gt;&lt;div&gt;Pokud je někdo zvídavý a přecijen by chtěl pracovat se službami přes WMI, lze pro zastavení spooleru použít následující příkaz:&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; (gwmi Win32_Service -filter "name='spooler'").StopService()&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;__GENUS          : 2&lt;br /&gt;__CLASS          : __PARAMETERS&lt;br /&gt;__SUPERCLASS     :&lt;br /&gt;__DYNASTY        : __PARAMETERS&lt;br /&gt;__RELPATH        :&lt;br /&gt;__PROPERTY_COUNT : 1&lt;br /&gt;__DERIVATION     : {}&lt;br /&gt;__SERVER         :&lt;br /&gt;__NAMESPACE      :&lt;br /&gt;__PATH           :&lt;br /&gt;ReturnValue      : 0&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;Vidíme, že &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ReturnValue&lt;/span&gt;&lt;/span&gt; je nula, čili služba byla zastavena úspěšně. Pokud by &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ReturnValue&lt;/span&gt;&lt;/span&gt; byla jiná, lze její význam &lt;a href="http://msdn.microsoft.com/en-us/library/aa393673(VS.85).aspx"&gt;najít na MSDN&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;To by bylo pro dnešek vše. Jdu stejně jako mistr Skriptík vyhlížet Windows 7.&lt;/div&gt;&lt;div&gt;Banner mistra Skriptíka je stažen ze stránek &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash zpravodaje&lt;/a&gt;. Děkuji týmu TechNetu za možnost jeho použití pro potřeby tohoto článku.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1590918902491711951?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1590918902491711951/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1590918902491711951' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1590918902491711951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1590918902491711951'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/08/hej-mistre-seliku_06.html' title='Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ni46JsIL9eA/Snp6yuS7E4I/AAAAAAAAARA/hzyrYSUOzZk/s72-c/skriptik_09_07.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6735836881145080568</id><published>2009-08-01T13:06:00.008+02:00</published><updated>2009-08-01T13:44:33.248+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><category scheme='http://www.blogger.com/atom/ns#' term='proces'/><title type='text'>Hej, mistře Šelíku!</title><content type='html'>Po odmlce způsobené pracovní zátěží a poté zaslouženou dovolenou jsme se s mistrem Šelíkem vrátili zpět do práce.&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_Ni46JsIL9eA/SnQilfbDwVI/AAAAAAAAAQg/tlHSavyKaBU/s400/Skriptik_06_09.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 171px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5364951083590598994" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pro základní práci s procesy lze v PowerShellu použít cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-Process&lt;/span&gt;&lt;/span&gt; (nebo můžete použít alias &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;gps&lt;/span&gt;&lt;/span&gt;). Při prostém zadání bez parametrů vypíše seznam běžících procesů. Pokud vás zajímá konkrétní proces, stačí uvést jeho jméno.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Get-Process powershell&lt;br /&gt;Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName&lt;br /&gt;-------  ------    -----      ----- -----   ------     -- -----------&lt;br /&gt;    656      14    55592      63296   270     4,29    264 powershell&lt;/div&gt;&lt;br /&gt;&lt;div&gt;V případě, že chcete vypsat všechny informace, použijte &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Format-List&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; Get-Process powershell | Format-List *&lt;br /&gt;&lt;/div&gt;&lt;div&gt;V tomto případě bych se ovšem přikláněl k použítí aliasů&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; gps powershell | fl *&lt;br /&gt;PS C:\&gt; gps pow* | fl *&lt;/div&gt;&lt;br /&gt;&lt;div&gt;přičemž druhý zápis by mohl způsobit "problémy" pokud na vašem počítači poběží proces s názvem např. powercfg.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Jistě jste si všimli, že ve výpisu není nikde vidět vlastník procesu. Je tedy nutné - na radu mistra Skriptíka - použít přístup přes WMI. V PowerShellu je přístup do WMI geniálně jednoduchou záležitostí. Je několik možností, jak cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-WmiObject&lt;/span&gt;&lt;/span&gt; použít. Nyní je nebudu porovnávat, ale beru to jako námět na další článek. Nebudu ani vypisovat výsledek, protože to vždy bude jméno uživatele, který proces spustil. Při práci z příkazové řádky vždy používám pro &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-WmiObject&lt;/span&gt;&lt;/span&gt; jeho alias &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;gwmi&lt;/span&gt;&lt;/span&gt; - ušetřím tím přesně &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;$("get-wmiobject".length - "gwmi".length)&lt;/span&gt;&lt;/span&gt; znaků :)&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; gwmi win32_process |? {$_.name -eq 'powershell.exe'} | % {$_.GetOwner().User}&lt;br /&gt;PS C:\&gt; (gwmi win32_process |? {$_.name -eq 'powershell.exe'}).GetOwner().User&lt;br /&gt;PS C:\&gt; (gwmi win32_process -filter "name='powershell.exe'").GetOwner().user&lt;br /&gt;PS C:\&gt; (gwmi -query "select * from Win32_Process where name='powershell.exe'").GetOwner().User&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Banner mistra Skriptíka je stažen ze stránek &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash zpravodaje&lt;/a&gt;. Děkuji týmu TechNetu za možnost jeho použití pro potřeby tohoto článku.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6735836881145080568?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6735836881145080568/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6735836881145080568' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6735836881145080568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6735836881145080568'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/08/hej-mistre-seliku.html' title='Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ni46JsIL9eA/SnQilfbDwVI/AAAAAAAAAQg/tlHSavyKaBU/s72-c/Skriptik_06_09.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7296423774392098512</id><published>2009-06-25T17:56:00.004+02:00</published><updated>2009-06-25T18:20:56.592+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting Games'/><title type='text'>Scripting Games 2009 - Event 2</title><content type='html'>Úkol číslo dva byl nazván &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;The Long Jump&lt;/span&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Divize Advanced&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Z daného souboru (XLS) bylo potřeba zjistit délky skoků jednotlivých sportovců a na základě výkonů v sezóně určit zda splnili očekávání do nich vkládaná.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol start="1" class="dp-rb"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$path&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;"C:\sg2009\LongJump_Adv2.xls"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="variable"&gt;$xls&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;New-Object&lt;/span&gt;&lt;span&gt; -com Excel.Application  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$xls&lt;/span&gt;&lt;span&gt;.Visible = &lt;/span&gt;&lt;span class="variable"&gt;$true&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="variable"&gt;$wrkbk&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="variable"&gt;$xls&lt;/span&gt;&lt;span&gt;.Workbooks.Open(&lt;/span&gt;&lt;span class="variable"&gt;$path&lt;/span&gt;&lt;span&gt;)  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$format&lt;/span&gt;&lt;span&gt; = 23  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="variable"&gt;$wrkbk&lt;/span&gt;&lt;span&gt;.SaveAs(&lt;/span&gt;&lt;span class="string"&gt;'C:\sg2009\result.csv'&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class="variable"&gt;$format&lt;/span&gt;&lt;span&gt;)  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$wrkbk&lt;/span&gt;&lt;span&gt;.Close(&lt;/span&gt;&lt;span class="variable"&gt;$true&lt;/span&gt;&lt;span&gt;)  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="variable"&gt;$xls&lt;/span&gt;&lt;span&gt;.Quit()  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$data&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;Import-Csv&lt;/span&gt;&lt;span&gt; C:\sg2009\result.csv  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;foreach&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="keyword"&gt;in&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="variable"&gt;$data&lt;/span&gt;&lt;span&gt;) {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 1'&lt;/span&gt;&lt;span&gt; -eq &lt;/span&gt;&lt;span class="string"&gt;'x'&lt;/span&gt;&lt;span&gt;) { &lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 1'&lt;/span&gt;&lt;span&gt; = 0 }  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 2'&lt;/span&gt;&lt;span&gt; -eq &lt;/span&gt;&lt;span class="string"&gt;'x'&lt;/span&gt;&lt;span&gt;) { &lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 2'&lt;/span&gt;&lt;span&gt; = 0 }  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 3'&lt;/span&gt;&lt;span&gt; -eq &lt;/span&gt;&lt;span class="string"&gt;'x'&lt;/span&gt;&lt;span&gt;) { &lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 3'&lt;/span&gt;&lt;span&gt; = 0 }  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt; (([double]&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 1'&lt;/span&gt;&lt;span&gt; -ge [double]&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 2'&lt;/span&gt;&lt;span&gt;) -and ([double]&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 1'&lt;/span&gt;&lt;span&gt; -ge [double]&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 3'&lt;/span&gt;&lt;span&gt;)) {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        [double]&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.Result = &lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 1'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    }  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;elseif&lt;/span&gt;&lt;span&gt; (([double]&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 2'&lt;/span&gt;&lt;span&gt; -ge [double]&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 1'&lt;/span&gt;&lt;span&gt;) -and ([double]&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 2'&lt;/span&gt;&lt;span&gt; -ge [double]&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 3'&lt;/span&gt;&lt;span&gt;)) {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;        [double]&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.Result = &lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 2'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    }  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;else&lt;/span&gt;&lt;span&gt; {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        [double]&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.Result = &lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Jump 3'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    }  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.Result -lt &lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Season Average'&lt;/span&gt;&lt;span&gt;) {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        &lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Exceed/Achieve/Under Perform '&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;'1.Under Perform'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    }   &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;elseif&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.Result -eq &lt;/span&gt;&lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Season Average'&lt;/span&gt;&lt;span&gt;) {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;        &lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Exceed/Achieve/Under Perform '&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;'2.Achieve'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    }  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;else&lt;/span&gt;&lt;span&gt; {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        &lt;span class="variable"&gt;$row&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class="string"&gt;'Exceed/Achieve/Under Perform '&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;'3.Exceed'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    }         &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;}  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$data&lt;/span&gt;&lt;span&gt; | sort &lt;/span&gt;&lt;span class="string"&gt;'Exceed/Achieve/Under Perform '&lt;/span&gt;&lt;span&gt;, Result -Descending | `  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Export-Csv&lt;/span&gt;&lt;span&gt; C:\sg2009\result.csv -Force -NoTypeInformation  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;Celou úlohu jsem si převedl do PowerShellu tím, že jsem zavolal Excel a použil SaveAs... / CSV. Potom jsem již jen načel data pomocí &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Import-Csv&lt;/span&gt; a porovnal výsledky za sezónu. Výsledek jsem zapsal do potřebného sloupce a poté jen výsledky vyexportoval do nového CSV souboru.&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Divize Beginners&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Obsahovala jednoduchou úlohu pro dotaz do WMI. V PowerShellu naprosto jednoduchá věc. Celá úloha byla pouze "ztížena" výpisem různých barviček. Tentokrát jsem úkol řešil jako jednoduchou funkci, kdy jsem navíc přidal možnost zadání jména vzdáleného počítače.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol start="1" class="dp-rb"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt; Get-LongJumpResults {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;param&lt;/span&gt;&lt;span&gt; (  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;        &lt;span class="variable"&gt;$computer&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;"localhost"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    )  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="variable"&gt;$headerColor&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;"Green"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="variable"&gt;$speedColor&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;"Yellow"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="variable"&gt;$strengthColor&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;"Magenta"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="variable"&gt;$agilityColor&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;"Cyan"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="variable"&gt;$data&lt;/span&gt;&lt;span&gt; = gwmi Win32_Processor -ComputerName &lt;/span&gt;&lt;span class="variable"&gt;$computer&lt;/span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"Strength evaluation for $computer"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$headerColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"Speed ... $($data.MaxClockSpeed)"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$speedColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"L2 cache size: $($data.L2CacheSize)"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$speedColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"L2 cache speed: $($data.L2CacheSpeed)"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$speedColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"L3 cache size: $($data.L3CacheSize)"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$speedColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"L3 cache speed: $($data.L3CacheSpeed)"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$speedColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"Strength ..."&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$strengthColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"Number of Cores: $($data.NumberOfCores)"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$strengthColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"Number of logical processors: $($data.NumberOfLogicalProcessors)"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$strengthColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"Name: $(($data.Name).trim())"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$strengthColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"Agility ..."&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$agilityColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="builtin"&gt;Write-Host&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span class="string"&gt;"Address width: $($data.AddressWidth)"&lt;/span&gt;&lt;span&gt; -ForegroundColor &lt;/span&gt;&lt;span class="variable"&gt;$agilityColor&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;} &lt;span class="comment"&gt;#function Get-LongJumpResults&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;Opět nic složitého.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7296423774392098512?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7296423774392098512/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7296423774392098512' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7296423774392098512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7296423774392098512'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/06/scripting-games-2009-event-2.html' title='Scripting Games 2009 - Event 2'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8299956697817235829</id><published>2009-06-19T18:44:00.006+02:00</published><updated>2009-06-25T17:40:53.346+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AD'/><title type='text'>Audit skupin v Active Directory</title><content type='html'>Dnes mě na chatu chytil jeden z přátel zabývajících se bezpečností. Líbil se mu report zobrazující lokální administrátory na koncových stanicích a chtěl něco podobného vytvořit pro skupinu Domain Admins. Ptal se mne na možnosti a mou první odpovědí bylo: PowerShell.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;První nástřel byl tento:&lt;/div&gt;&lt;div class="code"&gt;Get-QADGroupMember 'domain.com/CZ/Domain Admins'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Výstupem příkazu je seznam členů této skupiny. To mělo úspěch a samozřejmě přišla další otázka: "Lze porovnat výsledky proti nějakému danému stavu?" Ano, úkol jak dělaný pro Compare-Object. Celý skript pak vypadal následovně.&lt;/div&gt;&lt;div&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol start="1" class="dp-rb"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt; Compare-ADGroup {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    &lt;span class="keyword"&gt;param&lt;/span&gt;&lt;span&gt; (  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;        [string]&lt;span class="variable"&gt;$group&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;'domain.com/CZ/Domain Admins'&lt;/span&gt;&lt;span&gt;,  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        [&lt;span class="keyword"&gt;switch&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;span class="variable"&gt;$snapshot&lt;/span&gt;&lt;span&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    )  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class="variable"&gt;$snapshot&lt;/span&gt;&lt;span&gt;) {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        &lt;span class="comment"&gt;# save state as snapshot&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;        Get-QADGroupMember &lt;span class="variable"&gt;$group&lt;/span&gt;&lt;span&gt; | `  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;            &lt;span class="builtin"&gt;Select-Object&lt;/span&gt;&lt;span&gt; SamAccountName, FirstName, LastName | `  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;            &lt;span class="builtin"&gt;Export-Clixml&lt;/span&gt;&lt;span&gt; ./snapshot.xml  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    }  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="keyword"&gt;else&lt;/span&gt;&lt;span&gt; {        &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        Get-QADGroupMember &lt;span class="variable"&gt;$group&lt;/span&gt;&lt;span&gt; | `  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;            &lt;span class="builtin"&gt;Select-Object&lt;/span&gt;&lt;span&gt; SamAccountName, FirstName, LastName | `  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;            &lt;span class="builtin"&gt;Export-Clixml&lt;/span&gt;&lt;span&gt; ./current.xml  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;          &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        &lt;span class="comment"&gt;# load to variables, sort to prepare for Compare-Object&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;        &lt;span class="variable"&gt;$s&lt;/span&gt;&lt;span&gt; = (&lt;/span&gt;&lt;span class="builtin"&gt;Import-Clixml&lt;/span&gt;&lt;span&gt; ./snapshot.xml) | &lt;/span&gt;&lt;span class="builtin"&gt;Sort-Object&lt;/span&gt;&lt;span&gt; SamAccountName  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        &lt;span class="variable"&gt;$c&lt;/span&gt;&lt;span&gt; = (&lt;/span&gt;&lt;span class="builtin"&gt;Import-Clixml&lt;/span&gt;&lt;span&gt; ./current.xml) | &lt;/span&gt;&lt;span class="builtin"&gt;Sort-Object&lt;/span&gt;&lt;span&gt; SamAccountName  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;          &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        &lt;span class="comment"&gt;# compare objects based on SamAccountName&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;        &lt;span class="builtin"&gt;Compare-Object&lt;/span&gt;&lt;span&gt; -ReferenceObject &lt;/span&gt;&lt;span class="variable"&gt;$s&lt;/span&gt;&lt;span&gt; -DifferenceObject &lt;/span&gt;&lt;span class="variable"&gt;$c&lt;/span&gt;&lt;span&gt; -Property SamAccountName  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    } &lt;span class="comment"&gt;# else&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;} &lt;span class="comment"&gt;# function Compare-ADGroup&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;První spuštění musí být s parametrem &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;-Snapshot&lt;/span&gt;. Tím se vytvoří referenční soubor se "správnými" daty. Skript by šel ještě vylepšit o kontrolu existence souboru &lt;span class="Apple-style-span" style="font-style: italic;"&gt;snapshot.xml&lt;/span&gt; nebo například o vložení časové značky do souboru &lt;span class="Apple-style-span" style="font-style: italic;"&gt;current.xml&lt;/span&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8299956697817235829?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8299956697817235829/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8299956697817235829' title='Počet komentářů: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8299956697817235829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8299956697817235829'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/06/audit-skupin-v-active-directory.html' title='Audit skupin v Active Directory'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-2021957419048851595</id><published>2009-06-10T08:26:00.013+02:00</published><updated>2009-06-10T17:16:01.201+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting Games'/><title type='text'>Scripting Games 2009 - Event 1</title><content type='html'>Určitě vám neuniklo, že byl neoficiálně odstartován další ročník Scripting Games. Nejlepším rozcestníkem je nyní zřejmě stránka &lt;a href="http://scriptinggames.poshcode.org/"&gt;PoshCode.org&lt;/a&gt;, která zajišťuje prostor pro vkládání hotových skriptů. První úkol má název &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;The 100 meter dash&lt;/span&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Divize Advanced&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Úkolem je najít ve vstupním textovém souboru řádky obsahující text a vypsat tři nejkratší. Mé řešení bylo následujcí:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;Get-Content "./Personal Information Cards_ADV1.txt" | `&lt;br /&gt;  Where-Object {$_ -match "\S"} | `&lt;br /&gt;  Sort-Object Length | `&lt;br /&gt;  Select-Object -First 3&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Celá práce probíhá na jedné řádce.&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Načtení souboru.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Vyfiltrování řádek, které obsahují text. Zde vyjádřeno pomocí regulárního výrazu &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;\S&lt;/span&gt; - pusť všechno, co není pouze mezera.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Seřaď řádky podle délky.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Vypiš tři nejkratší.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;Celý úkol byl relativně jednoduchý, důležité bylo přijít na filtrování prázdných řádek. Někteří použili v druhém kroku funkci &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;trim()&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;Divize Beginners&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Byla na rozdíl od advanced relativně složitá. Vše bylo způsobeno jedním malým "překlepem" kdy ve vstupním souboru byla jedna položka oddělena mezerou místo tabulátorem. Jelikož jsem chtěl mít hotovo rychle, využil jsem letošního pravidla: "Vše, co je dovoleno v reálném světě, je dovoleno i v soutěži." Ručně jsem opravil "chybnou" řádku a skript byl poté již jednoduchý:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;Import-Csv '100 Meter Event.txt' -Delimiter "`t" | `&lt;br /&gt;  Sort-Object Time | `&lt;br /&gt;  Select-Object -First 3&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Použil jsem cmdlet &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Import-Csv&lt;/span&gt; z PowerShellu verze 2. Ve verzi 2 je totiž u tohoto cmdletu nový parametr, pomocí nějž určíte, jak je soubor oddělen. Výborná věc pro české prostředí, kde je standardním oddělovačem středník.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Výstupem z první roury byly objekty, které jsem seřadil podle času&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a pak jen vypsal první tři.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;K tomuto úkolu se ještě vrátím a pomocí regulárních výrazů si poradím s problémovou řádkou.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jelikož jsem u obou řešení používal aliasy, můžete se na mé "opravdové" verze v &lt;a href="http://scriptinggames.poshcode.org/code/6012.xhtml"&gt;beginners&lt;/a&gt; a &lt;a href="http://scriptinggames.poshcode.org/code/6090.xhtml"&gt;advanced&lt;/a&gt; divizích podívat přímo na &lt;a href="http://scriptinggames.poshcode.org/"&gt;PoshCode.org&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-2021957419048851595?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/2021957419048851595/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=2021957419048851595' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2021957419048851595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2021957419048851595'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/06/scripting-games-2009-event-1.html' title='Scripting Games 2009 - Event 1'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-113551506548361248</id><published>2009-05-29T08:36:00.002+02:00</published><updated>2009-05-29T08:51:28.101+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting Games'/><category scheme='http://www.blogger.com/atom/ns#' term='Bleskovky'/><title type='text'>Automatizace a Scripting Games</title><content type='html'>Dnes ráno mne zaujaly na Twitteru dvě zprávy:&lt;div&gt;&lt;ol&gt;&lt;li&gt;Má smysl automatizovat úplně všechno? Připomíná mi to mé poznámky na prezentacích PowerShelu, když říkám, že ne vždy je PowerShell efektivní. Občas prostě není efektivní vůbec nic kromě manuální práce :) Samozřejmě to neplatí při výrobu skriptů pro studijní účely. Přečtěte si &lt;a href="http://devlicio.us/blogs/tim_barcz/archive/2009/05/28/the-holy-grail-is-not-automation.aspx"&gt;původní článek&lt;/a&gt; a jestli chcete, nechte mi zde pod článkem komentář.&lt;/li&gt;&lt;li&gt;Summer Scripting Games 2009 - &lt;a href="http://blogs.technet.com/heyscriptingguy/archive/2009/05/28/details-leaked-about-the-2009-summer-scripting-games.aspx"&gt;podrobnější informace&lt;/a&gt; byly zveřejněny na novém blogu &lt;a href="http://blogs.technet.com/heyscriptingguy/default.aspx"&gt;Hey, Scripting Guy!&lt;/a&gt; Letos je mottem &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;vzdělání, nikoli soutěž&lt;/span&gt; a všechna témata se budou věnovat desetiboji (vzdělávacímu samozřejmě). Cílem je přiblížit průběh více reálnému světu a bude např. možné použít části kódu jiných soutěžících. Zároveň byly potvrzeny čtyři kategorie - VBScript a PowerShell; oba jazyky pro Beginner a Advanced divizi. &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-113551506548361248?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/113551506548361248/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=113551506548361248' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/113551506548361248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/113551506548361248'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/05/automatizace-scripting-games.html' title='Automatizace a Scripting Games'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4657133815876668247</id><published>2009-05-20T17:47:00.008+02:00</published><updated>2009-05-20T18:14:56.731+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='-Path'/><category scheme='http://www.blogger.com/atom/ns#' term='zajímavé skripty'/><title type='text'>Hledání adresářů podle obsahu</title><content type='html'>Jedna z poznámek na &lt;a href="http://twitter.com/"&gt;Twitteru&lt;/a&gt; mě zavedla ke konzoli PowerShellu. Chtěl jsem si vyzkoušet, jak je jednoduché vyhledat adresáře podle specifického zadání. Konkrétní dotaz zněl: "&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Chci všechny adresáře začínající písmenem L, které obsahují soubory *.dwg&lt;/span&gt;". Dotaz jsem si upravil na "&lt;span class="Apple-style-span" style="font-style: italic;"&gt;... všechny soubory s příponou PS1, které jsou v adresáři začínajícím na zzz.&lt;/span&gt;" &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Vypadl mi následující one-liner:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;ls -i *.ps1 -r | select Directory -u | % {if((Split-Path $_.Directory -le) -like 'zzz*') {$_}}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Lépe je zřejmě čitelný takto:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;Get-ChildItem -Include *.ps1 -Recurse | `&lt;br /&gt;Select-Object -Property Directory -Unique |`&lt;br /&gt;ForEach-Object {&lt;br /&gt;if ( (Split-Path $_.Directory -Leaf) -like 'zzz*') { $_ }&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;V první části roury probíhá rekurzivní hledání všech PS1 souborů. Poté vybereme jména všech adresárů a dále hledáme ty, jejichž jméno začíná na &lt;span class="Apple-style-span" style="font-style: italic;"&gt;zzz&lt;/span&gt;. pokud některý podmínku splňuje, tak vypíšeme celou cestu k adresáři.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4657133815876668247?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4657133815876668247/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4657133815876668247' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4657133815876668247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4657133815876668247'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/05/hledani-adresaru-podle-obsahu.html' title='Hledání adresářů podle obsahu'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-2050175915605916141</id><published>2009-05-18T15:16:00.003+02:00</published><updated>2009-05-18T15:44:36.712+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting Games'/><title type='text'>Scripting Games 2009</title><content type='html'>Konečně bylo uveřejněno datum letních Scripting Games 2009. Více informací je k nalezení &lt;a href="http://www.microsoft.com/technet/scriptcenter/funzone/games/games09/announcement.mspx"&gt;na stránkách Script centra&lt;/a&gt;. Vypadá to, že letos se bude soutěžit v PowerShellu a VB Scriptu a Perl tedy zřejmě odpadá. Pokud se chcete dozvědět více, podívejte se na stránky &lt;a href="http://www.microsoft.com/technet/scriptcenter/funzone/games/default.mspx"&gt;Scripting Games&lt;/a&gt; a zapátrejte v archivu.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Letos se na pořádání budou také podílet &lt;a href="http://www.powershellcommunity.org/"&gt;PowerShellCommunity.org&lt;/a&gt; a &lt;a href="http://www.poshcode.org/"&gt;PoShCode.org&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.microsoft.com/technet/scriptcenter/funzone/games/bios2008/moravec.mspx"&gt;Profil autora&lt;/a&gt; těchto stránek na stránkách Scripting Games (v roce 2007 jsem absolvoval VBS beginners divizi).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-2050175915605916141?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/2050175915605916141/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=2050175915605916141' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2050175915605916141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2050175915605916141'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/05/scripting-games-2009.html' title='Scripting Games 2009'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6301906912678074441</id><published>2009-05-14T16:53:00.001+02:00</published><updated>2009-05-14T16:54:49.450+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><category scheme='http://www.blogger.com/atom/ns#' term='AD'/><category scheme='http://www.blogger.com/atom/ns#' term='datum'/><category scheme='http://www.blogger.com/atom/ns#' term='TechNet'/><title type='text'>Hej, mistře Šelíku!</title><content type='html'>&lt;div&gt;Vítejte zpátky u mistra Šelíka. V posledním &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash&lt;/a&gt; zpravodaji řešil následující problém.&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_Ni46JsIL9eA/SgwvjIUXPfI/AAAAAAAAADg/VX77bXihoXw/s400/TechNetSkriptik_0905.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 180px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5335691939102014962" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No, dejme tomu - &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;DateDiff&lt;/span&gt;&lt;/span&gt; je dobrá funkce, ale kdo si má pamatovat, kdy si naposledy měnil heslo. &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;DateDiff &lt;/span&gt;&lt;/span&gt;(resp. odčítání dvou dat) bych použil v případě, že bych chtěl například zjistit, kolik dní zbývá do Vánoc.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $vanoce = '2009/12/24'&lt;br /&gt;PS C:\&gt; ($vanoce - (get-date)).Days&lt;br /&gt;223&lt;/div&gt;&lt;br /&gt;&lt;div&gt;V případě zjištění délky používání hesla je lepší sáhnout přes &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ADSI&lt;/span&gt;&lt;/span&gt; na vlastnost &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;PasswordAge&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; [ADSI]$user="WinNT://czvm01/administrator,user"&lt;br /&gt;PS C:\&gt; $user.PasswordAge&lt;br /&gt;97399082&lt;br /&gt;PS C:\&gt; ($user.PasswordAge).value/86400&lt;br /&gt;1127,30418981481&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;První výsledek nám vrátil stáří hesla v sekundách, takže jsme jej přepočítali na dny. Vidíme, že administrátorské heslo na tomto počítači nebylo změněno hodně dlouho :) V případě, že by vás zajímalo stáří hesla pro účet v Active Directory, stačí změnit první řádek na následující variantu:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; [ADSI]$user="WinNT://domain.name/administrator,user"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;a v proměnné &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;$user&lt;/span&gt;&lt;/span&gt; budeme mít uložen účet doménového administrátora.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Pokud víte, že informaci o stáří hesla budete využívat častěji, můžete si předchozí kód uložit do skriptu.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;function Get-PasswordAge {&lt;br /&gt;&lt;br /&gt;param (&lt;br /&gt;[string]$scope = "$env:computername",&lt;br /&gt;[string]$user = "administrator"&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;[ADSI]$ADSIobj="WinNT://$scope/$user,user"&lt;br /&gt;"$user : $([Math]::Round(($ADSIobj.PasswordAge).value/86400))"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;PS C:\&gt; Get-PasswordAge&lt;br /&gt;1127&lt;br /&gt;PS C:\&gt; Get-PasswordAge -user $env:USERNAME -scope $env:USERDOMAIN&lt;br /&gt;86&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Jediným doplněním je závěrečné zaokrouhlení dnů na celá čísla pro lepší přehlednost.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Banner mistra Skriptíka je stažen ze stránek &lt;a href="http://www.technetflash.cz/"&gt;TechNet Flash zpravodaje&lt;/a&gt;. Děkuji týmu TechNetu za možnost jeho použití pro potřeby tohoto článku.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6301906912678074441?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6301906912678074441/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6301906912678074441' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6301906912678074441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6301906912678074441'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/05/hej-mistre-seliku.html' title='Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ni46JsIL9eA/SgwvjIUXPfI/AAAAAAAAADg/VX77bXihoXw/s72-c/TechNetSkriptik_0905.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7619650252206043871</id><published>2009-05-12T11:49:00.004+02:00</published><updated>2009-05-12T12:03:39.462+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><title type='text'>Update: Hej, mistře Šelíku!</title><content type='html'>&lt;div&gt;Dnes jsem dostal povolení, že mohu přidávat banner mistra Šelíka do článků na tomto webu (viz např. &lt;a href="http://powershell-cz.blogspot.com/2009/04/hej-mistre-seliku.html"&gt;tento příspěvek&lt;/a&gt;).&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Banner je součástí českého TechNet Flash zpravodaje, který je dostupný (po registraci) na &lt;a href="http://www.technetflash.cz/"&gt;technetflash.cz&lt;/a&gt;. Pokud zpravodaj neodebíráte, mohu vám ho jen doporučit.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Těším se na další setkání s vámi a mistry Skriptíkem a Šelíkem :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7619650252206043871?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7619650252206043871/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7619650252206043871' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7619650252206043871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7619650252206043871'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/05/update-hej-mistre-seliku.html' title='Update: Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5408348939835778404</id><published>2009-05-06T16:31:00.002+02:00</published><updated>2009-05-06T16:35:51.153+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bleskovky'/><title type='text'>Windows 7 RC</title><content type='html'>Jistě nikomu z vás neuniklo, že do světa byla puštěna &lt;a href="http://technet.microsoft.com/cs-cz/evalcenter/dd353205(en-us).aspx?ITPID=mscomsl"&gt;RC verze Windows 7&lt;/a&gt;. Co je ovšem důležité z hlediska PowerShelu, že tím se nám dostává do ruky ve velkém množství kopií PowerShell v2. Já už mám RC stažené a čekám na víkend, abych si s nimi mohl pohrát. Od této chvíle budu více využívat verzi 2 a rád bych přinesl věci, které mne zaujmou.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5408348939835778404?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5408348939835778404/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5408348939835778404' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5408348939835778404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5408348939835778404'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/05/windows-7-rc.html' title='Windows 7 RC'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8188786191944436970</id><published>2009-05-05T16:26:00.004+02:00</published><updated>2009-05-05T16:44:47.454+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMware'/><category scheme='http://www.blogger.com/atom/ns#' term='knihy'/><title type='text'>Správa VMware pomocí PowerShellu</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ni46JsIL9eA/SgBOi1wrvHI/AAAAAAAAADY/2PDrb5zmh70/s1600-h/vmware_hal.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 133px; height: 190px;" src="http://1.bp.blogspot.com/_Ni46JsIL9eA/SgBOi1wrvHI/AAAAAAAAADY/2PDrb5zmh70/s400/vmware_hal.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5332348319260458098" /&gt;&lt;/a&gt;V těchto dnech se konečně dostala na trh kniha, na kterou jsem dlouho čekal.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jedná se o &lt;a href="http://www.sapienpress.com/vmware.asp"&gt;Managing VMware Infrastructure with Windows PowerShell: TFM&lt;/a&gt;, kterou napsal &lt;a href="http://halr9000.com/"&gt;Hal Rottenberg&lt;/a&gt;. Hal je Microsoft PowerShell MVP a je zároveň VMware vExpert. Obě tato ocenění jej předurčují k tomu, že téma knihy zvládá na té nejvyšší úrovni. Hal je zároveň jedním z moderátorů &lt;a href="http://powerscripting.wordpress.com/"&gt;PowerScripting Podcastu&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Knihu vydalo nakladatelství Sapien Press v edici TFM. Četl jsem z této edice dvě knihy a s oběma jsem byl velice spokojen. Na webu Sapienu jsou ke stažení &lt;a href="http://www.sapienpress.com/downloads/Managing_VMWare_scripts.zip"&gt;skripty&lt;/a&gt; a zároveň je dostupná &lt;a href="http://www.sapienpress.com/downloads/Managing_VMWare_What's_New.pdf"&gt;ukázková kapitola&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Kniha je již dostupná na &lt;a href="http://www.amazon.com/Managing-VMware-Infrastructure-Windows-PowerShell/dp/0982131402"&gt;Amazonu&lt;/a&gt;. V nejbližších dnech si ji budu objednávat :) Pokud se zabýváte správou VMware serveru a chcete vaši práci automatizovat, mohu tuto knihu jen doporučit.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8188786191944436970?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8188786191944436970/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8188786191944436970' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8188786191944436970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8188786191944436970'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/05/sprava-vmware-pomoci-powershellu.html' title='Správa VMware pomocí PowerShellu'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ni46JsIL9eA/SgBOi1wrvHI/AAAAAAAAADY/2PDrb5zmh70/s72-c/vmware_hal.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-202335810895825048</id><published>2009-05-04T14:16:00.002+02:00</published><updated>2009-05-04T16:47:31.024+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hlasovani'/><title type='text'>Hlasování - výsledky</title><content type='html'>Minulý týden doběhlo první hlasování. Otázka byla: "Vadilo by vám, kdyby byl obsah webu v angličtině?" Až do poslední chvíle to vypadalo na remízu, ale pak jeden člověk hlasoval pro Ano. Vzhledem k tomu, že já sám jsem hlasoval pro ne, beru to jako výhru o 15% :)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Rád bych přinášel informace převážně v českém jazyce. Zjistil jsem ovšem, že občas zazní na fóru či Twitteru dotaz, který jsem schopen řešit a rád bych jej publikoval. Proto jsem se již definitivně rozhodl přenést současnou podobu webu na vlastní doménu www.PowerShell.cz a najít providera, který bude schopen nabídnout WordPress jako nástroj pro tvorbu webu. V současné době mám dobré ohlasy na &lt;a href="http://www.onebit.cz/"&gt;onebit.cz&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Má idea je taková, že PowerShell.cz bude primárně v češtině a v subdoméně en.PowerShell.cz pojede paralelně anglická verze. Mělo by platit, že všechny články, které budou dostupné v angličtině, budou dostupné i v češtině. Opačně to již platit nemusí.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-202335810895825048?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/202335810895825048/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=202335810895825048' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/202335810895825048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/202335810895825048'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/05/hlasovani-vysledky.html' title='Hlasování - výsledky'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1859058126205389307</id><published>2009-04-30T12:59:00.009+02:00</published><updated>2009-04-30T14:16:50.510+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interesting scripts'/><category scheme='http://www.blogger.com/atom/ns#' term='LN'/><title type='text'>How to access LN data</title><content type='html'>Few months ago I started to use PowerShell for access to my Lotus Notes Inbox. It is pretty cool because I don't need to go to LN every time the mail arrives and can see it directly in my dearest Win application:&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_Ni46JsIL9eA/SfmHofowaAI/AAAAAAAAADQ/bOxeLZLITk4/s400/mail.jpg" style="cursor:pointer; cursor:hand;width: 332px; height: 80px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5330440763726653442" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You see I modified my profile so the number in brackets means how many emails I have in Inbox. Alias &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;she&lt;/span&gt;&lt;/span&gt; calls my function &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Show-Email&lt;/span&gt;&lt;/span&gt; and displays last email (default behaviour). In this article I'd like to show you basic idea. In the next one will show you how to do the work more automatically. Thanks @ye110wbeard for asking on Twitter - it kicks me to finally write the article :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Whole work with Lotus Notes consists of following steps:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Connect to Lotus Notes session&lt;/li&gt;&lt;li&gt;Select Database&lt;/li&gt;&lt;li&gt;Select View&lt;/li&gt;&lt;li&gt;Go thru all documents inside loop&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Connect to Lotus Notes Session&lt;/span&gt;&lt;/div&gt;&lt;div&gt;As COM is used for connection, &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;New-Object&lt;/span&gt;&lt;/span&gt; is the way:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $session = New-Object -ComObject Lotus.NotesSession&lt;br /&gt;PS C:\&gt; $session.Initialize()&lt;br /&gt;PS C:\&gt; $session.NotesVersion&lt;br /&gt;Release 6.5.3|September 14, 2004&lt;/div&gt;&lt;br /&gt;&lt;div&gt;OK, we are in, let's continue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Open database and select View&lt;/span&gt;&lt;/div&gt;&lt;div&gt;You can connect to database located on the server or to local database. In case of local database, use empty string as first parameter of &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;GetDatabase&lt;/span&gt;&lt;/span&gt; method.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $db = $session.GetDatabase('','names.nsf')&lt;br /&gt;PS C:\&gt; $db.Title&lt;br /&gt;Moravec's Address Book&lt;br /&gt;PS C:\&gt; $view = $db.GetView('Contacts')&lt;br /&gt;PS C:\&gt; $view.Name&lt;br /&gt;Contacts&lt;br /&gt;PS C:\&gt; $view.AllEntries.Count&lt;br /&gt;215&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You can see that I have 215 records in my Address book. I use &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;AllEntries.Count&lt;/span&gt;&lt;/span&gt; every time I am downloading data from other (big) databases. I simply use the value in &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Write-Progress&lt;/span&gt;&lt;/span&gt; cmdlet so can see what's going on.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Grab data&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Before you start do read records you have to know the names of items. Who is your best fried now? Of course&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; Get-Member&lt;/span&gt;&lt;/span&gt;. Or you can go directly to LN database and check the fields manually via Document Properties.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $view.GetFirstDocument().Items | select Name | fw -col 4&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Yupii - we are almost done:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $doc = $view.GetFirstDocument()&lt;br /&gt;PS C:\&gt; while ($doc -ne $null) {&lt;br /&gt;$lastname = $doc.GetItemValue("LastName")&lt;br /&gt;$firstname = $doc.GetItemValue("FirstName")&lt;br /&gt;Write-Host "$firstname $lastname"&lt;br /&gt;$doc = $view.GetNextDocument($doc)&lt;br /&gt;}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;You will see long list of names if you typed it correctly.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In this article I showed you how to easily connect to any LN database and read data from that db. I use the same technique for reading data from our company structure, converting it to objects and load it to PowerGUI for better work with the data.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1859058126205389307?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1859058126205389307/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1859058126205389307' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1859058126205389307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1859058126205389307'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/04/how-to-access-ln-data.html' title='How to access LN data'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ni46JsIL9eA/SfmHofowaAI/AAAAAAAAADQ/bOxeLZLITk4/s72-c/mail.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3400415707334272407</id><published>2009-04-30T08:59:00.002+02:00</published><updated>2009-04-30T10:53:56.366+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>Livemeeting: Windows PowerShell – úvod</title><content type='html'>Včera proběhl on-line seminář s názvem &lt;a href="http://akce.altairis.cz/Events/283.aspx"&gt;Windows PowerShell - úvod&lt;/a&gt;. Pod záštitou firmy Altairis byl přednášejícím Štěpán Bechyňský z Microsoftu.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Celá prezentace byla opravdu úvodem a neměla za cíl provést uživatele do hloubky PowerShellu. Jednotlivé části byly ukazovány i v konzoli PowerShellu, takže posluchači měli možnost vidět příkazy ze slidů naživo. Vzhledem k tomu, že se jednalo (pokud si dobře pamatuji) o první on-line vlaštovku nezbývá než doufat, že se dočkáme dalších pokračování. Prezentace měla některé slabší části, ale z mého pohledu převládlo nadšení, že jsme se konečně dočkali české verze. Ke stažení byl dostupný soubor s prezentací a ukázkovými soubory.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Celá prezentace bude po částech dostupná na &lt;a href="http://www.mstv.cz/it/"&gt;MSTV.CZ&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3400415707334272407?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3400415707334272407/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3400415707334272407' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3400415707334272407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3400415707334272407'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/04/livemeeting-windows-powershell-uvod.html' title='Livemeeting: Windows PowerShell – úvod'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3220673002777432396</id><published>2009-04-29T16:15:00.011+02:00</published><updated>2009-04-29T16:39:34.441+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><category scheme='http://www.blogger.com/atom/ns#' term='-Path'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><title type='text'>Hej, mistře Šelíku!</title><content type='html'>V jednom ze starších vydání mistra Skriptíka padl následující dotaz: "V přihlašovacím skritpu potřebuji ověřit existenci souboru. Víš, jak na to?" Odpověď byla následující: "Jedna možnost je použít objekt &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;FileSystem&lt;/span&gt;&lt;/span&gt; a metodu &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;FileExists&lt;/span&gt;&lt;/span&gt;."&lt;div&gt;&lt;br /&gt;&lt;div&gt;Pokud chcete řešení v PowerShellu, mohu doporučit přímo cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Test-Path&lt;/span&gt;&lt;/span&gt;. Více o něm v &lt;a href="http://powershell-cz.blogspot.com/2008/12/prce-s-cestou-path.html"&gt;dřívějším článku&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;V případě, že chcete použít .NET, &lt;a href="http://msdn.microsoft.com/en-us/library/system.io.file.aspx"&gt;existuje třída&lt;/a&gt; &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;System.IO.File&lt;/span&gt;&lt;/span&gt; a obsahuje metodu &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Exists&lt;/span&gt;&lt;/span&gt;. Použití je následující:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS c:\&gt; [System.IO.File]::Exists("c:\config.sys")&lt;br /&gt;True&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3220673002777432396?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3220673002777432396/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3220673002777432396' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3220673002777432396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3220673002777432396'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/04/hej-mistre-seliku_29.html' title='Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3412191067927434393</id><published>2009-04-21T08:07:00.004+02:00</published><updated>2009-04-21T08:55:06.726+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentation'/><title type='text'>PowerShell presentation</title><content type='html'>OK guys, it's here. As I promised here are slides and demo files from presentation for my colleagues.&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.makovec.info/ps/introduction_to_powershell.pdf"&gt;Slides&lt;/a&gt; - I converted it to PDF and removed all company logos so somewhere it can looks strange.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.makovec.info/ps/demo.zip"&gt;Demo files&lt;/a&gt; used during presentation. Based on usage of specific technology there are short examples (VM) or really complex (ACL). Complex doesn't mean thousands of lines - we are in PowerShell :)&lt;/li&gt;&lt;/ul&gt;When I am doing presentation I use practical examples as much as I can. And I am talking a lot - ask my colleagues :) So sometimes you can feel like "out of the context" when looking only to presentation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found out that the most interesting part was setting of ACL. On the other hand I was compelled to slow down presentation when I talked about objects in PowerShell. My admin colleagues never tried any object oriented language so I saw on their faces they are "lost". After that I digressed a bit and tried to desbribed the idea of objects. Now I know that for next presentation (if presented for administrators) I have to redesign the slides.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As a conclusion I can say that it was fun. I felt that they were really interested and for the future I see that some of them can thing about PowerShell as about the tool which saves them a lot of work.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3412191067927434393?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3412191067927434393/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3412191067927434393' title='Počet komentářů: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3412191067927434393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3412191067927434393'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/04/powershell-presentation.html' title='PowerShell presentation'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-2321027164464116425</id><published>2009-04-17T11:37:00.007+02:00</published><updated>2009-05-12T11:57:26.295+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='šelík'/><category scheme='http://www.blogger.com/atom/ns#' term='event log'/><category scheme='http://www.blogger.com/atom/ns#' term='TechNet'/><title type='text'>Hej, mistře Šelíku!</title><content type='html'>Při pročítání posledního CZ TechNet zpravodaje mě napadlo zpracovat téma z komiksu &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Hej, mistře Skriptíku!&lt;/span&gt; v PowerShellu. TechNet Flash zpravodaj je dostupný na &lt;a href="http://www.technetflash.cz"&gt;www.technetflash.cz&lt;/a&gt; (včetně starších čísel). Rozhodně jej doporučuji všem IT odborníkům.&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_Ni46JsIL9eA/SehOo3-vSOI/AAAAAAAAADI/kzUj9AGlsoI/s400/TechNetSkriptik_0904.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 176px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5325593023494441186" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Tentokrát budeme potřebovat PowerShell v2 (CTP3). Tato verze již obsahuje cmdlety pro práci s Windows Event Logy:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\Users\beta&gt; Get-Command -noun EventLog | Select-Object Name&lt;br /&gt;Clear-EventLog&lt;br /&gt;Get-EventLog&lt;br /&gt;Limit-EventLog&lt;br /&gt;New-EventLog&lt;br /&gt;Remove-EventLog&lt;br /&gt;Show-EventLog&lt;br /&gt;Write-EventLog&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Mrkneme se na &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Write-EventLog&lt;/span&gt;&lt;/span&gt;. Ten má čtyři povinné parametry: &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;LogName&lt;/span&gt;&lt;/span&gt;, &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Source&lt;/span&gt;&lt;/span&gt;, &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;EventID&lt;/span&gt;&lt;/span&gt;, &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Message&lt;/span&gt;&lt;/span&gt;. Zkusme tedy něco zapsat do aplikačního logu:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;Write-EventLog -LogName Application -source "Windows Error Reporting" -eventID 007 -Message "James Bond is cool!"&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Výborně, stále tomu ale něco chybí. Většinou budete chtít zapisovat data z vašich programů. Pokud zkusite zápis ve tvaru:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;Write-EventLog -LogName Application -source "Moje Aplikace" -eventID 007 -Message "James Bond is cool!"&lt;/div&gt;&lt;br /&gt;&lt;div&gt;PowerShell vám vrátí chybu jejíž část &lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;The source was not found&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; vám oznámí, že toto nelze. Je to způsobené tím, že každý zdroj (&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Source&lt;/span&gt;&lt;/span&gt;), který zapisuje do Event Logu musí být předem zaregistrován (viz &lt;a href="http://msdn.microsoft.com/en-us/library/xz73e171.aspx"&gt;MSDN&lt;/a&gt;). Naštěstí exituje v PowerShellu cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;New-EventLog&lt;/span&gt;&lt;/span&gt;, který tuto službu udělá za vás. Následující seznam příkazů již tedy povede ke zdárnému konci (pro registraci zdroje musíte příkaz pustit s právy administrátora):&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; New-EventLog -LogName Application -Source "Moje Aplikace"&lt;br /&gt;PS C:\&gt; Write-EventLog -LogName Application -source "Moje Aplikace" -eventID 001 -Message "Ale ja jsem jednicka."&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-2321027164464116425?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/2321027164464116425/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=2321027164464116425' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2321027164464116425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2321027164464116425'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/04/hej-mistre-seliku.html' title='Hej, mistře Šelíku!'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ni46JsIL9eA/SehOo3-vSOI/AAAAAAAAADI/kzUj9AGlsoI/s72-c/TechNetSkriptik_0904.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7510640509312327269</id><published>2009-03-13T09:00:00.016+01:00</published><updated>2009-03-18T15:19:33.047+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SMS 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='interesting scripts'/><title type='text'>smsDiagram - Draw your SMS hierarchy with one script</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;The Story&lt;/span&gt;&lt;/div&gt;I am an administrator of big SMS hiearchy. Few times I reported to management how our infrastructure looks like. You know managers - they doesn't understand to objects, pipes and other funny parts of admin life. They are like children - likes pictures and graphs. So it's nice to show them infrastructure drawn in Visio. Till now I created it manually but after we merged few sites together it's not fun anymore (we have about 300 servers).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Maybe you recognized small analogy in the title of this post. When I saw an &lt;a href="http://www.virtu-al.net/2009/01/26/vdiagram-draw-your-vi-with-one-script/"&gt;article&lt;/a&gt; written by &lt;a href="http://www.virtu-al.net/"&gt;Alan Renouf&lt;/a&gt; I knew that my future is bright. So thanks to Alan to kick me (Virtu-Al(ly) of course :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;The Script&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Script itself is not so complicated. The biggest part is related to Visio (I use 2003 version) drawing. But there are some parts you might find useful for your own scripts.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Load hierachy from WMI&lt;/span&gt;&lt;/div&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol start="1" class="dp-rb"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$siteCode&lt;/span&gt;&lt;span&gt; = (&lt;/span&gt;&lt;span class="builtin"&gt;Get-WmiObject&lt;/span&gt;&lt;span&gt; -ComputerName &lt;/span&gt;&lt;span class="variable"&gt;$server&lt;/span&gt;&lt;span&gt; -Namespace root/sms `  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    -Class SMS_ProviderLocation -Filter &lt;span class="string"&gt;"ProviderForLocalSite='True'"&lt;/span&gt;&lt;span&gt;).SiteCode  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# SMS Namespace path&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="variable"&gt;$SMSWMINamespace&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;'root/sms/site_'&lt;/span&gt;&lt;span&gt;+&lt;/span&gt;&lt;span class="variable"&gt;$siteCode&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# List of children servers from SMS_Site class&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="variable"&gt;$servers&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="builtin"&gt;Get-WmiObject&lt;/span&gt;&lt;span&gt; -ComputerName &lt;/span&gt;&lt;span class="variable"&gt;$server&lt;/span&gt;&lt;span&gt; -Namespace &lt;/span&gt;&lt;span class="variable"&gt;$SMSWMINamespace&lt;/span&gt;&lt;span&gt; -Class SMS_Site | `  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    Select ReportingSiteCode, SiteCode, ServerName, Type | `  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    Sort ReportingSiteCode, SiteCode  &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;At lines 1-2 we have one-liner which connects to WMI of the site server (specified as parameter of the script) and find sitecode in &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;SMS_ProviderLocation&lt;/span&gt;&lt;/span&gt; class. Then we connect to the SMS site namespace. We can load all necessary information from that namespace (lines 7-9) and save it in &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;$servers&lt;/span&gt;&lt;/span&gt; object.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Text representation of SMS hierarchy&lt;/span&gt;&lt;/div&gt;&lt;div&gt;If you don't have Visio or just want quick overwiew you have two choices:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Use standard SMS report (&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Sites by hierarchy with time of last site status update&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Pass parameter &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;$textInfo&lt;/span&gt;&lt;/span&gt; to &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;smsDiagram&lt;/span&gt;&lt;/span&gt; script :)&lt;/li&gt;&lt;/ol&gt;Second option will display your hierarchy in this way:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; ./smsDiagram.ps1 -server SMS01 -textInfo&lt;br /&gt;CC0 (P)&lt;br /&gt;  CZ0 (P)&lt;br /&gt;    500&lt;br /&gt;    HU0 (P)&lt;br /&gt;      501&lt;br /&gt;  ZZ0 (P)&lt;br /&gt;    003&lt;br /&gt;    004&lt;br /&gt;    ZZ1 (P)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;It's easy and fast - as fast as your connectivity to the site server. (P) means that the displayed server is Primary server.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Voila&lt;/span&gt;&lt;/div&gt;&lt;div&gt;And here is the nicest part of the script. It uses standard Visio Network template - &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Detailed Network Diagram. &lt;/span&gt;If you want to show infrastructure as Visio diagram just provide site server name as a parameter. In the diagram you can also see which server is Primary (db icon) and which is Secondary.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS c:\&gt; smsDiagram.ps1 -server SMS01&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_Ni46JsIL9eA/Sbl_80AvqCI/AAAAAAAAADA/HmdR0apzRTY/s400/SMShierarchy.JPG" style="cursor:pointer; cursor:hand;width: 223px; height: 400px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5312417918190856226" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now I have latest SMS hierarchy at my desk and it looks awesome :) Final document is saved in your &lt;span class="Apple-style-span" style="font-style: italic;"&gt;My Documents&lt;/span&gt; folder, name is &lt;span class="Apple-style-span" style="font-style: italic;"&gt;smsDiagram.vsd.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Notes&lt;/span&gt;&lt;/div&gt;&lt;div&gt;I didn't test the script against ConfigMgr. My "test lab" is not active now (to be honest - my NB where I ran it crashed before few days and I haven't time to rebuild it now).&lt;/div&gt;&lt;div&gt;No error codes checking now. Be sure you run the script as admin able to connect to WMI of site server.&lt;/div&gt;&lt;div&gt;Sometimes the Visio diagram is "ugly" - it fully depends on how the Visio handle objects creation. Hopefuly will find some solution but it's not a priority now.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Default text info shows site code. For next version I plan to add switch which tells what do you want to show as server description.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the future versions of the script I also would like to add some more features - display server roles (MP, CAP, ...), customize output (shape names, connectors).&lt;/div&gt;&lt;div&gt;Source code is available at &lt;a href="http://poshcode.org/941"&gt;PoSh Code&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Please let me know if you find it useful or if you find some errors. Any feedback for improvement is welcome.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7510640509312327269?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7510640509312327269/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7510640509312327269' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7510640509312327269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7510640509312327269'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/03/smsdiagram-draw-your-sms-hierarchy-with.html' title='smsDiagram - Draw your SMS hierarchy with one script'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ni46JsIL9eA/Sbl_80AvqCI/AAAAAAAAADA/HmdR0apzRTY/s72-c/SMShierarchy.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7075352659167788340</id><published>2009-03-09T22:58:00.010+01:00</published><updated>2009-03-09T23:23:45.302+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zajímavé skripty'/><title type='text'>Looking for HResult</title><content type='html'>&lt;div&gt;In one of the last &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Hey, Scripting Guy!&lt;/span&gt; article is described &lt;a href="http://www.microsoft.com/technet/scriptcenter/resources/qanda/mar09/hey0311.mspx"&gt;how to install updates&lt;/a&gt; and check it's result codes. I was really surprised when Scripting guys told me: "We can use calc.exe" - OMG why not use converting directly in PowerShell?&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "0x{0:x}" -f [int] -2145124318&lt;br /&gt;0x80240022&lt;/div&gt;&lt;br /&gt;When I tried this I start thinking about the function which will do the conversion and shows also description of the result code.&lt;br /&gt;&lt;!-- Code --&gt;&lt;br /&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;div class="bar"&gt;&lt;/div&gt;&lt;ol start="1" class="dp-c"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Name : Get-HResult.ps1&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Author: David "Makovec" Moravec&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Web : http://www.powershell.cz&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Email : powershell.cz@googlemail.com&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;#&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Description: Finds meaning of HResult&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;#&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Version: 0.1&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# History:&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# v0.1 - (add) basic functionality&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;#&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;# Usage: Get-HResult -2145124318&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;#&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="preprocessor"&gt;#################################################################&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt; Get-HResult {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    param (  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;        $HResult,  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;        $url = &lt;span class="string"&gt;'http://technet.microsoft.com/en-us/library/cc720442.aspx'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    )  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    $calc = &lt;span class="string"&gt;"0x{0:x}"&lt;/span&gt;&lt;span&gt; -f [&lt;/span&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;span&gt;]$HResult  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    $lookFor = $calc+&lt;span class="string"&gt;'.*?tr'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    $wc = New-Object system.net.webclient  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    $wc.DownloadString($url) -match $lookFor | Out-Null  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    $tmp = $matches[0]  &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    $searchString = &lt;span class="string"&gt;'(?&amp;lt;ResCode&gt;'&lt;/span&gt;&lt;span&gt;+$calc+&lt;/span&gt;&lt;span class="string"&gt;').*\&amp;lt;p\&gt;(?&amp;lt;ResStr&gt;.+?)\&amp;lt;.*\&amp;lt;p\&gt;(?&amp;lt;Description&gt;.+?)\&amp;lt;/p.+'&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    $tmp -match $searchString | Out-Null  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    Write-Host &lt;span class="string"&gt;"HResult:       "&lt;/span&gt;&lt;span&gt; $HResult  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    Write-Host &lt;span class="string"&gt;"Result Code:   "&lt;/span&gt;&lt;span&gt; $matches.ResCode  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    Write-Host &lt;span class="string"&gt;"Result String: "&lt;/span&gt;&lt;span&gt; $matches.ResStr  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    Write-Host &lt;span class="string"&gt;"Description:   "&lt;/span&gt;&lt;span&gt; $matches.Description  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;      &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;} #&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;By default script return results for Windows Update Agent and has no checking for errors. It has parameter for providing different URL but I didn't try any. Usage is following:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Get-HResult -2145124351&lt;br /&gt;Result Code:    0x80240001&lt;br /&gt;Result String:  WU_E_NO_SERVICE&lt;br /&gt;Description:    Windows Update Agent was unable to provide the service.&lt;/div&gt;&lt;br /&gt;Source code will be available at PoSh Code when I'll be able to open it, now have troubles with connectivity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7075352659167788340?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7075352659167788340/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7075352659167788340' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7075352659167788340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7075352659167788340'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/03/looking-for-hresult.html' title='Looking for HResult'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3821524339860791984</id><published>2009-03-06T19:32:00.002+01:00</published><updated>2009-03-06T19:34:32.323+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hlasovani'/><category scheme='http://www.blogger.com/atom/ns#' term='Bleskovky'/><title type='text'>Hlasování</title><content type='html'>Trošku jsem přemýšlel nad obsahem tohoto webu. Vzhledem k tomu, že některé z příspěvků bych rád publikoval "mezinárodně", překládám částečně již existující příspěvky.&lt;div&gt;Proto bych se rád zeptal, jestli by vám vadilo, kdyby byl obsah webu psán v anglickém jazyce. Děkuji za vaše hlasy.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3821524339860791984?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3821524339860791984/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3821524339860791984' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3821524339860791984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3821524339860791984'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/03/hlasovani.html' title='Hlasování'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6918855945477232174</id><published>2009-02-26T08:37:00.007+01:00</published><updated>2009-03-06T19:29:17.717+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bleskovky'/><title type='text'>Quest Connect</title><content type='html'>&lt;div&gt;[Update]: Dmitry Sotnikov potvrdil, že se bude jednat o on-line diskusi na téma PowerShell a PowerGUI.&lt;/div&gt;&lt;br /&gt;Podle mailu, který mi dnes přistál v poště, to vypadá, že se blíží další konference &lt;a href="http://events.unisfair.com/microsite11.jsp?eid=318"&gt;Quest Connect&lt;/a&gt;. Je naplánována na 11. března 2009.&lt;br /&gt;&lt;div&gt;Zatím to vypadá, že část bude živě a část bude archiv minulé konference. Až budu vědět více, dám vědět.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6918855945477232174?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6918855945477232174/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6918855945477232174' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6918855945477232174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6918855945477232174'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/02/quest-connect-2009.html' title='Quest Connect'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-9106778379788371216</id><published>2009-01-23T10:27:00.010+01:00</published><updated>2009-01-23T11:07:33.096+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zajímavé skripty'/><title type='text'>Jak najít význam zkratky</title><content type='html'>Poslední dobou hodně komunikuji s lidmi, kteří tráví [četováním] evidentně hodně času i mimo práci. Používají množství zkratek, ze kterých jsem občas trochu mimo. Jelikož pak většinou nechápu odpovědi typu BFN, ACAB a podobně. Do nynějška jsem vždy použil Google a ne vždy se trefil napoprvé. Rozhodl jsem se vytvořit funkci, která vyhledá význam zkratky na internetu. Po vyzkoušení několika stránek se mi zalíbila (jak z hlediska vrácených odpovědí, tak i z hlediska struktury HTML stránky) stránka &lt;a href="http://acronyms.thefreedictionary.com/"&gt;Acronyms and Abbreviations&lt;/a&gt; na TheFreeDictionary.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vrácené HTML je ve tvaru, který je vidět na obrázku&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_Ni46JsIL9eA/SXmSn4FLvhI/AAAAAAAAACo/7kFZz2yYSgw/s400/SourceOfAcr.JPG" style="cursor:pointer; cursor:hand;width: 373px; height: 121px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5294424050717408786" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pomocí XPath jsem se dotázal na všechny druhé sloupce a výsledkem je seznam významů. Pro stažení a parsování výsledku hledání jsem použil &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Invoke-Http&lt;/span&gt;&lt;/span&gt; a &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Receive-Http&lt;/span&gt;&lt;/span&gt; z &lt;a href="http://poshcode.org/787"&gt;HttpRest&lt;/a&gt;. Použití je jednoduché:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Find-Abbreviation itmu&lt;br /&gt;Inventory Tool for Microsoft Updates&lt;/div&gt;&lt;br /&gt;&lt;!-- Code --&gt;&lt;div class="dp-highlighter" id="hlDiv"&gt;&lt;ol start="1" class="dp-rb"&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Name  : Find-Abbreviation.ps1&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# Author: David "Makovec" Moravec&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Web   : http://www.powershell.cz&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# Email : powershell.cz@googlemail.com&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# Description: Finds meaning of given abbreviation&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;#            : Uses HttpRest http://poshcode.org/787&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Version: 0.1&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# History:&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;#  v0.1 - (add) basic functionality&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;# &lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;# Usage: Find-Abbreviation fyi&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;&lt;span class="comment"&gt;#&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="comment"&gt;#################################################################&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;&lt;span class="keyword"&gt;function&lt;/span&gt;&lt;span&gt; Find-Abbreviation {  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;    &lt;span class="variable"&gt;$url&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span class="string"&gt;"http://acronyms.thefreedictionary.com/$args"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="alt"&gt;&lt;span&gt;    Invoke-Http get &lt;span class="variable"&gt;$url&lt;/span&gt;&lt;span&gt; | Receive-Http Text &lt;/span&gt;&lt;span class="string"&gt;"//tr[@cat]//td[2]"&lt;/span&gt;&lt;span&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=""&gt;&lt;span&gt;}  &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;Skript je &lt;a href="http://poshcode.org/819"&gt;ke stažení&lt;/a&gt; na &lt;a href="http://poshcode.org/"&gt;PoshCode&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-9106778379788371216?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/9106778379788371216/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=9106778379788371216' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/9106778379788371216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/9106778379788371216'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/01/jak-najt-vznam-zkratky.html' title='Jak najít význam zkratky'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ni46JsIL9eA/SXmSn4FLvhI/AAAAAAAAACo/7kFZz2yYSgw/s72-c/SourceOfAcr.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4733213724393745698</id><published>2009-01-02T21:16:00.003+01:00</published><updated>2009-01-02T21:18:49.420+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='-f'/><title type='text'>Operátor formátování - 3. část</title><content type='html'>V minulém díle jsme skončili ukázkou různých formátů data. Dnes si ukážeme, jak si můžeme vytvořit formát vlastní, pokud nám předdefinované nestačí. Vraťme se k mému oblíbenému &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ShortDatePattern&lt;/span&gt;&lt;/span&gt;. Uložíme si aktuální datum a čas do proměnné.&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $d = Get-Date&lt;br /&gt;PS C:\&gt; $d&lt;br /&gt;&lt;br /&gt;31. prosince 2008 22:32:33&lt;br /&gt;&lt;br /&gt;PS C:\&gt; "{0:d}" -f $d&lt;br /&gt;31.12.2008&lt;br /&gt;PS C:\&gt; (Get-Culture).DateTimeFormat&lt;br /&gt;&lt;br /&gt;ShortDatePattern : d.M.yyyy&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;0:d&lt;/span&gt;&lt;/span&gt; (standardní formát) reprezentuje zobrazení ve tvaru &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;d.M.yyyy&lt;/span&gt;&lt;/span&gt; (uživatelský formát). V uživatelském formátu je význam znaků následující:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;d – den ve tvaru 31&lt;br /&gt;&lt;/li&gt;&lt;li&gt;M – měsíc ve tvaru 12&lt;br /&gt;&lt;/li&gt;&lt;li&gt;yyyy – rok ve tvaru 2008&lt;br /&gt;&lt;/li&gt;&lt;li&gt;. – funguje jako oddělovač jednotlivých položek&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Když si vyzkoušíte následující dva příklady&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:d}" -f $d&lt;br /&gt;31.12.2008&lt;br /&gt;PS C:\&gt; "{0:d.M.yyyy}" -f $d&lt;br /&gt;31.12.2008&lt;/div&gt;&lt;br /&gt;dostanete naprosto shodný výsledek. V tomto případě je tedy jednodušší použít standardní formát a ušetřit sedm znaků, než si formát data vytvořit po svém. Pokud ovšem budete chtít například jiný oddělovač dne a měsíce, je dobré znát uživatelské formátování a potřebný výstup si vytvořit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:~d~ [M] (yyyy)}" -f $d&lt;br /&gt;~31~ [12] (2008)&lt;/div&gt;&lt;br /&gt;Jak PowerShell (.NET) pozná, zda &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;d&lt;/span&gt;&lt;/span&gt;, které jsme zadali, je &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ShortDatePattern&lt;/span&gt;&lt;/span&gt; nebo uživatelské zobrazení dne? Existuje jednoduché pravidlo – pokud formátovací řetězec obsahuje více než jeden znak (počítá se i mezera!), je brán jako uživatelský formát, čili&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:d}" -f $d&lt;br /&gt;31.12.2008&lt;br /&gt;PS C:\&gt; "{0:d }" -f $d&lt;br /&gt;31&lt;/div&gt;&lt;br /&gt;V následující části se podíváme na všechny formátovací řetězce. Pro snažší zapamatování jsem se snažil sdružit je do kategorií.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Den&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;d – zobrazuje den jako číslo ve tvaru 1..31&lt;br /&gt;&lt;/li&gt;&lt;li&gt;dd – zobrazuje den jako číslo ve tvaru 01..31 (přidává nulu v případě, že pořadové číslo dne je menší než 10).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ddd – zobrazuje zkratku dne. Jak je definována můžete zjistit pomocí příkazu&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; (Get-Culture).DateTimeFormat.AbbreviatedDayNames&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;dddd – zobrazuje jméno dne, viz &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;(Get-Culture).DateTimeFormat.DayNames&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Ukažme si rovnou nějaké příklady&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:d}" -f $d&lt;br /&gt;31.12.2008&lt;br /&gt;PS C:\&gt; "{0:d }" -f $d&lt;br /&gt;31&lt;br /&gt;PS C:\&gt; "{0}" -f $d.day&lt;br /&gt;31&lt;br /&gt;PS C:\&gt; "{0:dd}" -f $d&lt;br /&gt;31&lt;br /&gt;PS C:\&gt; "{0:ddd}" -f $d&lt;br /&gt;st&lt;br /&gt;PS C:\&gt; "{0:dddd}" -f $d&lt;br /&gt;středa&lt;br /&gt;PS C:\&gt; (Get-Culture).DateTimeFormat | fl *DayNames&lt;br /&gt;&lt;br /&gt;AbbreviatedDayNames : {ne, po, út, st...}&lt;br /&gt;ShortestDayNames    : {ne, po, út, st...}&lt;br /&gt;DayNames            : {neděle, pondělí, úterý, středa...}&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Měsíc&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;M – měsíc jako číslo ve tvaru 1..12&lt;br /&gt;&lt;/li&gt;&lt;li&gt;MM – měsíc jako číslo ve tvaru 01..12&lt;br /&gt;&lt;/li&gt;&lt;li&gt;MMM – zkratka měsíce dle &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;(Get-Culture).DateTimeFormat.AbbreviatedMonthNames&lt;/span&gt;&lt;/span&gt; – zobrazení je ve tvaru římských číslic&lt;br /&gt;&lt;/li&gt;&lt;li&gt;MMMM – jméno měsíce v plném tvaru, viz &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;(Get-Culture).DateTimeFormat.MonthNames&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:M}" -f $d&lt;br /&gt;31 prosince&lt;br /&gt;PS C:\&gt; "{0:M }" -f $d&lt;br /&gt;12&lt;br /&gt;PS C:\&gt; "{0}" -f $d.Month&lt;br /&gt;12&lt;br /&gt;PS C:\&gt; "{0:MM}" -f $d&lt;br /&gt;12&lt;br /&gt;PS C:\&gt; "{0:MMM}" -f $d&lt;br /&gt;XII&lt;br /&gt;PS C:\&gt;  "{0:MMMM}" -f $d&lt;br /&gt;prosinec&lt;br /&gt;PS C:\&gt; (Get-Culture).DateTimeFormat | fl  *MonthNames&lt;br /&gt;&lt;br /&gt;AbbreviatedMonthNames : {I, II, III, IV...}&lt;br /&gt;MonthNames            : {leden, únor, březen, duben...}&lt;/div&gt;&lt;br /&gt;Nyní jsem již podruhé použil konstrukci, která se vám možná moc nelíbí. Jde o `&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;0:M&lt;/span&gt;&lt;/span&gt; ` (s mezerou za znakem M). Z ukázek to není patrné, ale zvídavější povahy dospěly ke (správnému) názoru, že mezera navíc se nám projeví ve výstupním řetězci a občas nám to může vadit. Pojďme si to ověřit.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:M }" -f $d&lt;br /&gt;12&lt;br /&gt;PS C:\&gt; ("{0:M }" -f $d).length&lt;br /&gt;3&lt;br /&gt;PS C:\&gt; Write-Host "|$($a[2])|"&lt;br /&gt;| |&lt;/div&gt;&lt;br /&gt;Mezera jak vyšitá :) Jak se tohoto jevu zbavit si ukážeme na konci dnešního článku. Do té doby budeme všechny jednopísmenné formátovací řetězce zapisovat s mezerou za znakem.&lt;div&gt;&lt;br /&gt;Ještě jedna malá odbočka před tím, než budeme pokračovat. V následujících příkladech budu v některých částech od aktuálního data odčítat určitý počet dní, hodin, … Pro Ty, kteří zatím moc nepracovali s třídou &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;DateTime&lt;/span&gt;&lt;/span&gt; či příkazem &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-Date&lt;/span&gt;&lt;/span&gt; uvádím malou ukázku (za znaky &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;###&lt;/span&gt;&lt;/span&gt; bude vždy následovat komentář k příkazu).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $d | Get-Member Add*                        ### Zobrazíme všechny metody pracující s přičítáním času&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TypeName: System.DateTime&lt;br /&gt;&lt;br /&gt;Name            MemberType Definition&lt;br /&gt;----            ---------- ----------&lt;br /&gt;Add             Method     System.DateTime Add(TimeSpan value)&lt;br /&gt;AddDays         Method     System.DateTime AddDays(Double value)&lt;br /&gt;AddHours        Method     System.DateTime AddHours(Double value)&lt;br /&gt;AddMilliseconds Method     System.DateTime AddMilliseconds(Double value)&lt;br /&gt;AddMinutes      Method     System.DateTime AddMinutes(Double value)&lt;br /&gt;AddMonths       Method     System.DateTime AddMonths(Int32 months)&lt;br /&gt;AddSeconds      Method     System.DateTime AddSeconds(Double value)&lt;br /&gt;AddTicks        Method     System.DateTime AddTicks(Int64 value)&lt;br /&gt;AddYears        Method     System.DateTime AddYears(Int32 value)&lt;br /&gt;&lt;br /&gt;PS C:\&gt; "{0}" -f $d                                                    ### Vypíšeme aktuální stav proměnné d&lt;br /&gt;31.12.2008 22:32:33&lt;br /&gt;PS C:\&gt; "{0}" -f $d.AddDays(1)                                                        ### Přičteme jeden den&lt;br /&gt;1.1.2009 22:32:33&lt;br /&gt;PS C:\&gt; "{0}" -f $d.AddHours(2)                                                      ### Přičteme dvě hodiny&lt;br /&gt;1.1.2009 0:32:33&lt;br /&gt;PS C:\&gt; ### V následujících příkazech budeme časové jednotky odčítat&lt;br /&gt;PS C:\&gt; "{0}" -f $d.AddDays(-366)                              ### Odečteme 366 dní (rok 2008 byl přestupný)&lt;br /&gt;31.12.2007 22:32:33&lt;br /&gt;PS C:\&gt; "{0}" -f $d.AddSeconds(-611)                               ### A co třeba nějaký zapamatovatelný čas&lt;br /&gt;31.12.2008 22:22:22&lt;/div&gt;&lt;br /&gt;Důležité je z předchozích příkazů pochopit, že v čase můžeme jít i do minulosti.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Rok&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;y – rok jako max. jedno nebo dvouciferné číslo.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;yy – rok jako dvouciferné číslo.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;yyy – zobrazí rok jako minimálně trojciferné číslo. Pokud má rok více než tři významové číslice jsou i ty zobrazeny ve výsledku.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;yyyy – zobrazí rok jako čtyřciferné číslo. Pokud má rok méně než čtyři čísla je zleva doplněn nulami.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;yyyyy – zobrazí rok jako pěticiferné číslo. Pokud má rok méně než pět číslel je zleva doplněn nulami.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:y}" -f $d&lt;br /&gt;prosinec 2008&lt;br /&gt;PS C:\&gt; "{0:y }" -f $d&lt;br /&gt;8&lt;br /&gt;PS C:\&gt; "{0:yy}" -f $d&lt;br /&gt;08&lt;br /&gt;PS C:\&gt; "{0:yyy}" -f $d&lt;br /&gt;2008&lt;br /&gt;PS C:\&gt; "{0:yyyy}" -f $d&lt;br /&gt;2008&lt;br /&gt;PS C:\&gt; "{0:yyyyy}" -f $d&lt;br /&gt;02008&lt;br /&gt;PS C:\&gt; "{0:yyy}" -f $d.AddYears(-2000)&lt;br /&gt;008&lt;br /&gt;PS C:\&gt; "{0:yyyyy}" -f $d.AddYears(-2000)&lt;br /&gt;00008&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Hodina&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;h – zobrazuje hodinu jako číslo z intervalu 1..12. Jedná se tedy o zobrazení dvanáctihodinového cyklu.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;hh – zobrazuje hodinu jako číslo z intervalu 01..12.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;H – zobrazuje hodinu jako číslo z intervalu 0..23. Zobrazuje dvacetičtyřhodinový formát.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;HH – zobrazuje hodinu jako číslo z intervalu 00..23.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:h}" -f $d&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0);"&gt;Exception retrieving string: "Input string was not in a correct format."&lt;br /&gt;At line:1 char:11&lt;br /&gt;+ "{0:h}" -f  &lt;&lt;&lt;&lt; $d &lt;/span&gt;&lt;/div&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:h }" -f $d.AddHours(-1)&lt;br /&gt;9&lt;br /&gt;PS C:\&gt; "{0:hh}" -f $d.AddHours(-1)&lt;br /&gt;09&lt;br /&gt;PS C:\&gt; "{0:H }" -f $d.AddHours(-1)&lt;br /&gt;21&lt;br /&gt;PS C:\&gt; "{0:HH}" -f $d.AddHours(-1)&lt;br /&gt;21&lt;/div&gt;&lt;br /&gt;V případě znaku &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;h&lt;/span&gt;&lt;/span&gt; byla vyhozena výjimka z toho důvodu, že pro standardní formátování data neexistuje formátovací řetězec &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;h&lt;/span&gt;&lt;/span&gt;. Tu samou chybu obdržíte, pokud zkusíte např. znak x.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Minuta&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;m – minuta ve tvaru 0..59&lt;br /&gt;&lt;/li&gt;&lt;li&gt;mm – minuta ve tvaru 00..59&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:m}" -f $d&lt;br /&gt;31 prosince&lt;br /&gt;PS C:\&gt; "{0:m }" -f $d&lt;br /&gt;32&lt;br /&gt;PS C:\&gt; "{0:m }" -f $d.AddMinutes(-30)&lt;br /&gt;2&lt;br /&gt;PS C:\&gt; "{0:mm}" -f $d.AddMinutes(-30)&lt;br /&gt;02&lt;br /&gt;PS C:\&gt; "{0:mm}" -f $d&lt;br /&gt;32&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Sekunda&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;s – sekunda ve tvaru 0..59&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ss – sekunda ve tvaru 00..59&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Celá idea už je nyní asi jasná a proto uvedeme pouze jeden příklad.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:ss}" -f $d&lt;br /&gt;33&lt;/div&gt;&lt;br /&gt;Při zobrazování času můžeme jít až na úroveň milisekund. Formátovacím řetězcem je znak &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;f&lt;/span&gt;&lt;/span&gt; (a &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;F&lt;/span&gt;&lt;/span&gt;). V současné době máme v proměnné &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;d&lt;/span&gt;&lt;/span&gt; uložen čas, který má v sobě hodnotu 290ms. Pro názornost budeme tedy v následujících příkladech odečítat 200 ms.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:H:mm:s:f}" -f $d.AddMilliseconds(-200)&lt;br /&gt;22:32:33:0&lt;br /&gt;PS C:\&gt; "{0:H:mm:s:F}" -f $d.AddMilliseconds(-200)&lt;br /&gt;22:32:33:&lt;br /&gt;PS C:\&gt; "{0:H:mm:s:ff}" -f $d.AddMilliseconds(-200)&lt;br /&gt;22:32:33:09&lt;br /&gt;PS C:\&gt; "{0:H:mm:s:FF}" -f $d.AddMilliseconds(-200)&lt;br /&gt;22:32:33:09&lt;br /&gt;PS C:\&gt; "{0:H:mm:s:fff}" -f $d.AddMilliseconds(-200)&lt;br /&gt;22:32:33:090&lt;br /&gt;PS C:\&gt; "{0:H:mm:s:FFF}" -f $d.AddMilliseconds(-200)&lt;br /&gt;22:32:33:09&lt;/div&gt;&lt;br /&gt;V zobrazení milisekund je tedy vidět malá změna při zobrazování – zobrazujeme vždy hodnoty „zleva“, což ale dává smysl, protože potřebujeme znát významově nejvyšší číslici. V zobrazování můžeme jít až na úroveň sedmi f (&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;fffffff&lt;/span&gt;&lt;/span&gt;, &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;FFFFFFF&lt;/span&gt;&lt;/span&gt;), ale z hlediska přesnosti to nemá význam (dle MSDN je přesnost hodin většiny systémů Windows 10-15ms).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;„Speciální“ formátovací řetězce&lt;/span&gt;&lt;br /&gt;.NET zavádí ještě několik dalších znaků, které můžeme při zobrazení data a času použít.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;g – zobrazuje éru, čili &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;n. l.&lt;/span&gt;&lt;/span&gt; pro současný rok&lt;br /&gt;&lt;/li&gt;&lt;li&gt;K, z – zobrazuje informace o časové zóně&lt;br /&gt;&lt;/li&gt;&lt;li&gt;t, tt – označení dopoledne/odpoledne dle &lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;System.Globalization.DateTimeFormatInfo.AMDesignator&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; a &lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;System.Globalization.DateTimeFormatInfo.PMDesignator&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;: / - zastupují separátory času a datumu definované dle &lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;System.Globalization.DateTimeFormatInfo.TimeSeparator&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; a &lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span" style=" "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;System.Globalization.DateTimeFormatInfo.DateSeparator&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;“ ‘ – zobrazí text uvedený v uvozovkách&lt;br /&gt;&lt;/li&gt;&lt;li&gt;% - zobrazí výsledek formátovacího řetězce braného jako uživatelský formát. Jinými slovy od této doby můžete použít místo znaku mezery za formátovacím řetězcem použít procento před, např. &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;%d&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\ - zobrazí znak zapsaný za lomítkem, např. &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;\h&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;jakýkoli jiný znak způsobí vyhození výjimky.&lt;/li&gt;&lt;/ul&gt;&lt;div class="code"&gt;PS C:\&gt; (Get-Culture).DateTimeFormat&lt;br /&gt;&lt;br /&gt;AMDesignator                     : dop.&lt;br /&gt;PMDesignator                     : odp.&lt;br /&gt;DateSeparator                    : .&lt;br /&gt;TimeSeparator                    : :&lt;br /&gt;&lt;br /&gt;PS C:\&gt; "{0:d}" -f $d&lt;br /&gt;31.12.2008&lt;br /&gt;PS C:\&gt; "{0:d }" -f $d&lt;br /&gt;31&lt;br /&gt;PS C:\&gt; "{0:%d}" -f $d&lt;br /&gt;31&lt;br /&gt;PS C:\&gt; ("{0:%d}" -f $d).length&lt;br /&gt;2&lt;br /&gt;&lt;br /&gt;PS C:\&gt; "{0:%g}" -f $d&lt;br /&gt;n. l.&lt;br /&gt;&lt;br /&gt;PS C:\&gt; "{0:d \d 'd'}" -f $d&lt;br /&gt;31 d d&lt;/div&gt;&lt;br /&gt;Po předcházejcích ukázkách už zřejmě chápete, proč pomocí &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;“{0:d}” –f $d&lt;/span&gt;&lt;/span&gt; dostaneme výsledek &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;31.12.2008&lt;/span&gt;&lt;/span&gt;. Takže se pojďme podívat na trochu složitější příklad. Ve druhém díle jsme si ukazovali i univerzální setříditelný formát, který se zapisuje pomocí formátovacího řetězce &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;u&lt;/span&gt;&lt;/span&gt;. Je tvořen následujícím způsobem:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:u}" -f $d&lt;br /&gt;2008-12-31 22:32:33Z&lt;br /&gt;PS C:\&gt; [System.Globalization.DateTimeFormatInfo]::CurrentInfo.UniversalSortableDateTimePattern&lt;br /&gt;yyyy'-'MM'-'dd HH':'mm':'ss'Z'&lt;/div&gt;&lt;br /&gt;Zleva doprava jsou postupně zobrazeny tyto údaje: rok ve čtyřčíselném formátu (2008), pomlčka (-), měsíc ve dvouciferném formátu (12), pomlčka (-), den ve dvouciferném formátu (31), mezera, hodiny ve čtyřiadvacetihodinovém dvouciferném formátu (22), minuty dvouciferně (32), sekundy dvouciferně (33), písmeno Z.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "Den:   {0:%d}`nMesic: {1:%M}`nRok: {2:yyyy}`nJe tedy {0:%d}. {3} {2:yy}" -f $d, $d, $d, `&lt;br /&gt;&gt;&gt; (Get-Culture).DateTimeFormat.MonthGenitiveNames[$d.Month-1]&lt;br /&gt;&gt;&gt;&lt;br /&gt;Den:   31&lt;br /&gt;Mesic: 12&lt;br /&gt;Rok: 2008&lt;br /&gt;Je tedy 31. prosince 08&lt;/div&gt;&lt;br /&gt;V předchozím příkladu jsem použil jednu dosud nezmíněnou vlastnost třídy &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;DateTime&lt;/span&gt;&lt;/span&gt; – &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;MonthGenitiveNames&lt;/span&gt;&lt;/span&gt;, výsledek je vidět ve výstupu.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Po pročtení toho dílu byste měli být schopni formátovat datum v jakémkoli tvaru. Jako vždy si můžete stáhnout &lt;a href="http://www.makovec.info/ps/operator-f_3.txt"&gt;zdrojové kódy&lt;/a&gt;. Nicméně i tak doporučuju si všechny příklady (i vaše vlastní vymyšlené) pěkně natlouct přes klávesnici. Jen tak vám přejdou do krve.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4733213724393745698?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4733213724393745698/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4733213724393745698' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4733213724393745698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4733213724393745698'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2009/01/opertor-formtovn-3-st.html' title='Operátor formátování - 3. část'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7766153948012544083</id><published>2008-12-24T00:37:00.000+01:00</published><updated>2008-12-24T00:38:43.252+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "9days"}; Write-Host "Týden 51"</title><content type='html'>Tentokrát malá změna v názvu :) Rozhodl jsem se dění před Vánocemi shrnout do jednoho článku. Příští novinky vyjdou až v novém roce. Přeji vám tedy všem pěkné svátky a v novém roce hodně povedených skriptů.&lt;div&gt;&lt;ul&gt;&lt;li&gt;V pondělí již tradičně vyšel &lt;a href="http://powerscripting.wordpress.com/2008/12/15/209/"&gt;další díl&lt;/a&gt; PowerScripting Podcastu.&lt;/li&gt;&lt;li&gt;Richard Siddaway dokončil sedmou kapitolu knihy PowerShell in Practice. Dostupná je přes &lt;a href="http://www.manning.com/siddaway/"&gt;MEAP&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;NetMap je nyní &lt;a href="http://www.codeplex.com/NodeXL"&gt;NodeXL&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Na DevCentral se objevila &lt;a href="http://devcentral.f5.com/weblogs/Joe/Default.aspx"&gt;nová série&lt;/a&gt; PowerShell ABC's.&lt;/li&gt;&lt;li&gt;&lt;a href="http://tfl09.blogspot.com/2008/12/powershell-cz-another-powershell-blog.html"&gt;Thomas Lee&lt;/a&gt; píše o PowerShell.cz.&lt;/li&gt;&lt;li&gt;&lt;a href="http://marcoshaw.blogspot.com/2008/12/windows-powershell-virtual-user-group-7_17.html"&gt;Video&lt;/a&gt; z Windows PowerShell Virtual User Group #7.&lt;/li&gt;&lt;li&gt;Tip na f&lt;a href="http://tfl09.blogspot.com/2008/12/online-syntax-highlighting-for.html"&gt;ormátování PowerShell kódu v HTML&lt;/a&gt;. Rozhodl jsem se, že tento nástroj budu dále používat.&lt;/li&gt;&lt;li&gt;Chcete mít ve svém promptu zobrazeno procento nabití baterie? Použijte &lt;a href="http://poshcode.org/738"&gt;tento kód&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Super speciální Podcast - &lt;a href="http://powerscripting.wordpress.com/2008/12/22/episode-53-jeffrey-snover-and-bruce-payette/"&gt;epizoda číslo 53&lt;/a&gt;. Hosté Jeffrey Snover a Bruce Payette.&lt;/li&gt;&lt;li&gt;Hlavní zpráva dne, měsíce, roku - nová verze PowerShellu je na světě. Tedy přesněji &lt;a href="http://blogs.msdn.com/powershell/archive/2008/12/23/early-christmas-present-from-powershell-team-community-technology-preview-3-ctp3-of-windows-powershell-v2.aspx"&gt;PowerShell V2 CTP3&lt;/a&gt;. Všechny následující zprávy se již točily okolo nové verze. Dnes jsem si s ní chvilku hrál a jelikož jsem nepoužíval CTP2 (kromě několika testovacích instalací) bylo pro mne nové úplně vše. Ale již z následujícího postu jsou vidět některé pěkné vlastnosti.&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/12/23/advanced-functions-and-test-leapyear-ps1.aspx"&gt;Zmiňovaný článek&lt;/a&gt; popisující &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Advanced Functions&lt;/span&gt; (jak by se nyní měly nazývat cmdlety).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7766153948012544083?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7766153948012544083/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7766153948012544083' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7766153948012544083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7766153948012544083'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/12/get-psnews-creationtime-lt-9days-write.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;9days&quot;}; Write-Host &quot;Týden 51&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4195701402676001114</id><published>2008-12-24T00:32:00.000+01:00</published><updated>2008-12-24T00:32:00.185+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='-Path'/><category scheme='http://www.blogger.com/atom/ns#' term='cmdlet'/><title type='text'>Práce s cestou: *-Path</title><content type='html'>Pokud pracujete v PowerShellu s cestami mohou se vám hodit cmdlety z dnešního článku. Popsané techniky fungují jak pro práci se soubory/adresáři, tak i pro práci v registrech (s jistými omezeními).&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Test-Path &lt;/span&gt;slouží k otestování existence cesty. Nejčastěji se používá pro test existence určitého souboru.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Test-Path C:\CONFIG.SYS&lt;br /&gt;True&lt;br /&gt;PS C:\&gt; Test-Path $PROFILE&lt;br /&gt;True&lt;br /&gt;PS C:\&gt; Test-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run&lt;br /&gt;True&lt;br /&gt;PS C:\&gt; Test-Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine\PowerShellVersion&lt;br /&gt;False&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;V posledním případě je vidět, že práci s registry nám trochu komplikuje přístup PowerShellu k provideru registru. Funguje na úrovni klíčů a nikoli hodnot.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Convert-Path&lt;/span&gt; převede např. proměnné prostředí na reálnou cestu. Čili:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Convert-Path ~&lt;br /&gt;C:\Documents and Settings\moravec&lt;br /&gt;PS C:\&gt; Convert-Path $env:TEMP&lt;br /&gt;C:\WINDOWS\TEMP&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Split-Path&lt;/span&gt; slouží k rozdělění cesty na její části, zjednodušeně řečeno na adresář a soubor. Bez uvedení parametrů vrátí rodičovský adresář.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Split-Path $env:temp&lt;br /&gt;C:\WINDOWS&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Pokud chcete naopak poslední část cesty, použijte parametr &lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'courier new';"&gt;Leaf&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Split-Path $env:temp -Leaf&lt;br /&gt;TEMP&lt;br /&gt;PS C:\&gt; Split-Path $PROFILE -Leaf&lt;br /&gt;Microsoft.PowerShell_profile.ps1&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Chcete-li získat &lt;span class="Apple-style-span" style="font-style: italic;"&gt;root&lt;/span&gt; testované cesty použijte parametr &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Qualifier&lt;/span&gt;&lt;/span&gt; (případně &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;NoQualifier&lt;/span&gt;&lt;/span&gt;, pokud chcete získat cestu bez rootu).&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Split-Path $PROFILE -Qualifier&lt;br /&gt;C:&lt;br /&gt;PS C:\&gt; Split-Path $PROFILE -NoQualifier&lt;br /&gt;\Documents and Settings\moravec\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1&lt;br /&gt;PS C:\&gt; Split-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Qualifier&lt;br /&gt;HKLM:&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Resolve-Path&lt;/span&gt; se používá v případě, že chceme získat cestu zapsanou zástupnými znaky. Porovnejte následující výstupy:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Resolve-Path ~&lt;br /&gt;Path&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;C:\Documents and Settings\moravec&lt;br /&gt;PS C:\&gt; Convert-Path ~&lt;br /&gt;C:\Documents and Settings\moravec&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Na první pohled je vidět, že výstupem &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Resolve-Path&lt;/span&gt;&lt;/span&gt; bude asi něco zajímavějšího než jen čistý text. Je to tak - &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Convert-Path&lt;/span&gt;&lt;/span&gt; vrací řetězec, &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Resolve-Path&lt;/span&gt;&lt;/span&gt; naproti tomu vrací objekt typu &lt;a href="http://msdn.microsoft.com/en-us/library/system.management.automation.pathinfo(VS.85).aspx"&gt;System.Management.Automation.PathInfo&lt;/a&gt;. Tento objekt má několik vlastností.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Resolve-Path ~ | fl *&lt;br /&gt;&lt;br /&gt;Drive        : C&lt;br /&gt;Provider     : Microsoft.PowerShell.Core\FileSystem&lt;br /&gt;ProviderPath : C:\Documents and Settings\moravec&lt;br /&gt;Path         : C:\Documents and Settings\moravec&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Join-Path&lt;/span&gt; je posledním z "cestovních" příkazů. Používá se k tvorbě cesty. Chcete-li v adresáři, kde je uložen profil, vytvořit adresář pro vaše skripty, je jednou z cest následující příkaz:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; mkdir (join-path (split-path $profile) \skripty\)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4195701402676001114?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4195701402676001114/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4195701402676001114' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4195701402676001114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4195701402676001114'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/12/prce-s-cestou-path.html' title='Práce s cestou: *-Path'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1008168875870504407</id><published>2008-12-23T10:15:00.002+01:00</published><updated>2008-12-23T10:19:23.281+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CTP3'/><category scheme='http://www.blogger.com/atom/ns#' term='Bleskovky'/><title type='text'>PowerShell v2.0 CTP3 je na světě</title><content type='html'>A je to tady! CTP3 byla konečně vydána. První dáreček dnešních Vánoc dorazil.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/12/23/early-christmas-present-from-powershell-team-community-technology-preview-3-ctp3-of-windows-powershell-v2.aspx"&gt;Více přímo v článku&lt;/a&gt; na blogu PowerShell týmu.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1008168875870504407?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1008168875870504407/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1008168875870504407' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1008168875870504407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1008168875870504407'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/12/powershell-v20-ctp3-je-na-svt.html' title='PowerShell v2.0 CTP3 je na světě'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5453712010019132292</id><published>2008-12-19T11:17:00.004+01:00</published><updated>2008-12-19T11:35:39.796+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerScripting Podcast'/><title type='text'>PowerScripting Podcast - Live CTP3 Special</title><content type='html'>Tak jsem se včera - vlastně to bylo dnes ve tři hodiny ráno - zůčastnil poprvé živého vysílání &lt;a href="http://powerscripting.wordpress.com/"&gt;PowerScripting Podcastu&lt;/a&gt;. To byl mazec! Chápu, že mí mladší kolegové by to nazvali důchodcovským sedánkem, ale pro mne jako (cituji) &lt;span class="Apple-style-span" style="font-style: italic;"&gt;PowerShell magora&lt;/span&gt; to byl odvaz.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hosty byli tentokrát Jeffrey Snover a Bruce Payette, takže o zajímavé momenty bylo postaráno. Celou show mi ale zkazilo internetové připojení, které se rozhodlo, že mi bude vypadávat, takže jsem občas slyšel kus řeči a pak pět vteřin ticha. Paralelní chat byl plný skvělých postřehů, vtipů a dobré nálady. Je vidět, že komunita se dobře zná a dokáže si porozumět. Celou show sledovalo 46 lidí, což je prý dosavadní maximum. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Všichni čekali na Jeffreyho slova o uvolnění CTP3. Bohužel bylo oznámeno, že vzhledem k (blíže nespecifikovaným) problémům se síťovým protokolem se uvedení na chvíli odkládá. I tak bychom se ale ještě v prosinci měli dočkat.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Když jsem se kolem páté se všemi - hodně unaven - loučil byl jsem rád, že jsem "byl u toho". Jenom kdybych nemusel o dvě hodiny později vstávat do práce, byl by dnešek o něco lehčí :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5453712010019132292?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5453712010019132292/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5453712010019132292' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5453712010019132292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5453712010019132292'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/12/powerscripting-podcast-live-ctp3.html' title='PowerScripting Podcast - Live CTP3 Special'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-2734473800783097642</id><published>2008-12-18T08:51:00.003+01:00</published><updated>2008-12-18T09:07:20.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bleskovky'/><title type='text'>CTP3 ???</title><content type='html'>Nedá mi to, abych se nepřidal k sérii blogů pokládajících si otázku, kdy bude oznámena verze CTP3. Že by v &lt;a href="http://powerscripting.wordpress.com/2008/12/15/big-show-coming-this-thursday/"&gt;dnešním PowerScripting Podcastu&lt;/a&gt;? Některými lidmi je nazýván jako &lt;span class="Apple-style-span" style="font-style: italic;"&gt;PowerScripting Live CTP3 Special&lt;/span&gt;. Doufám, že se dočkáme.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Já osobně zatím používám pouze verzi 1.0 a CTP2 mám nainstalovánu na počítači v labu. Před nějakou dobou jsem se ale rozhodl, že po uvedení CTP3 (nebo Beta?) přejdu na tuto novou verzi (na mém počítači, nikoli na serverech), protože možnosti, které má/bude mít jsou pro mne velkým přínosem. A hlavně se chci novou verzi naučit co nejdříve, abych při finálním uvedení neztrácel čas dalším učením.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Můj osobní tip je, že nová verze bude do konce roku uvedena - a něco mi říká (spíš si přeju), aby to bylo dnes v průběhu show. Doufám, že se tam potkáme.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-2734473800783097642?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/2734473800783097642/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=2734473800783097642' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2734473800783097642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2734473800783097642'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/12/ctp3.html' title='CTP3 ???'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3318147669523273646</id><published>2008-12-14T23:30:00.004+01:00</published><updated>2008-12-14T23:30:26.602+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 50"</title><content type='html'>Opět s krátkým zpožděním (ale tentokrát pouze v řádu minut) se hlásím s další várkou novinek ze světa PowerShellu. Před chvilkou jsem konečně dopsal druhou část ze série o operátoru formátování a zjistil jsem, že to bude opravdu dlouhé dílo. Uvažuji o následném spojení všech dílů do jednoho PDF souboru (včetně nějaké formy přehledné tabulky) a vystavení všeho společně pro lehčí orientaci.&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Máte rádi poker? Zkuste si dát &lt;a href="http://www.peetersonline.nl/index.php/powershell/powershell-poker-game/"&gt;tento kód&lt;/a&gt; do $profile a můžete hrát kdykoliv :)&lt;/li&gt;&lt;li&gt;Krásná práce spojení HTML, WMI a PowerShellu - &lt;a href="http://teckinfo.blogspot.com/2008/10/powershell-audit-script_15.html"&gt;Audit.ps1&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Pokud spravujete VMware infrastrukturu a chcete používat PowerShell, dejte si na waiting list &lt;a href="http://halr9000.com/article/661"&gt;tuto knihu&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://powerscripting.wordpress.com/2008/12/08/episode-51-doug-finke/"&gt;51. epizoda&lt;/a&gt; PowerScripting Podcast, hostem tentokrát Doug Finke.&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/mediaandmicrocode/archive/2008/12/12/microcode-powershell-scripting-tricks-scripting-the-web-part-3-resolve-link-get-webpagelink.aspx"&gt;Třetí díl&lt;/a&gt; zajímavé série o práci s HTML strukturou od Jamese Brundage.&lt;/li&gt;&lt;li&gt;Jaykul mne &lt;a href="http://huddledmasses.org/powerbot-2-an-irc-bot-in-powershell-script/"&gt;předběhl&lt;/a&gt; :)&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/12/13/explore-your-environment.aspx"&gt;Krásný post&lt;/a&gt; Jeffreyho Snovera o prozkoumávání [Environment].&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3318147669523273646?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3318147669523273646/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3318147669523273646' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3318147669523273646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3318147669523273646'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/12/get-psnews-creationtime-lt-7days-write_14.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;7days&quot;}; Write-Host &quot;Týden 50&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-3042445335457489754</id><published>2008-12-14T23:05:00.000+01:00</published><updated>2008-12-14T23:07:02.932+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='-f'/><title type='text'>Operátor formátování - 2. část</title><content type='html'>V &lt;a href="http://powershell-cz.blogspot.com/2008/11/opertor-formtovn-1-st.html"&gt;minulém díle&lt;/a&gt; jsme se podívali na základy operátoru formátování. Dnes se budeme plně věnovat jeho kouzlům při práci s časovými položkami. Vzhledem k tomu, že v průběhu psaní článku jsem zjistil, že pro jeden díl je informací hodně, rozdělil jsem zpracování data do dvou pokračování. Dnes se podíváme na &lt;a href="http://msdn.microsoft.com/en-us/library/az4se3k1.aspx"&gt;standardní formátování&lt;/a&gt; a příště na &lt;a href="http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx"&gt;uživatelské&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Aktuální čas si nejdříve uložíme do proměnné, takže se nám budou lépe porovnávat výsledky všech operací:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $d =  Get-Date&lt;br /&gt;PS C:\&gt; $d&lt;br /&gt;&lt;br /&gt;1. prosince 2008 23:34:19&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS C:\&gt;&lt;/div&gt;&lt;br /&gt;Při základním použití operátoru &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-f&lt;/span&gt;&lt;/span&gt; dostaneme následující výstup:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0}" -f $d&lt;br /&gt;1.12.2008 23:34:19&lt;br /&gt;PS C:\&gt; $d.GetTypeCode()&lt;br /&gt;DateTime&lt;/div&gt;&lt;br /&gt;Zároveň jsme si ověřili, že v proměnné d je uložen datový typ &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;DateTime&lt;/span&gt;&lt;/span&gt;, takže můžeme začít provádět kouzla. Jestli se chcete podívat na různé varianty výstupu formátovacího operátoru, zkuste tento příkaz:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; (Get-Date).GetDateTimeFormats()&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Z &lt;a href="http://powershell-cz.blogspot.com/2008/11/opertor-formtovn-1-st.html"&gt;minulého dílu&lt;/a&gt; víme, že obecný formát použití operátoru &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;–f &lt;/span&gt;&lt;/span&gt;obsahuje také formátovací řetězec.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;{index[,zarovnani][:formatovaciRetezec]}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;formatovaciRetezec&lt;/span&gt;&lt;/span&gt; může v případě standardního formátování data nabývat osmnácti hodnot. Tyto hodnoty jsou zjednodušeně řečeno pouze aliasy pro uživatelský formát (definovaný systémem podle nastavení regionu). Pojďme si nejdříve ukázat všechny možnosti a poté je popíšeme podrobněji při současné lehké exkurzi do .NETu.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:d}" -f $d&lt;br /&gt;1.12.2008&lt;br /&gt;PS C:\&gt; "{0:D}" -f $d&lt;br /&gt;1. prosince 2008&lt;br /&gt;PS C:\&gt; "{0:t}" -f $d&lt;br /&gt;23:34&lt;br /&gt;PS C:\&gt; "{0:T}" -f $d&lt;br /&gt;23:34:19&lt;br /&gt;PS C:\&gt; "{0:f}" -f $d&lt;br /&gt;1. prosince 2008 23:34&lt;br /&gt;PS C:\&gt; "{0:F}" -f $d&lt;br /&gt;1. prosince 2008 23:34:19&lt;br /&gt;PS C:\&gt; "{0:g}" -f $d&lt;br /&gt;1.12.2008 23:34&lt;br /&gt;PS C:\&gt; "{0:G}" -f $d&lt;br /&gt;1.12.2008 23:34:19&lt;br /&gt;PS C:\&gt; "{0:u}" -f $d&lt;br /&gt;2008-12-01 23:34:19Z&lt;br /&gt;PS C:\&gt; "{0:U}" -f $d&lt;br /&gt;1. prosince 2008 22:34:19&lt;br /&gt;PS C:\&gt; "{0:r}" -f $d&lt;br /&gt;Mon, 01 Dec 2008 23:34:19 GMT&lt;br /&gt;PS C:\&gt; "{0:R}" -f $d&lt;br /&gt;Mon, 01 Dec 2008 23:34:19 GMT&lt;br /&gt;PS C:\&gt; "{0:m}" -f $d&lt;br /&gt;01 prosince&lt;br /&gt;PS C:\&gt; "{0:M}" -f $d&lt;br /&gt;01 prosince&lt;br /&gt;PS C:\&gt; "{0:y}" -f $d&lt;br /&gt;prosinec 2008&lt;br /&gt;PS C:\&gt; "{0:Y}" -f $d&lt;br /&gt;prosinec 2008&lt;br /&gt;PS C:\&gt; "{0:s}" -f $d&lt;br /&gt;2008-12-01T23:34:19&lt;br /&gt;PS C:\&gt; "{0:o}" -f $d&lt;br /&gt;2008-12-01T23:34:19.8358768+01:00&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Jedna vlastnost je jasná na první pohled - PowerShell v případě operátoru &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-f&lt;/span&gt;&lt;/span&gt; rozlišuje velikost písmen! První a druhý příklad tedy nejsou rovnocenné. V prvním (&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;0:d&lt;/span&gt;&lt;/span&gt;) zobrazujeme datum ve formátu &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ShortDate&lt;/span&gt;&lt;/span&gt;, ve druhém (&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;0:D&lt;/span&gt;&lt;/span&gt;) je použit &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;LongDate&lt;/span&gt;&lt;/span&gt; formát. Kde se tento formát bere – a jak je definován – si ukážeme později. Příklady jsou řazeny do dvojic a proto si každou projdeme společně:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;d, D - jak již bylo zmíněno, výstupem bude datum v krátkém (1.12.2008) nebo dlouhém formátu (1. prosince 2008)&lt;/li&gt;&lt;li&gt;t, T - zobrazuje tentokrát čas, opět v krátkém (23:34) nebo dlouhém formátu (23:34:19)&lt;/li&gt;&lt;li&gt;g, G - takzvaný obecný formát, je kombinací předchozích dvou formátů. Platí g = d t; G = d T&lt;/li&gt;&lt;li&gt;f, F - datum a čas v úplném formátu, rozdíl je v zobracení času, čili matematicky: f = D t; F = D T&lt;/li&gt;&lt;li&gt;u, U - univerzální setříditelný formát. U = F&lt;/li&gt;&lt;li&gt;r, R - oba dávají stejný výsledek, datum v RFC1123 formátu&lt;/li&gt;&lt;li&gt;m, M - zobrazuje den a měsíc, obě možnosti dávají shodný výsledek&lt;/li&gt;&lt;li&gt;y, Y - formát pro zobrazení roku a měsíce, obě možnosti dávají shodný výsledek&lt;/li&gt;&lt;li&gt;s - tříditelný formát&lt;/li&gt;&lt;li&gt;o - round-trip formát (Microsoft neuvádí překlad anglického termínu, ale můžeme jej interně nazvat jako "ten nejpodrobnější" :)&lt;/li&gt;&lt;li&gt;Jakýkoli jiný znak je brán jako neznámý a způsobí vyhození výjimky.&lt;/li&gt;&lt;/ul&gt;Zatím jsme brali jako fakt, že existují jakési formáty a pomocí uvedených formátovacích řetězců voláme jejich aliasy. Pojďme si podrobně projít první příklad.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0:d}" -f $d&lt;br /&gt;1.12.2008&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Jak již bylo řečeno, toto zobrazení používá krátký formát data. Anglicky řečeno, používá &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ShortDatePattern&lt;/span&gt;&lt;/span&gt; property. &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ShortDatePattern&lt;/span&gt;&lt;/span&gt; je &lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.shortdatepattern.aspx"&gt;jednou z vlastností&lt;/a&gt; .NET třídy &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;DateTimeFormatInfo&lt;/span&gt;&lt;/span&gt; a každý systém ji definuje podle nastavení regionu. Jak zjistit naše nastavení? V PowerShellu existuje cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-Culture&lt;/span&gt;&lt;/span&gt;, který nám s naším pátráním pomůže (výstup byl výrazně zkrácen).&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; Get-Culture | Get-Member&lt;br /&gt;&lt;br /&gt;TypeName: System.Globalization.CultureInfo&lt;br /&gt;&lt;br /&gt;DateTimeFormat                     Property   System.Globalization.DateTimeFormatInfo DateTimeFormat&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Vidíte typ &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;DateTimeFormatInfo&lt;/span&gt;&lt;/span&gt;? Jsme evidentně na správné stopě. Zkusme se ještě trochu zanořit (opět zkráceno).&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; (Get-Culture).DateTimeFormat&lt;br /&gt;&lt;br /&gt;ShortDatePattern                 : d.M.yyyy&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;A jsme téměř u cíle. &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ShortDatePattern&lt;/span&gt;&lt;/span&gt; je aliasem pro formát &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;d.M.yyyy&lt;/span&gt;&lt;/span&gt;. Hmm, zajímavé, ale kde zjistíme, co znamená například &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;yyyy&lt;/span&gt;&lt;/span&gt;? &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;yyyy&lt;/span&gt;&lt;/span&gt; je jedním z dříve zmíněných &lt;a href="http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx"&gt;uživatelských formátovacích řetězců&lt;/a&gt;, o kterých se budeme bavit příště. Nyní nám stačí informace že &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;d.&lt;/span&gt;&lt;/span&gt; zobrazuje den ve tvaru 1. - &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;M.&lt;/span&gt;&lt;/span&gt; zobrazuje měsíc ve tvaru 12. a &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;yyyy&lt;/span&gt;&lt;/span&gt; rok jako 2008. Jaký formát je přiřazen konkrétnímu formátovacímu řetězci je možné &lt;a href="http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo_properties.aspx"&gt;najít v MSDN&lt;/a&gt;, ve zkratce se jedná o následující:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;d – ShortDatePattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;D – LongDatePattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;t – ShortTimePattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;T – LongTimePattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;F – FullDateTimePattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;u – UniversalSortableDateTimePattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;r, R - RFC1123Pattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;m, M – MonthDayPattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;y, Y – YearMonthPattern&lt;br /&gt;&lt;/li&gt;&lt;li&gt;s – SortableDateTimePattern&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Pro nastavení systému &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;cs-CZ&lt;/span&gt;&lt;/span&gt; jsou formáty následující:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;FullDateTimePattern              : d. MMMM yyyy H:mm:ss&lt;br /&gt;LongDatePattern                  : d. MMMM yyyy&lt;br /&gt;LongTimePattern                  : H:mm:ss&lt;br /&gt;MonthDayPattern                  : dd MMMM&lt;br /&gt;RFC1123Pattern                   : ddd, dd MMM yyyy HH':'mm':'ss 'GMT'&lt;br /&gt;ShortDatePattern                 : d.M.yyyy&lt;br /&gt;ShortTimePattern                 : H:mm&lt;br /&gt;SortableDateTimePattern          : yyyy'-'MM'-'dd'T'HH':'mm':'ss&lt;br /&gt;UniversalSortableDateTimePattern : yyyy'-'MM'-'dd HH':'mm':'ss'Z'&lt;br /&gt;YearMonthPattern                 : MMMM yyyy&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Příště si povíme o uživatelských formátech a ukážeme si, co si představit například pod formátovacím řetězcem MM. Soubor s ukázkami dnešního dílu si můžete &lt;a href="http://www.makovec.info/ps/operator-f_2.txt"&gt;opět stáhnout&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-3042445335457489754?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/3042445335457489754/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=3042445335457489754' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3042445335457489754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/3042445335457489754'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/12/opertor-formtovn-2-st.html' title='Operátor formátování - 2. část'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-4034105436578007611</id><published>2008-12-08T12:00:00.008+01:00</published><updated>2008-12-08T12:30:18.982+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 49"</title><content type='html'>S mírným zpožděním - způsobeným mým totální pracovním a osobním nasazením v minulém týdnu - vychází další díl ze světa novinek PowerShellu. I poslední týden byl nabitý událostmi a já osobně jsem s jejich sledováním ve velkém skluzu. Doufám, že jste na tom lépe. V několika článcích z minulého týdne jsem si všiml komentářů na začátku skriptu (např. u níže zmíněného Lee Holmese). &lt;a href="http://blogs.msdn.com/mediaandmicrocode/default.aspx"&gt;James Brundage&lt;/a&gt; píše, že se jedná o nápovědu vloženou do skriptu (script-embedded help) a bude se používat od CTP3.&lt;div&gt;&lt;ul&gt;&lt;li&gt;Jako první &lt;a href="http://tfl09.blogspot.com/2008/12/windows-powershell-scripting-guide-dont.html"&gt;pozor na následující varování&lt;/a&gt;!&lt;/li&gt;&lt;li&gt;Nový TechNet webcast &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032395109&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;Introduction to PowerShell (level 200)&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Doporučuji průběžně sledovat blog &lt;a href="http://pshscripts.blogspot.com/"&gt;PowerShell Scripts&lt;/a&gt;. Poslední dobou zde vychází některé zajímavé skripty.&lt;/li&gt;&lt;li&gt;Další &lt;a href="http://concentratedtech.com/content/index.php/2008/12/survey-you-could-win-500-for-the-holidays/"&gt;průzkum&lt;/a&gt; na Concentrated Technology - odměnou za účast jsou zajímavé ceny.&lt;/li&gt;&lt;li&gt;&lt;a href="http://bsonposh.com/archives/505"&gt;Funkce&lt;/a&gt; pro práci s ACL pro objekty AD.&lt;/li&gt;&lt;li&gt;&lt;a href="http://poshcode.org/696"&gt;sudo&lt;/a&gt; ala PowerShell.&lt;/li&gt;&lt;li&gt;Lee Holmes publikoval script, který &lt;a href="http://www.leeholmes.com/blog/ShowingCalendarsInYourOOFMessages.aspx"&gt;generuje kalendář&lt;/a&gt; vhodný například do OOF/OOO zprávy.&lt;/li&gt;&lt;li&gt;&lt;a href="http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Jeffrey-Snover-Inside-PowerShell/"&gt;Jeffrey Snover&lt;/a&gt; na Channel9.&lt;/li&gt;&lt;li&gt;Jaykulova &lt;a href="http://poshcode.org/705"&gt;upravená verze Start-Demo&lt;/a&gt; (původně od Jeffreyho Snovera) - ještě jsem nezkoušel, ale chystám se na to brzy.&lt;/li&gt;&lt;li&gt;Thomas Lee a základy &lt;a href="http://tfl09.blogspot.com/2008/12/discovering-wmi-and-networking-with.html"&gt;WMI&lt;/a&gt; pomocí PowerShellu.&lt;/li&gt;&lt;li&gt;A jedna &lt;a href="http://www.microsoft.com/technet/scriptcenter/funzone/psjingle.mspx"&gt;blbůstka&lt;/a&gt; na závěr.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-4034105436578007611?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/4034105436578007611/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=4034105436578007611' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4034105436578007611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/4034105436578007611'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/12/get-psnews-creationtime-lt-7days-write.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;7days&quot;}; Write-Host &quot;Týden 49&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6484070396826237386</id><published>2008-11-30T23:00:00.008+01:00</published><updated>2008-12-01T09:00:51.107+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 48"</title><content type='html'>&lt;div&gt;Uplynulý týden byl tentokrát na události hodně bohatý. Vzhledem k tomu, že jsem se k sepisování dostal až ve čtvrtek, doufám, že na nic důležitého nezapomenu. Čekají mne dva dny (těžce pracovní) dovolené, takže jsem ve chvíli (opravdového) volna začal pracovat na dvou nových sériích článků. Jedna o operátoru &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-f&lt;/span&gt;&lt;/span&gt; a druhá se bude věnovat regulárním výrazům. Doufám, že se mi taky podaří dokončit rozpracovaný článek na téma &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-Member&lt;/span&gt;&lt;/span&gt;. Co se dělo ve světě PowerShellu v cizině?&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;PowerScripting Podcast dospěl ke &lt;a href="http://powerscripting.wordpress.com/2008/11/23/episode-50-ed-wilson-microsoft-scripting-guy/"&gt;kulatým padesátinám&lt;/a&gt;. Tentokrát byl hostem Ed Wilson, jeden z Microsoft Scripting Guys. Rozhovor byl hodně zajímavý a občasná střelba do vlastních řad snad znamená, že se Script Centrum dočká podstatného PowerShell redesignu.&lt;/li&gt;&lt;li&gt;Hugo Peeters pokračuje v sérii skvělých skriptů. &lt;a href="http://www.peetersonline.nl/index.php/vmware/create-a-directory-tree-with-powershell/"&gt;Show-Tree&lt;/a&gt; dokáže zobrazit stromovou strukturu jakékoli PS jednotky (PSDrive), tedy např. i registry nebo Active Directory.&lt;/li&gt;&lt;li&gt;Na PowerShell scripts byly uveřejněny tři nové skripty. &lt;a href="http://pshscripts.blogspot.com/2008/11/get-domainroleps1.html"&gt;Get-DomainRole&lt;/a&gt;, &lt;a href="http://pshscripts.blogspot.com/2008/11/determine-domainps1.html"&gt;Determine-Domain&lt;/a&gt;, &lt;a href="http://pshscripts.blogspot.com/2008/11/get-localgroupsps1.html"&gt;Get-LocalGroups&lt;/a&gt;.Dva z nich používají pro výstup operátor &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-f&lt;/span&gt;&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Jonathan Medd udělal &lt;a href="http://dmitrysotnikov.wordpress.com/2008/11/24/wsus-powerpack-updated/"&gt;update PowerPacku pro WSUS&lt;/a&gt;. Pokud WSUS používáte a tento PowerPack jste ještě nezkoušeli, máte co dohánět.&lt;/li&gt;&lt;li&gt;Jak provést příkaz proti všem počítačům v Active Directory? &lt;a href="http://concentratedtech.com/content/index.php/2008/11/powershell-target-computers-from-ad/"&gt;Odpověď&lt;/a&gt; v článku na Concentrated Technology. Porovnejte čisté PowerShell řešení proti pouřití Quest AD cmdletů. Jen pro info: jedno z dalších témat, které jsem začal zpracovávat je porovnání různých přístupů do AD (a to z různých hledisek jako je například rychlost odpovědi nebo náročnost na zápis).&lt;/li&gt;&lt;li&gt;Jak otestovat &lt;a href="http://richardsiddaway.spaces.live.com/Blog/cns!43CFA46A74CF3E96!1890.entry"&gt;existenci objektu v Active Directory&lt;/a&gt; uvádí Richard Siddaway.&lt;/li&gt;&lt;li&gt;James Brundage uvádí, jaký je při vytváření objektů &lt;a href="http://blogs.msdn.com/mediaandmicrocode/archive/2008/11/26/microcode-powershell-scripting-tricks-select-object-note-properties-vs-add-member-script-properties.aspx"&gt;rozdíl v použití Select-Object a Add-Member&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Marco Shaw uveřejnil &lt;a href="http://marcoshaw.blogspot.com/2008/11/windows-powershell-virtual-user-group_8933.html"&gt;nový termín&lt;/a&gt; pro Windows PowerShell Virtual User Group Meeting #7 - předchozí byl zrušen z důvodu problémů s  Live Meeting servery.&lt;/li&gt;&lt;li&gt;Jak vytvořit 20.000 uživatelů v AD? S PowerShellem &lt;a href="http://bsonposh.com/archives/497"&gt;jednoduše&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6484070396826237386?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6484070396826237386/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6484070396826237386' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6484070396826237386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6484070396826237386'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/get-psnews-creationtime-lt-7days-write_30.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;7days&quot;}; Write-Host &quot;Týden 48&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8893305117142337856</id><published>2008-11-29T15:07:00.009+01:00</published><updated>2008-11-30T16:51:48.089+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='-f'/><title type='text'>Operátor formátování - 1. část</title><content type='html'>&lt;div&gt;Poslední dobou jsem hodně používal operátor &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-f&lt;/span&gt;&lt;/span&gt;, nazývaný operátor formátování. Rozhodl jsem se jej tedy zpracovat do série (zatím plánované na čtyři části), ve které bych rád popsal jeho možnosti použití. Abyste nemuseli kód v článku kopírovat ručně, ke každému dílu uveřejním zdroj ve formě souboru TXT použitelného pro skript &lt;a href="http://powershell-cz.blogspot.com/2008/10/start-demo.html"&gt;Start-Demo&lt;/a&gt;. První díl můžete &lt;a href="http://www.makovec.info/ps/operator-f_1.txt"&gt;stahovat zde&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Operátor slouží k úpravě výstupu např. skriptů. Má dva "parametry" říkající &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;CO&lt;/span&gt; chceme formátovat a &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;JAK &lt;/span&gt;to chceme formátovat. Pod položkou CO si představte text, číslo, proměnnou nebo třeba metodu .NET Frameworku. Zápis syntaxe je následující:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;JAK_FORMATOVAT -f CO_FORMATOVAT&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Na levé i pravé straně může být více příkazů, můžete tedy formátovat výstup například pěti proměnných. Nejjednodušší použití jsou například tato:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; "{0}" -f "David"&lt;br /&gt;David&lt;br /&gt;PS C:\&gt; "{0} {1}" -f "David", "Martin"&lt;br /&gt;David Martin&lt;br /&gt;PS C:\&gt; "{1} &amp;amp; {0}" -f "David", "Martin"&lt;br /&gt;Martin &amp;amp; David&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;V prvních dvou příkladech ještě pořádně neformátujeme, ale je vidět použítí. Na levé straně uvádíme ve složených závorkách index textu ze strany pravé. Stejně jako pole se číslování provádí od nuly. Ve druhém řádku tedy vezmeme text "David" (index 0) poté text "Martin" (index 1) a v tomto pořádí je pošleme na standardní výstup. Třetí příklad už mírně výstup mění. Vezme vstupní texty, prohodí jejich pořadí a vloží mezi ně znak &amp;amp;. Uhádnete, co bude výstupem tohoto řádku?&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;"{4}{4}{1}{5}{0}{3}{0}{5}{2}" -f "e","ka","l","p","po","t"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Práce s indexy je prostě krásná :) Správná odpověď je popokatepetl. Zatím jsme pracovali pouze s pevně danými texty. Mohli jsme samozřejmě postupovat i následujícím způsobem:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $david = "David"&lt;br /&gt;PS C:\&gt; $martin = "Martin"&lt;br /&gt;PS C:\&gt; "{1} &amp;amp; {0}" -f $david, $martin&lt;br /&gt;Martin &amp;amp; David&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Kdyby operátor uměl pouze prohazovat indexy, nebyla by práce s ním tak pěkná (resp. byla by pěkná, ale nikdo by ho nepoužíval, protože by byl nadbytečný). Obecná syntaxe levé časti operátoru je trošku více komplikovaná:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;{index[,zarovnani][:formatovaciRetezec]}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Prozatím jsme používali pouze &lt;span class="Apple-style-span" style="font-style: italic;"&gt;index&lt;/span&gt;. Ve druhé a třetí části popisu operátoru formátování se podíváme na &lt;span class="Apple-style-span" style="font-style: italic;"&gt;formatovaciRetezec&lt;/span&gt;. V poslední části si ukážeme &lt;span class="Apple-style-span" style="font-style: italic;"&gt;zarovnani&lt;/span&gt; a uděláme zároveň závěrečné shrnutí.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Abyste se těšili na příště, podívejte se na následující příklad. V něm už využíváme &lt;span class="Apple-style-span" style="font-style: italic;"&gt;formatovaciRetezec &lt;/span&gt;a zároveň je vidět, že výstup operátoru formátování můžeme uložit do proměnné pro pozdější použití.&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;PS C:\&gt; $procesy = Get-Process | Sort-Object CPU -Descending | Select-Object -First 10&lt;br /&gt;PS C:\&gt; foreach ($p in $procesy) {&lt;br /&gt;&gt;&gt; $cpu="{0:###.#}" -f $p.CPU&lt;br /&gt;&gt;&gt; $ws="{0:###.##}" -f ($p.WS/1MB)&lt;br /&gt;&gt;&gt; Write-Host $p.ProcessName `t $cpu `t $ws&lt;br /&gt;&gt;&gt; }&lt;br /&gt;&gt;&gt;&lt;br /&gt;System     241,9   1,23&lt;br /&gt;RSSBandit        156,5   46,15&lt;br /&gt;Rtvscan          93,2    60,21&lt;br /&gt;EZEJMNAP         83,4    3,61&lt;br /&gt;svchost          75,6    26,4&lt;br /&gt;explorer         70,8    25,77&lt;br /&gt;vmware-authd     63,9    4,78&lt;br /&gt;sametime75       54,7    98,18&lt;br /&gt;wmplayer         52      7,19&lt;br /&gt;AcroRd32         46,9    79,31&lt;br /&gt;PS C:\&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Celou druhou část se budeme věnovat formátování datumu a času a budeme si ukazovat jak modifikovat výstup cmdletu &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Get-Date&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8893305117142337856?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8893305117142337856/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8893305117142337856' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8893305117142337856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8893305117142337856'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/opertor-formtovn-1-st.html' title='Operátor formátování - 1. část'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-375141760166198725</id><published>2008-11-24T23:08:00.002+01:00</published><updated>2008-11-26T12:13:46.456+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cmdlet'/><category scheme='http://www.blogger.com/atom/ns#' term='Write-Progress'/><title type='text'>Použití Write-Progress</title><content type='html'>&lt;div&gt;Na školení PowerShellu se jeden z kolegů ptal, jak udělal &lt;a href="http://thepowershellguy.com/blogs/posh/default.aspx"&gt;/\/\o\/\/&lt;/a&gt; progress bar při instalaci &lt;a href="http://thepowershellguy.com/blogs/posh/pages/powertab.aspx"&gt;PowerTab&lt;/a&gt;. Pro ty z vás, co jej neznají (myslím progress bar :) - jedná se o tento pruh&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_Ni46JsIL9eA/SSrZ2QHGYjI/AAAAAAAAACI/17q_6QoBveQ/s400/Write-Progress01.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 22px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5272265839851495986" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;který je umístěn v horní části okna PowerShellu. Při delším načítání (zapisování, kopírování, ...) dat je to vhodná pomůcka pro uživatele. V každém okamžiku ví, kde přesně se v čase nachází. Abyste nemuseli něco takového sami vymýšlet, je přímo v PowerShellu cmdlet &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Write-Progress&lt;/span&gt;&lt;/span&gt;. Pojďme se podívat, jak funguje.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Write-Progress&lt;/span&gt;&lt;/span&gt; má dva povinné parametry:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;activity&lt;/span&gt; - řetězec, který říká, jaká aktivita probíhá (na obrázku výše je to &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Loading records ...)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;status&lt;/span&gt; - popisuje konkrétní (aktuální) stav aktivity; v našem případě &lt;span class="Apple-style-span" style="font-style: italic;"&gt;136 of 633&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;Pokud použijete pouze tyto dva parametry, můžete vyzkoušet jednoduché zobrazení hodnoty čítače (aby bylo něco vidět, přidal jsem čekání 100ms před každou změnou)&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;for($i=0; $i -le 50; $i++) {&lt;br /&gt;Start-Sleep -m 100&lt;br /&gt;Write-Progress "Ukazuji promennou..." $i }&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Výsledkem je následují výstup&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/_Ni46JsIL9eA/SSrgCOqbY3I/AAAAAAAAACQ/SWkXY4ikJto/s400/Write-Progress03.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 97px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5272272642690999154" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Takovýto základní ukazatel nám asi ve většině případů nebude stačit. Je dobré dát uživateli vědět, jak dlouho bude ještě čekat na dokončení operace. K tomu slouží další dva parametry (musí se uvádět jejich jméno)&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;percentComplete&lt;/span&gt; - ukazuje formou "teploměru", kolik procent je již hotovo (viz úplně první obrázek)&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;secondsRemaining&lt;/span&gt; - počet vteřin do skončení operace&lt;/li&gt;&lt;/ul&gt;Ukažme si jednoduchý příklad použití druhého parametru&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;for($i=0; $i -le 10; $i++) {&lt;br /&gt;Start-Sleep 1&lt;br /&gt;$sec = 10-$i&lt;br /&gt;Write-Progress "Ukazuji promennou..." $i -secondsRemaining $sec }&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Ve smyčce &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;for&lt;/span&gt;&lt;/span&gt; zvyšujeme hodnotu proměnné &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;i&lt;/span&gt;&lt;/span&gt; do deseti a zároveň zobrazujeme počet vteřin zbývajících do konce operace.&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_Ni46JsIL9eA/SSsOU0REEPI/AAAAAAAAACY/vOSK-1kj51w/s400/Write-Progress04.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 124px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5272323539557683442" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pro úplné popsání &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Write-Progress&lt;/span&gt;&lt;/span&gt; nám ještě chybí následující parametry&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;id&lt;/span&gt; - specifikuje jedinečné ID progress baru. Lze použít pro zpětné volání.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;currentOperation&lt;/span&gt; - popisuje aktuální operaci. Je více specifický než status.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;parentId&lt;/span&gt; - aktivita nadřazená té aktuální&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;completed&lt;/span&gt; - standardně false, pokud je true nezobrazuje se progress bar&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;sourceId&lt;/span&gt; - zdroj záznamu&lt;/li&gt;&lt;/ul&gt;Pokud chcete vidět nějaký smysluplný příklad stáhněte si zdrojové kódy ke knize &lt;a href="http://www.sapienpress.com/PowerShell2.asp"&gt;Windows PowerShell: TFM&lt;/a&gt; a koukněte se na &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;P093-InventoryProgress.ps1&lt;/span&gt;&lt;/span&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Write-Progress&lt;/span&gt;&lt;/span&gt; můžete ovládat několika následujícími parametry:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;$ProgressPreference&lt;/span&gt;&lt;/span&gt; - může nabývat hodnot &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;SilentlyContinue, Continue, Stop, Inquire&lt;/span&gt;&lt;/span&gt;. Pokud nastavíte &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;SilentlyContinue&lt;/span&gt;&lt;/span&gt;, progress bar nebude vidět (stejné jako kdybyste pro každý nastavili &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-completed = $true&lt;/span&gt;&lt;/span&gt;).&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;$host.PrivateData.get_Progress*, $host.PrivateData.Progress*&lt;/span&gt;&lt;/span&gt; - nastavují/zobrazují barvu progress baru.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;První obrázek v tomto článku vznikl, při načítání dat z databáze Lotus Notes. V současné době používám novější verzi, která navíc zobrazuje data načítaného záznamu&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;Write-Progress -Activity "Loading records..." -Status "$i of $DomNumOfDocs" -id 1 -CurrentOperation "$LNlastname" -PercentComplete ($i/$DomNumOfDocs*100)&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Ni46JsIL9eA/SS0vSyJRaJI/AAAAAAAAACg/weHdkh4T9PM/s1600-h/Write-Progress05.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 93px;" src="http://4.bp.blogspot.com/_Ni46JsIL9eA/SS0vSyJRaJI/AAAAAAAAACg/weHdkh4T9PM/s400/Write-Progress05.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5272922738465532050" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-375141760166198725?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/375141760166198725/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=375141760166198725' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/375141760166198725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/375141760166198725'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/pouit-write-progress.html' title='Použití Write-Progress'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Ni46JsIL9eA/SSrZ2QHGYjI/AAAAAAAAACI/17q_6QoBveQ/s72-c/Write-Progress01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-139228672155604323</id><published>2008-11-23T23:00:00.008+01:00</published><updated>2008-11-23T23:00:00.775+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 47"</title><content type='html'>Uplynulý týden nebyl na události nijak bohatý. Každopádně i kvůli jednomu zmiňovanému skriptu stál za to. Jenom musím říct, že obrázek generovaný pro 814 skupin je opravdu úděsný :-)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Zvláštnosti asociativních polí v článku &lt;a href="http://huddledmasses.org/powershell-and-hashtable-oddities/"&gt;PowerShell and Hashtable oddities&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Byla uvolněna &lt;a href="http://dmitrysotnikov.wordpress.com/2008/11/19/powergui-153-is-out/"&gt;nová verze PowerGUI&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mindofroot.com/2008/11/19/mapping-ad-group-relationships-with-powershell/"&gt;Show-ADGroupMembership&lt;/a&gt; - skript pro zobrazení (využívá výstup do &lt;a href="http://dougfinke.com/blog/?p=465"&gt;Show-NetMap&lt;/a&gt;) závislostí AD skupin.&lt;/li&gt;&lt;li&gt;Na &lt;a href="http://turbochargead.org/"&gt;TurboChargedAD.org&lt;/a&gt; pokračuje série článků zaměřená na popis cmdletů pro správu Active Directory od firmy Quest. Tentokrát na téma &lt;a href="http://turbochargead.org/articles/index.php/2008/11/active-directory-cmdlet-of-the-week-set-qaduser/"&gt;Set-QADUser&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-139228672155604323?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/139228672155604323/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=139228672155604323' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/139228672155604323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/139228672155604323'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/get-psnews-creationtime-lt-7days-write_23.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;7days&quot;}; Write-Host &quot;Týden 47&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7986966598274674448</id><published>2008-11-17T21:22:00.000+01:00</published><updated>2008-11-17T21:25:11.267+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recenze'/><category scheme='http://www.blogger.com/atom/ns#' term='knihy'/><title type='text'>Windows PowerShell™ v1.0: TFM®, 2nd Edition</title><content type='html'>&lt;div&gt;Jak jsem již psal dříve, stal jsem se majitelem knihy Windows PowerShell TFM. Dostal jsem ji jako cenu za hodnocení PowerScripting Podcastu. Myslím, že spíš než kvalitou hodnocení, to bylo exotičností mého bydliště (myslím tím pro lidi z US) Vybral jsem si papírovou knihu a byl jsem velmi překvapen, když mi po 14 dnech přišel link na stažení PDF verze. Nicméně, jak se říká - darovanému koni na zuby nehleď. Ihned jsem se pustil do čtení. Další překvapení se dostavilo po několika dnech, kdy mi přišla i kniha papírová. Psal jsem zpět, jestli se nejedná o nějaký omyl, ale bylo mi pouze popřáno pěkné čtení. Takže mohu kombinovat čtení obou verzí knihy.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Knihu vydalo nakladatelství &lt;a href="http://www.sapienpress.com/default.asp"&gt;SAPIEN Press&lt;/a&gt; a nyní je v druhé edici. Existuje již edice třetí, ale ta se zabývá PowerShellem v2 a ještě není dostupná v papírové podobě. Papírová kniha stojí oficiálně 60 dolarů, ale v on-line obchodech ji můžete sehnat o mnoho levněji, např.: &lt;a href="http://www.sapienpress.com/PowerShell2.asp"&gt;SAPIEN Press&lt;/a&gt; ($41,99) nebo &lt;a href="http://www.amazon.com/Windows-PowerShell-v1-0-TFM-2nd/dp/0977659763/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1226917667&amp;amp;sr=8-1"&gt;Amazon&lt;/a&gt; ($37,79). Elektronická stojí na stránkách SAPIENu 33,99 dolarů. Která z verzí je lepší? Při rozdílu necelých deseti dolarů sázím já osobně na papírovou podobu. Je potřeba samozřejmě připočítat poštovné. Elektronická verze je zamčená a nejde tisknout. V patě každé stránky je vytištěn text, kde je napsáno, komu kniha náleží. Dost řečí, pojďme se podívat na obsah knihy.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Autoři knihy (Don Jones a Jeffery Hicks, oba PowerShell MVP) jsou v PowerShell komunitě dobře známí. Oba pracují pro SAPIEN jako "scripting gurus". Z předchozí věty je jasné, že jsou oba odborníky na slovo vzatými. Knihu rozdělili do čtyř částí:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Interaktivní používání PowerShellu&lt;/li&gt;&lt;li&gt;Skriptování v PowerShellu&lt;/li&gt;&lt;li&gt;Praktické příklady administrace Windows&lt;/li&gt;&lt;li&gt;Pokročilé techniky&lt;/li&gt;&lt;/ul&gt;První část se zabývá použitím konzole PowerShellu. Autoři ukazují základní techniky práce a nepouští se do žádných extrémnějších příkladů. I tak je tato část nabita množstvím informací a je to možná to nejlepší, co kniha obsahuje. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Ve druhé části autoři popisují možnosti tvorby skriptů včetně používání např. regulárních výrazů. V závěru jsou popsány tipy pro tvorbu skriptů.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Třetí část je zaměřena na administrátory systému Windows a dává jim do ruky tipy pro práci se systémem. Jedná se například o práci se soubory, registry, službami, WMI nebo Active Directory.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Poslední, čtvrtá, část ukazuje pokročilejší témata a to včetně práce s COM objekty, .NET Frameworkem, XML dokumenty. Ukazuje například i tvorbu vlastních objektů nebo pohledů.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Nechci zde vyjmenovávat postupně všechny kapitoly, obsah je (včetně ukázkových kapitol) dostupný na &lt;a href="http://www.sapienpress.com/PowerShell2.asp"&gt;stránkách knihy&lt;/a&gt;. Pro mne osobně byla kniha velice přínosná. Pro začátečníka je dle mého názoru stravitelnější než skvělá Payetova &lt;a href="http://www.manning.com/payette/"&gt;PowerShell in Action&lt;/a&gt;. Tu jsem začal číst před několika měsíci a nyní se k ní hodlám vrátit. Z knihy jsem měl pocit, že některé části byly psány s větší pečlivostí (možná rozdílný přístup autorů?). Občas jsem našel překlepy a objevil jsem i několik příkladů, ve kterých byly chyby. Ani to však nijak zásadně nesnížilo celkový dojem z knihy. Knize bych dal známku jedna a s klidným srdcem ji mohu doporučit jako vhodný zdroj pro studium PowerShellu.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7986966598274674448?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7986966598274674448/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7986966598274674448' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7986966598274674448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7986966598274674448'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/windows-powershell-v10-tfm-2nd-edition.html' title='Windows PowerShell™ v1.0: TFM®, 2nd Edition'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1623417511962644546</id><published>2008-11-17T10:00:00.000+01:00</published><updated>2008-11-17T10:00:02.548+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 46"</title><content type='html'>Pravidlené týdenní novinky vychází nepravidelně trošku později. Vzhledem k dnešnímu státnímu svátku to snad nebude moc vadit. Celý minulý týden se v mém případě točil kolem školení PowerShellu, které jsem absolvoval. Pokud vás zajímá, co jsme probírali, podívejte se na články z minulého týdne - každý den jsem psal shrnutí. Já si právě stáhl poslední PowerScripting Podcast, jdu si uvařit kafe a pokusím se dohnat i nějaké další dluhy z minulého týdne. Přeji vám pěkný týden.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Právě vzniká &lt;a href="http://powershell.com/cs/blogs/ebook/"&gt;online kniha o PowerShellu &lt;/a&gt;z klávesnice Dr. Tobiase Weltnera.&lt;/li&gt;&lt;li&gt;&lt;a href="http://powerscripting.wordpress.com/2008/11/09/episode-49-lee-holmes/"&gt;48. epizoda&lt;/a&gt; PowerScripting Podcastu, tentokrát s Lee Holmesem.&lt;/li&gt;&lt;li&gt;&lt;a href="http://concentratedtech.com/content/index.php/2008/11/powershell-here-strings/"&gt;Popis Here-String&lt;/a&gt; na stránkách Concentrated Technology. Rozhodně stojí za naučení a porozumění! Nedávno se &lt;a href="http://blogs.msdn.com/powershell/archive/2008/09/14/rdp-file-generation-use-of-here-strings.aspx"&gt;tomuto tématu věnoval&lt;/a&gt; i Jeffrey Snover.&lt;/li&gt;&lt;li&gt;Krásné dvě funkce &lt;a href="http://www.peetersonline.nl/index.php/powershell/handy-little-function-translate-sid/"&gt;Translate-SID a Translate-ToSID&lt;/a&gt; zveřejnil Hugo Peeters ve &lt;a href="http://www.peetersonline.nl/"&gt;svém blogu&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;Záznam z &lt;a href="http://technet.microsoft.com/en-us/events/teched/cc561184.aspx"&gt;panelové diskuse&lt;/a&gt; o PowerShellu na TechEdu.&lt;/li&gt;&lt;li&gt;&lt;a href="http://thepowershellguy.com/blogs/posh/"&gt;/\/\o\/\/&lt;/a&gt; uvedl &lt;a href="http://thepowershellguy.com/blogs/posh/archive/2008/11/12/teched-it-pro-emea-powershell-sessions-online.aspx"&gt;odkazy&lt;/a&gt; na videa z TechEdu pohromadě + bonus.&lt;/li&gt;&lt;li&gt;V tomto blogu již několikrát zmiňovaný Jaykul se vrhl na tvorbu Wiki pro PowerShell. V současné době se Wiki začíná plnit a v diskusích se o ní hodně mluví. Uvidíme, kam to povede. Zatím se můžete podívat na &lt;a href="http://huddledmasses.org/of-dekiwiki-and-powershell-a-script-module/"&gt;krátký post&lt;/a&gt; obsahující i skript pro generování Wiki nápovědy přímo z help souborů PowerShellu.&lt;/li&gt;&lt;li&gt;&lt;a href="http://powerscripting.wordpress.com/2008/11/16/episode-49-susan-bradley-the-sbs-diva/"&gt;Nová epizoda&lt;/a&gt; PowerScripting Podcastu, s pořadovým číslem 49.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1623417511962644546?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1623417511962644546/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1623417511962644546' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1623417511962644546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1623417511962644546'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/get-psnews-creationtime-lt-7days-write_17.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;7days&quot;}; Write-Host &quot;Týden 46&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-7185311723792595832</id><published>2008-11-14T15:10:00.001+01:00</published><updated>2008-11-14T15:12:49.163+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recenze'/><category scheme='http://www.blogger.com/atom/ns#' term='kurzy'/><title type='text'>Školení PowerShell - den pátý + shrnutí</title><content type='html'>Ráno jsme začali &lt;em&gt;Modulem 10, Objekty COM a WMI&lt;/em&gt;. Všechny konstrukce známe a už používáme PowerShell ryze prakticky. Nejdříve jsme si ukázali, jak lze přes COM přistupovat na různé aplikace jako je například Internet Explorer nebo Excel. Ve druhé části modulu jsme se trošku podrobněji podívali na použití cmdletu &lt;span style="font-family:courier new;font-size:85%;"&gt;Get-WmiObject&lt;/span&gt; a pan Malina nám ukázal některá jeho vylepšení v PowerShellu CTP2.&lt;br /&gt;&lt;br /&gt;Před obědem jsme se věnovali &lt;em&gt;Modulu 11, Chyby a ladění v PowerShellu&lt;/em&gt;. Ukázali jsme si parametr &lt;span style="font-family:courier new;font-size:85%;"&gt;-ErrorAction&lt;/span&gt;, zachycování výjimek a použití cmdletu &lt;span style="font-family:courier new;font-size:85%;"&gt;Set-PSDebug&lt;/span&gt;. Opět jsme se koukli na novinky ve verzi CTP2. V &lt;em&gt;Modulu 13&lt;/em&gt; jsme se podívali na &lt;em&gt;Rozšíření PowerShellu&lt;/em&gt; (Modul 12 jsme prozatím přeskočili). Nebudu vyjmenovávat všechno, ale zmínili jsme se například o &lt;a href="http://www.codeplex.com/PowerShellCX"&gt;PSCX&lt;/a&gt; nebo &lt;a href="http://www.powergui.org/"&gt;PowerGUI&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Poslední - &lt;em&gt;14. modul&lt;/em&gt; se zabýval tématem &lt;em&gt;Některé další možnosti PowerShellu&lt;/em&gt;. Probrali jsme "chuťovky", které byly zmiňovány v průběhu týdne a které se nevešly do žádného jiného modulu. Jednalo se o vzdálený přístup přes PowerShell, regulární výrazy a operátor -f.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Závěrečné zhodnocení kurzu&lt;/strong&gt;&lt;br /&gt;Tak skriptovací týden skončil. Rozhodně to nebyl ztracený čas. Šel jsem na kurz s tím, že některé věci budu vědět, ale že se i hodně naučím. Kladně hodnotím přístup pana Maliny. Jeho okamžitá reakce na dotazy (pokud ne okamžitá, tak v průběhu přestávek) a znalost PowerShellu obecně je velkou devizou kurzu. Postupovali jsme od základů, přes cmdlety až po složitější tématiku a myslím, že každý dokázal tempo v klidu udržet. Na kurzu jsem našel asi jedinou vadu - byl bych spokojen, kdyby trval asi tak měsíc :)&lt;br /&gt;&lt;br /&gt;Na úplný závěr malé doporučení:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;Get-MHD -WithChange | Where {$_.Station -eq "Koh-i-Noor"} | Out-Gopas&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-7185311723792595832?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/7185311723792595832/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=7185311723792595832' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7185311723792595832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/7185311723792595832'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/kolen-powershell-den-pt-shrnut.html' title='Školení PowerShell - den pátý + shrnutí'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-401428078910759021</id><published>2008-11-13T16:00:00.003+01:00</published><updated>2008-11-13T16:01:53.455+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recenze'/><category scheme='http://www.blogger.com/atom/ns#' term='kurzy'/><title type='text'>Školení PowerShell - den čtvrtý</title><content type='html'>V dopolední části jsme ještě zhruba do jedenácti hodin "dojížděli" modul o souborech. Praktická cvičení na konci byla opravdu ryze praktická a procvičila nás jak v příkazech cyklu a funkcích, tak i v cmdletech pro práci se soubory.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Modul 8, Možnosti .NET Frameworku&lt;/em&gt; - na ten jsem se hodně těšil. .NET občas používám ve svých skriptech, ale zatím je to metodou chaosu a pokusů. Ucelenější popis použitelných tříd "nikde" neexistuje (samozřejmě pokud pominu &lt;a href="http://msdn.microsoft.com/en-us/library/w0x726c2.aspx"&gt;MSDN&lt;/a&gt;, kde je vše super popsáno a zatím jsem tam našel vše, co jsem potřeboval). Ukázali jsme si přímý přístup ke třídám a poté jsme se věnovali těm, které jsou pro administrátory užitečné. Nebudu je všechny vyjmenovávat, ale zmínili jsme se například o vzdálené správě služeb nebo připojení do databáze.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Práce s Active Directory &lt;/em&gt;byl název &lt;em&gt;Modulu 9&lt;/em&gt;. Ukázali jsme si několik způsobů, jak přistupovat do Active Directory přes .NET, ADSI, &lt;a href="http://www.quest.com/powershell/activeroles-server.aspx"&gt;Quest AD cmdlets&lt;/a&gt; a pomocí PSDrive z balíku &lt;a href="http://www.codeplex.com/PowerShellCX"&gt;PSCX&lt;/a&gt;. Jinými možnostmi přístupu jsme se nezabývali, což ovšem nebylo na škodu, protože i tak jsme toho měli na probrání, zkoušení a sledování opravdu hodně.&lt;br /&gt;&lt;br /&gt;Dnešek byl plný hodně zajímavých věcí a různé upřesňující dotazy a odpovědi byly skvělým kořením.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-401428078910759021?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/401428078910759021/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=401428078910759021' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/401428078910759021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/401428078910759021'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/kolen-powershell-den-tvrt.html' title='Školení PowerShell - den čtvrtý'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5652230774057386774</id><published>2008-11-12T16:58:00.004+01:00</published><updated>2008-11-12T17:02:41.288+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recenze'/><category scheme='http://www.blogger.com/atom/ns#' term='kurzy'/><title type='text'>Školení PowerShell - den třetí</title><content type='html'>Tak po dnešku se přesuneme za polovinu kurzu, takže doufám, že začneme s odvážnějšími tématy. Ráno jsme dojeli soubory (CSV, XML), probrali cmdlety &lt;span style="font-family:courier new;font-size:85%;"&gt;Out-*&lt;/span&gt; a začali jsme &lt;em&gt;Modul 6&lt;/em&gt; - &lt;em&gt;Řízení běhu skriptu v PowerShellu&lt;/em&gt;. Už teď mohu zodpovědně prohlásit, že zas tak úplně podle knihy nejedeme. Slouží spíš jako referenční příručka, kde jsou vysvětleny příklady. Kurz jako takový - a hlavně okamžitou reakci na dotazy - nenahradí.&lt;br /&gt;&lt;br /&gt;Začali jsme podmínkami a smyčkami (&lt;span style="font-family:courier new;font-size:85%;"&gt;if, switch, while, foreach&lt;/span&gt;, ...) a ukázali si pár příkladů. Vyzkoušeli jsme si umístění větve &lt;span style="font-family:courier new;font-size:85%;"&gt;default&lt;/span&gt; v příkazu &lt;span style="font-family:courier new;font-size:85%;"&gt;switch&lt;/span&gt; a dostali jsme se do pěkných filosofických debat. Závěrečný příklad na &lt;span style="font-family:courier new;font-size:85%;"&gt;foreach&lt;/span&gt; byl moc hezký (vypsat barevně procesy podle alokované paměti) - já ho řešil jako one-liner. Což se mi nevyplatilo hned při dalším cvičení, kdy jsme měli "skript" z předchozí úlohy přepsat jako funkci a předat jí parametr. Takže jsem stejně musel jít do IDE a pracovat v něm. Funkce jsme probrali včetně bloků &lt;span style="font-family:courier new;font-size:85%;"&gt;BEGIN, PROCESS, END&lt;/span&gt; a ukázali jsme si tím pádem i práci funkce v rouře. Po funkcích následoval - zcela podle předpokladů - čas věnovaný filtrům.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Modul 7 - Souborový systém&lt;/em&gt; a dle názvu jasně určené téma. Zabývali jsme se výpisy (&lt;span style="font-family:courier new;font-size:85%;"&gt;Get-ChildItem&lt;/span&gt;), přejmenováním (&lt;span style="font-family:courier new;font-size:85%;"&gt;Rename-Item&lt;/span&gt;), kopírováním (&lt;span style="font-family:courier new;font-size:85%;"&gt;Copy-Item&lt;/span&gt;), přesouváním (&lt;span style="font-family:courier new;font-size:85%;"&gt;Move-Item&lt;/span&gt;) a mazáním (&lt;span style="font-family:courier new;font-size:85%;"&gt;Remove-Item&lt;/span&gt;). Závěrečný příklad prověřil skvěle naše znalosti. Mé řešení bylo následující:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;$i=1;$d=(get-date -u "%Y-%m-%d"); ls |? {!($_.PSIsContainer)} | sort LastWriteTime |% {rni $_ -n "$d-$i";$i++}&lt;/div&gt;&lt;br /&gt;Nerozumíte mu? Přijďte na kurz - pan Malina vás rád uvidí :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5652230774057386774?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5652230774057386774/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5652230774057386774' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5652230774057386774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5652230774057386774'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/kolen-powershell-den-tet.html' title='Školení PowerShell - den třetí'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-6261624314464958199</id><published>2008-11-11T16:08:00.000+01:00</published><updated>2008-11-11T16:07:55.306+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recenze'/><category scheme='http://www.blogger.com/atom/ns#' term='kurzy'/><title type='text'>Školení PowerShell - den druhý</title><content type='html'>Ráno jsme začali trošku zlehka krátkou ukázkou některých použitelných PowerShell editorů. Po této "rozcvičce" začala pravá zábava - objekty a &lt;em&gt;Modul 3 - Objektové myšlení a objektově orientované programování&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Vše je objekt&lt;/em&gt; - heslo na další hodinu. Vysvětlení začalo standardním popisem "objektu auto" a předvedením jeho vlastností a metod. Toto bylo dále rozvedeno na několika příkladech z reálného (např. dům) i virtuálního (Win32_Share) života. Plynule jsme navázali na cmdlet &lt;span style="font-family:courier new;font-size:85%;"&gt;Get-Member&lt;/span&gt; - dle lektorova (i mého) názoru asi nejužitečnějšího z celé škály (trochu odbočka: jeho popis mám už rozpracován a doufám, že se mi podří jej dokončit v několika málo dnech). Trochu jsme naťukli i technologii COM a poté se zanořili zpět do objektů a podívali se na PSbase a jeho bratříčky.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Modul 4 - Roura (pipeline) v PowerShellu&lt;/em&gt; neboli začínáme dělat divy :) Na začátek byla popsána výhoda roury a poté rozdíl mezi textovou (*NIX) a objektovou (PS) rourou. Samozřejmě byly ukázány krátké příklady. Celý modul jsme zakončili přehledem příkazů pracujících s objekty v rouře (&lt;span style="font-family:courier new;font-size:85%;"&gt;ForEach-Object, Where-Object&lt;/span&gt;, ...).&lt;br /&gt;&lt;br /&gt;V &lt;em&gt;Modulu 5 -&lt;/em&gt; &lt;em&gt;Tok a ukládání dat v PowerShellu - &lt;/em&gt;jsme začali s proměnnými a jejich přiřazováním, přetypováním a různými divokými operacemi. Probrali jsme operátory (+=, -=, ...) a přešli jsme na práci s poli. Přiřazovali jsme různé hodnoty a probírali se indexováním všemi směry. Lehce jsme se dotkli asociativních polí (hešů) a jejich požití při formátování výstupů (např. v příkazu &lt;span style="font-family:courier new;font-size:85%;"&gt;Get-EventLog&lt;/span&gt;). Posledním tématem tohoto dne byla práce s textovými soubory. A to jak klasické TXT soubory, tak i využití CSV pro uchovávání objektů a jejich opětovné vyvolávání.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-6261624314464958199?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/6261624314464958199/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=6261624314464958199' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6261624314464958199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/6261624314464958199'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/kolen-powershell-den-druh.html' title='Školení PowerShell - den druhý'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1888498145615359672</id><published>2008-11-10T12:12:00.017+01:00</published><updated>2008-11-10T20:06:09.310+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='recenze'/><category scheme='http://www.blogger.com/atom/ns#' term='kurzy'/><title type='text'>Školení PowerShell - den první</title><content type='html'>&lt;div&gt;Tak jsem se po dlouhé době dočkal a mohl vyrazit do počítačové školy &lt;a href="http://www.gopas.cz/"&gt;Gopas&lt;/a&gt; na týdenní &lt;a href="http://www.gopas.cz/DetailKurzu.aspx?IDKurzu=4262"&gt;školení PowerShellu&lt;/a&gt;. Kurz vede &lt;a href="http://malina.bloguje.cz/"&gt;Patrik Malina&lt;/a&gt; velký propagátor non-GUI řešení na platformě Windows. Už jsem u něj absolvoval v Gopasu dvě školení: &lt;a href="http://www.gopas.cz/DetailKurzu.aspx?IDKurzu=3766"&gt;MOC2433&lt;/a&gt; (základy skriptování ve WSH) a &lt;a href="http://www.gopas.cz/DetailKurzu.aspx?IDKurzu=3765"&gt;MOC2439&lt;/a&gt; (skriptování pomocí WMI) a zůčastnil jsem se několika jeho přednášek. Jeho styl výkladu je mi velmi blízký a příjemný.&lt;br /&gt;&lt;br /&gt;Jak jsem předpokládal, osnova kurzu se bude řídit podle knihy &lt;a href="http://powershell-cz.blogspot.com/2008/09/recenze-powershell-podrobn-prvodce.html"&gt;PowerShell - podrobný průvodce skriptováním&lt;/a&gt;, jejíž je pan Malina autorem. Všichni účastníci kurzu ji na začátku dostali jako studijní materiál (což mi udělalo radost, protože tu svojí koupenou můžu dál používat jako pracovní a novou mohu dát hezky do knihovny mezi ostatní PowerShell knihy).&lt;br /&gt;&lt;br /&gt;Ráno jsme začali lehkým představením prostředí školy a obsahu kurzu. Poté již přišel na řadu &lt;em&gt;Modul 1&lt;/em&gt;, který byl nazván &lt;em&gt;Windows scripting concepts and technologies&lt;/em&gt; a zabýval se historií ovládání Windows z příkazové řádky a skriptu (cmd.exe, WSH, WMI, PowerShell). Již první příklad postavil před některé z nás zapeklitou úlohu :)&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Modul 2&lt;/em&gt; s názvem &lt;em&gt;Zprovoznění PowerShellu a základy práce v prostředí&lt;/em&gt; nás již vrhl do víru toho "správného Shellu". Instalace (které předcházel kratičký nástin .NET) a vysvětlení &lt;span style="font-family:courier new;font-size:85%;"&gt;Set-ExecutionPolicy&lt;/span&gt; nás před obědem pěkně připravily na odpolední část. Tu jsme začali popisem základního chování konzole: doplňování pomocí klávesy TAB, Verb-Noun, neinteraktivní běh a povídání o historii a přepisu příkazů. Probrali jsme interaktivní režim a podrobněji se podívali i na chování a možnosti přepínačů. Ihned poté jsme se vrhli na $PROFILE a úpravu promptu, což rozpoutalo první složitější dotaz, který byl vzápětí prompt-ně zodpovězen. Ke konci dne jsme se bavili o aliasech a skončili jsme filozofií PSDrives, kde jsme dělali další ze zajímavých příkladů.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1888498145615359672?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1888498145615359672/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1888498145615359672' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1888498145615359672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1888498145615359672'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/kolen-powershell-den-prvn.html' title='Školení PowerShell - den první'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5253226057279367486</id><published>2008-11-09T23:00:00.031+01:00</published><updated>2008-11-09T23:00:00.618+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 45"</title><content type='html'>Musím říct, že tento týden byl na novinky opravdu bohatý. Nejen, že se ozvývají dozvuky PDC, ale hlavně se v Barceloně konal další TechEd.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb978526.aspx"&gt;Windows PowerShell&lt;/a&gt; na &lt;a href="http://technet.microsoft.com/en-us/library/default.aspx"&gt;TechNet Library&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;V jednom velmi starém příspěvku (v době, kdy bude tento post publikován to bude přesně rok :) jsem našel příklady &lt;a href="http://tfl09.blogspot.com/2007/11/formatting-with-powershell.html"&gt;použití operátoru &lt;/a&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;a href="http://tfl09.blogspot.com/2007/11/formatting-with-powershell.html"&gt;-f&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Krásný one-liner z Jaykulova Twitteru - reakce na americké volby: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Get-Conversations| Where{ $_.Topic -eq Politics} | Start-Sleep&lt;br /&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;a malý doplněk:&lt;/span&gt; They're all lucky, I *was* going to pipe that to | kill -force&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Sapien uvolnil volně ke stažení &lt;a href="http://blog.sapien.com/index.php/2008/11/03/free-primalforms-tool-for-powershell-released/"&gt;PrimalForms&lt;/a&gt; spolu s krátkým &lt;a href="http://blog.sapien.com/index.php/2008/11/03/getting-started-with-primalforms/"&gt;Getting Started&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://powerscripting.wordpress.com/2008/11/03/episode-47-mvp-systems-jams/"&gt;Další epizoda&lt;/a&gt; PowerScripting Podcastu, tentokrát s pořadovým číslem 47.&lt;/li&gt;&lt;li&gt;&lt;a href="http://visiotoolbox.com/downloads.aspx?resourceid=2"&gt;PowerShell for Visio&lt;/a&gt; - mazaný nástroj pro generování PS skriptů přes Visio.&lt;/li&gt;&lt;li&gt;Tak máme za sebou konečně volbu nového amerického prezidenta. Jak to souvisí s PowerShellem? Konečně se budou na IRC, Twitteru a dalších řešit jiné věci než politika a můžem smazat z $PROFILE tento řádek: &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Get-Tweet | ? { $_.Message -notmatch "election|president|vote|obama|mccain|palin" }&lt;/span&gt; - autor opět Jaykul.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;PrimalScript 2007 Classroom Edition&lt;/span&gt; bude využíván při kurzech &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Windows Administration and Automation Using PowerShell&lt;/span&gt;. Dohodly se na tom firmy Microsoft a SAPIEN.&lt;/li&gt;&lt;li&gt;V &lt;a href="http://technet.microsoft.com/cs-cz/magazine/dd251267(en-us).aspx"&gt;novém čísle&lt;/a&gt; TechNet magazínu tentokrát dva články o PowerShellu: pokračování &lt;a href="http://technet.microsoft.com/cs-cz/magazine/dd228985(en-us).aspx"&gt;Building a Better Inventory Too&lt;/a&gt;l a v sekci Hey, Scripting guy! &lt;a href="http://technet.microsoft.com/cs-cz/magazine/dd221362(en-us).aspx"&gt;Calculating Server Uptime&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.msdn.com/powershell/archive/2008/11/09/faces-from-the-powershell-community.aspx"&gt;Známá jména&lt;/a&gt; z PowerShell komunity na fotce z TechEdu.&lt;/li&gt;&lt;li&gt;Jestli chcete, můžete vyplnit &lt;a href="http://spreadsheets.google.com/viewform?key=pK60fL5qBA8pe-_giq0ipXw"&gt;krátký dotazník&lt;/a&gt; na PowerShellCommunity.org.&lt;/li&gt;&lt;li&gt;Jak na &lt;a href="http://www.powershellpro.com/enumerate-the-remote-event-log-with-net/280/"&gt;vzdálený EventLog&lt;/a&gt; pomocí .NET.&lt;/li&gt;&lt;li&gt;Celý příští týden budu na &lt;a href="http://www.gopas.cz/DetailKurzu.aspx?IDKurzu=4262"&gt;školení PowerShellu&lt;/a&gt; v počítačové škole &lt;a href="http://www.gopas.cz/"&gt;Gopas&lt;/a&gt;. Přednášejícím bude Patrik Malina, autor knihy &lt;a href="http://powershell-cz.blogspot.com/2008/09/recenze-powershell-podrobn-prvodce.html"&gt;PowerShell - Podrobný průvodce skriptováním&lt;/a&gt; (podle které se dle mého názoru "pojede"). Gopas nabízí ještě &lt;a href="http://www.gopas.cz/DetailKurzu.aspx?IDKurzu=4898"&gt;oficiální MOC kurz&lt;/a&gt;, ale já jsem se rozhodl pro tento čistě z důvodů trvání kurzu (pět dní vs. tři MOC).&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5253226057279367486?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5253226057279367486/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5253226057279367486' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5253226057279367486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5253226057279367486'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/get-psnews-creationtime-lt-7days-write_09.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;7days&quot;}; Write-Host &quot;Týden 45&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-5402225315722719221</id><published>2008-11-06T17:06:00.002+01:00</published><updated>2008-11-06T17:13:05.538+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.category -eq "Hot Topic"}</title><content type='html'>Tato zpráva se svou důležitostí řádí mimo standardní novinky, publikuji ji tedy okamžitě.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jeffrey Snover oznámil na konferenci Tech-Ed datum zveřejnění Powershellu v2:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Prosinec 2008 - CTP3 (nebo Beta 1, pokud bude splňovat všechny náležitosti)&lt;/li&gt;&lt;li&gt;RTM - konec 2009/začátek 2010 jako součást Windows 7 a WS08R2&lt;/li&gt;&lt;li&gt;RTM pro XP, 2003, Vista a WS08 - jako download o pár měsíců později&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Převzato z &lt;a href="http://dmitrysotnikov.wordpress.com/2008/11/06/powershell-v2-release-schedule/"&gt;Dmitry's PowerBlog&lt;/a&gt;u.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P.S.: Stejně jak píše Dmitry jsem očekával uvedení o pár měsíců dříve :(&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-5402225315722719221?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/5402225315722719221/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=5402225315722719221' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5402225315722719221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/5402225315722719221'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/get-psnews-category-eq-hot-topic.html' title='Get-PSNews |? {$_.category -eq &quot;Hot Topic&quot;}'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-2245655151901293167</id><published>2008-11-04T13:33:00.017+01:00</published><updated>2008-11-04T14:15:26.530+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sapien tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Bleskovky'/><title type='text'>PrimalForms - první formulář (first form)</title><content type='html'>[EN]: This text describes my first form created with &lt;a href="http://blog.sapien.com/index.php/2008/11/03/free-primalforms-tool-for-powershell-released/"&gt;PrimalForms tool&lt;/a&gt; from Sapien. It is available at Sapien web for free!&lt;div&gt;As I work as an SMS administrator one of my most often tasks is to run packages for testing on my VM machines. I have PowerShell open whole day and now I can use &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Set-Alias&lt;/span&gt;&lt;/span&gt; for calling my version of &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Run Advertised Programs&lt;/span&gt; snapin.&lt;/div&gt;&lt;div&gt;How it works: OnLoad of the form it checks all available programs from &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;UIResource.UIResourceMgr&lt;/span&gt;&lt;/span&gt;. Then it lists all found in Listbox. When you choose one of the available programs and click to &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Run&lt;/span&gt;, it will run &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ExecuteProgram&lt;/span&gt;&lt;/span&gt; method and start the installation.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Note:&lt;/span&gt; I didn't test the form in production yet. I also didn't test it for any error states - now it's published just for fun. You are running the code on your own risk!&lt;/div&gt;&lt;div&gt;Available &lt;a href="http://www.makovec.info/ps/Get-SMSAdvertisedPrograms.ps1"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_Ni46JsIL9eA/SRBD2sHYimI/AAAAAAAAAB4/Smomtc0gM6g/s400/PrimalForms.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 151px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5264782571230235234" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[CZ]: Včera večer uvolnila firma Sapien zdarma &lt;a href="http://blog.sapien.com/index.php/2008/11/03/free-primalforms-tool-for-powershell-released/"&gt;nástroj PrimalForms&lt;/a&gt; (čímž mi "umožnila" jít spát v jednu ráno :). Začal jsem jej mírně oťukávat a dnes jsem si během několika málo minut (nejvíc času zabral design formuláře) vytvořil svou verzi snapinu &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Run Advertised programs&lt;/span&gt;. Jelikož pracuji jako SMS administrátor používám tento snapin několikrát za den při testování našich balíčků.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Jak vše funguje: Při otevření formuláře načte všechny dostupné programy z &lt;span class="Apple-style-span"  style="  ;font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;UIResource.UIResourceMgr&lt;/span&gt;&lt;/span&gt; a vloží je do listboxu. Poté, co vyberete jeden z dostupných programů a kliknete na Run, zavolá se metoda &lt;span class="Apple-style-span"  style="  ;font-family:'courier new';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ExecuteProgram&lt;/span&gt;&lt;/span&gt; a program je spuštěn.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Upozornění: Skript jsem zatím testoval pouze ve VM prostředí a nejsou v něm ošetřeny žádné nepředvídatelné okolnosti (ani ty předvídatelné). Zatím je to opravdu jen ukázka práce. Skript spouštíte na vaši vlastní zodpovědnost.&lt;/div&gt;&lt;div&gt;Skript si můžete stáhnout &lt;a href="http://www.makovec.info/ps/Get-SMSAdvertisedPrograms.ps1"&gt;zde&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-2245655151901293167?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/2245655151901293167/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=2245655151901293167' title='Počet komentářů: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2245655151901293167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/2245655151901293167'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/primalforms-prvn-formul-first-form.html' title='PrimalForms - první formulář (first form)'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ni46JsIL9eA/SRBD2sHYimI/AAAAAAAAAB4/Smomtc0gM6g/s72-c/PrimalForms.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-8314161370598136864</id><published>2008-11-02T23:00:00.014+01:00</published><updated>2008-11-02T23:00:00.518+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 44"</title><content type='html'>&lt;ul&gt;&lt;li&gt;Lee Holmes publikoval &lt;a href="http://www.leeholmes.com/blog/IntroductionToPowerShellPresentation.aspx"&gt;Introduction to PowerShell&lt;/a&gt; - prezentace s několika skripty využívajícími Start-Demo (popis &lt;a href="http://powershell-cz.blogspot.com/2008/10/start-demo.html"&gt;zde&lt;/a&gt;). Tímto se má sbírka skriptů a prezentací, které jsem si ještě neprošel a nezařadil rozrostla na 150 MB :(&lt;/li&gt;&lt;li&gt;Windows PowerShell bude &lt;a href="http://blogs.msdn.com/powershell/archive/2008/10/28/powershell-will-be-installed-by-default-on-windows-server-08-r2-ws08r2-and-windows-7-w7.aspx"&gt;standardně instalován&lt;/a&gt; ve Windows Serveru 2008 R2 a Windows 7. &lt;/li&gt;&lt;li&gt;&lt;a href="http://powerscripting.wordpress.com/2008/10/28/episode-46-sql-psx/"&gt;Další díl&lt;/a&gt; (46.) PowerScripting Podcastu vyšel s mírným zpožděním - po dlouhé době pondělní káva bez PowerShell novinek :|&lt;/li&gt;&lt;li&gt;Zmiňováno na několika místech a tak se přidám i když jsem původně nechtěl - příspěvek Jeffreyho Snovera s názvem &lt;a href="http://blogs.msdn.com/powershell/archive/2008/10/29/574-reasons-why-we-are-so-proud-and-optimistic-about-w7-and-ws08r2.aspx"&gt;547 důvodů proč jsme tak hrdí a optimističtí ohledně W7 a WS08R2&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Na myITforum.com je v repository &lt;a href="http://www.myitforum.com/myITWiki/WPScripts.ashx"&gt;uloženo přes 120 PowerShell skriptů&lt;/a&gt; - pokud pracujete s management nástroji, najdete tam možná kus užitečného kódu.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.clicktoattend.com/?id=133189"&gt;Windows PowerShell Virtual User Group Meeting #7&lt;/a&gt; - více informací na &lt;a href="http://marcoshaw.blogspot.com/2008/10/windows-powershell-virtual-user-group.html"&gt;Get-PowerShellBlog&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Přednáška Jeffreyho Snovera na PDC - &lt;a href="http://blogs.msdn.com/powershell/attachment/9027085.ashx"&gt;slidy&lt;/a&gt; a &lt;a href="http://channel9.msdn.com/pdc2008/ES24/"&gt;video&lt;/a&gt; na Channel 9.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-8314161370598136864?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/8314161370598136864/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=8314161370598136864' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8314161370598136864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/8314161370598136864'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/11/get-psnews-creationtime-lt-7days-write.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;7days&quot;}; Write-Host &quot;Týden 44&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1340724912337987740</id><published>2008-10-26T23:00:00.018+01:00</published><updated>2008-10-26T23:00:00.552+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 43"</title><content type='html'>&lt;ul&gt;&lt;li&gt;Nevím, co jsem minulý týden dělal, že jsem zapomněl přidat jednu malou, ale "důležitou" změnu. V oficiálním PowerShell blogu se objevila zmínka, že v CTP3 bude opuštěn název cmdlet a bude dále nazýván funkcí. Více v &lt;a href="http://blogs.msdn.com/powershell/default.aspx"&gt;Emit-XML&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Další UK PowerShell UG meeting 25.11. bude &lt;a href="http://richardsiddaway.spaces.live.com/Blog/cns!43CFA46A74CF3E96!1823.entry"&gt;přenášen živě&lt;/a&gt; přes Live Meeting. Bude se převážně věnovat Práci s AD.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.windows.powershell&amp;amp;mid=dadf876a-492a-485c-a476-4c8f6c76b1c2"&gt;Diskuse&lt;/a&gt; v microsoft.public.windows.powershell mě navedla na možnost ovládání &lt;a href="http://www.microsoft.com/windows/products/winfamily/desktopsearch/default.mspx"&gt;Windows Desktop Search&lt;/a&gt; přes PowerShell. Prvním je &lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/desktop/wdsearch.mspx"&gt;ovládání WDS 3.0&lt;/a&gt; a druhým &lt;a href="http://www.codeproject.com/KB/cs/wdscmdlet.aspx"&gt;Get-WDS cmdlet&lt;/a&gt;. Zatím jsem nezkoušel kompatibilitu skriptů mezi verzemi 3.x a 4.0.&lt;/li&gt;&lt;li&gt;Ve středu proběhla online konference &lt;a href="http://events.unisfair.com/index.jsp"&gt;Quest Connect 2008&lt;/a&gt;. Zůčastnil jsem se několika přednášek z nichž nejzajímavější pro mne rozhodně byla &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Do Not Fear the Command Line: PowerShell Made Easy&lt;/span&gt;, která se zabývala PowerShellem a PowerGUI. Přednášky budou dostupné ke shlédnutí až do 9.dubna 2009.&lt;/li&gt;&lt;li&gt;Krátký popis &lt;a href="http://turbochargead.org/articles/index.php/2008/10/active-directory-cmdlet-of-the-week-connect-qadservice/"&gt;Connect-QADService&lt;/a&gt; uveřejnil Brandon Shell na &lt;a href="http://turbochargead.org/"&gt;TurboChargeAD.org&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.sapien.com/index.php/2008/10/25/techmentor-las-vegas-08/"&gt;V blogu SAPIEN Technologies&lt;/a&gt; byly zveřejněny ZIP soubory z přednášek Jefferyho Hickse na konferenci &lt;a href="http://techmentorevents.com/"&gt;TechMentor&lt;/a&gt;. Obsahují skoro 300 stran prezentací a 1300 řádek kódu a stojí rozhodně za shlédnutí.&lt;/li&gt;&lt;li&gt;Konečně jsem si stáhl &lt;a href="http://www.sapienpress.com/PowerShell2.asp"&gt;knihu&lt;/a&gt;, kterou jsem vyhrál za recenzi PowerScripting Podcastu. Po rychlém prolétnutí a posléze přečtení 100 stránek (právě začínám číst kapitolu PowerShell Command-line Parsing) ji řadím na úroveň mých oblíbených &lt;a href="http://oreilly.com/catalog/9780596528492/"&gt;PowerShell Cookbook&lt;/a&gt; a &lt;a href="http://www.manning.com/payette/"&gt;PowerShell in Action&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1340724912337987740?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1340724912337987740/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1340724912337987740' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1340724912337987740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1340724912337987740'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/10/get-psnews-creationtime-lt-7days-write_26.html' title='Get-PSNews |? {$_.CreationTime -lt &quot;7days&quot;}; Write-Host &quot;Týden 43&quot;'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-1580310232247449178</id><published>2008-10-24T09:09:00.013+02:00</published><updated>2008-10-25T22:34:12.082+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zajímavé skripty'/><title type='text'>Start-Demo</title><content type='html'>Před několika měsíci jsem v PowerShell blogu objevil moc pěkný skript, sloužící k provádění prezentací. Napsal ho Jeffrey Snover před jeho prezentací pro Billa Gatese a Raye Ozzieho. Skript byl od té doby vylepšen, &lt;a href="http://blogs.msdn.com/powershell/archive/2007/06/03/new-and-improved-start-demo.aspx"&gt;poslední verze&lt;/a&gt; je z června 2007. Skript jsem viděl v akci již na několika konferencích u mnoha lidí a používám ho i pro své prezentace.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Výhodou je, že si předem připravíte všechny příkazy, které chcete obecenstvu ukázat a pak je pouštíte bez toho, abyste se museli bát, že uděláte překlep nebo něco nebude fungovat (i když generálský efekt funguje vždy a všude :) Vše funguje zhruba následovně:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Připravíte si textový soubor, do kterého si na každý řádek napíšete jeden příkaz PowerShellu. Pokud spustíte &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Start-Demo&lt;/span&gt;&lt;/span&gt; bez parametru, použije obsah souboru &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;demo.txt&lt;/span&gt;&lt;/span&gt;, pokud je v aktuálním adresáři. Máte-li jiné jméno souboru, zadejte ho jako parametr.&lt;/li&gt;&lt;li&gt;Skript zobrazí první řádku a čeká na zmáčknutí klávesy &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Enter &lt;/span&gt;(případně na jinou "funkční" klávesu, viz dále). Máte tedy čas na vysvětlení příkazu.&lt;/li&gt;&lt;li&gt;Příkaz je proveden, skript po jeho skončení čeká na další &lt;span class="Apple-style-span" style="font-style: italic;"&gt;Enter &lt;/span&gt;a vy máte čas na popsání výpisu.&lt;/li&gt;&lt;li&gt;Vše se poté opakuje až do konce obsahu vstupního souboru.&lt;/li&gt;&lt;/ol&gt;Skript za běhu vidíte na následujícím obrázku.&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/_Ni46JsIL9eA/SQN5IUTIKRI/AAAAAAAAABw/VWrBZuh-L1c/s400/Start-Demo_help.jpg" style="cursor:pointer; cursor:hand;width: 400px; height: 181px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5261181973493721362" /&gt;&lt;br /&gt;&lt;div&gt;Na začátku každého řádku je vidět číslo příkazu, který je spouštěn. Dále vidíte v titulku okna dva údaje: délku běhu skriptu a aktuální příkaz. Již jsem se zmiňoval o "funkčních" klávesách. Můžete použít následující:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;?&lt;/span&gt; - zobrazí nápovědu, viz obrázek výše.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;!&lt;/span&gt; - vyskočí z prezentace do prostředí PowerShellu kde můžete provádět libovolný příkaz. Hodí se například v případě, že chcete reagovat na dotaz posluchačů. Zpátky se dostanete příkazem exit.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;d&lt;/span&gt; - zobrazí obsah prezentovaného souboru včetně čísel řádek&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;#x&lt;/span&gt; - místo znaku # zadáte číslo příkazu, na který chcete skočit&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;fx&lt;/span&gt; - vypíše všechny řádky obsahující hledaný text, např. &lt;span class="Apple-style-span" style="font-style: italic;"&gt;fGet&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;px&lt;/span&gt; - rychlost, kterou budou příkazy vypisovány na konzoli. Standardně je nastavena na 200ms.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;b&lt;/span&gt; - vrací se o jeden příkaz zpět&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;s&lt;/span&gt; - přeskočí příkaz&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;t&lt;/span&gt; - kontrola času. Zobrazí čas trvání prezentace a pozici v prezentaci, např. pátá řádka z dvaceti.&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;q&lt;/span&gt; - ukončí prezentaci&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Pokud chcete někomu ukázat možnosti PowerShellu, toto je skript, který mohu jen doporučit. Jeden tip na závěr: Nepoužívám defaultní jméno vstupního souboru (demo.txt), ale soubor s příponou &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ps1&lt;/span&gt;&lt;/span&gt;. Tím mám zaručeno, že při přípravě prezentace se mi soubor otevře v mém editoru a mohu využít jeho plné možnosti (např. zvýraznění syntaxe).&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167591709146090076-1580310232247449178?l=powershell-cz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://powershell-cz.blogspot.com/feeds/1580310232247449178/comments/default' title='Komentáře k příspěvku'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7167591709146090076&amp;postID=1580310232247449178' title='Počet komentářů: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1580310232247449178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7167591709146090076/posts/default/1580310232247449178'/><link rel='alternate' type='text/html' href='http://powershell-cz.blogspot.com/2008/10/start-demo.html' title='Start-Demo'/><author><name>makovec</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://2.bp.blogspot.com/_Ni46JsIL9eA/SKav0Trs8dI/AAAAAAAAAAs/CZGwZNgEXJQ/S220/Moravec+David+v2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Ni46JsIL9eA/SQN5IUTIKRI/AAAAAAAAABw/VWrBZuh-L1c/s72-c/Start-Demo_help.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7167591709146090076.post-9220428693457835671</id><published>2008-10-19T23:00:00.023+02:00</published><updated>2008-10-20T08:55:43.832+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Get-PSNews'/><title type='text'>Get-PSNews |? {$_.CreationTime -lt "7days"}; Write-Host "Týden 42"</title><content type='html'>Dnešním dnem bych rád odstartoval sérii zabývající se novinkami a zajímavostmi, které se udály za poslední týden (nebo které jsem v posledním týdnu objevil).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://powerscripting.wordpress.com/"&gt;PowerScripting Podcast&lt;/a&gt; - &lt;a href="http://powerscripting.wordpress.com/2008/10/12/episode-45-rockin-roundtable/"&gt;Episode 45&lt;/a&gt;: Tentokrát s několika hosty (Jeffrey Snover, Don Jones, Alex Reidel, Kirk Munro) na různá témata.&lt;/li&gt;&lt;li&gt;V tomto blogu jsem uveřejnil &lt;a href="http://powershell-cz.blogspot.com/2008/10/commonparameter-outvariable.html"&gt;krátký popis&lt;/a&gt; zpracování &lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;-OutVariable&lt;/span&gt;&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Nikoli PowerShell záležitost, ale dlouho jsme na ni čekali - nová verze Windows se bude jmenovat &lt;a href="http://windowsvistablog.com/blogs/windowsvista/archive/2008/10/13/introducing-windows-7.aspx"&gt;Windows 7&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Dmitry Sotnikov uveřejnil skript, který dokáže udělat snapshot AD účtů a porovnat rozdíly - více v &lt;a href="http://dmitrysotnikov.wordpress.com/2008/10/15/compare-ad-against-snapshots/"&gt;jeho blogu&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Verb-Noun už jsem zde jednou zmiňoval. V microsoft.public.windows.powershell byl &lt;a href="http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.windows.powershell&amp;amp;mid=4a9e2c84-ee9a-408d-a96b-b13ea895549d"&gt;vznesen dotaz&lt;/a&gt;, který mne poté navedl na další zajímavé linky. Jedním z nich je řešení &lt;a href="http://www.nivot.org/2008/10/15/NamingYourCmdletsAndFunctionsVerbsAndNouns.aspx"&gt;Oisina Grehana&lt;/a&gt; (které ale nefunguje úplně dobře - zmiňováno v news), dalším &lt;a href="http://www.microsoft.com/technet/scriptcenter/topics/winpsh/cmdline_std.mspx"&gt;Microsoft Command line Standard&lt;/a&gt;. Seznam všech použitých Verb ve vašem PowerShellu můžete zjistit následovně:&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-f
