<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jiří Brejcha &#187; Skriptování</title>
	<atom:link href="http://www.jiribrejcha.net/category/skriptovani/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jiribrejcha.net</link>
	<description>Blog nejen o Microsoft technologiích a networkingu</description>
	<lastBuildDate>Thu, 29 Jul 2010 10:44:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>cs</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zjištění MAC adresy síťového adaptéru</title>
		<link>http://www.jiribrejcha.net/2010/04/zjisteni-mac-adresy-sitoveho-adapteru/</link>
		<comments>http://www.jiribrejcha.net/2010/04/zjisteni-mac-adresy-sitoveho-adapteru/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 20:26:09 +0000</pubDate>
		<dc:creator>Jiří Brejcha</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Skriptování]]></category>
		<category><![CDATA[Utility]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[getmac]]></category>

		<guid isPermaLink="false">http://www.jiribrejcha.net/?p=3212</guid>
		<description><![CDATA[Fyzickou MAC adresu síťové karty obvykle zjišťujeme hledáním odpovídající hodnoty v objemném výstupu příkazu ipconfig /all. Znáte ale utilitu getmac? Jde o jednoúčelový nástroj, který je integrovanou součástí Windows Vista a 7. Vyzkoušejte si následující příkaz.
getmac /V /NH
Výstup může být následující. Řekněte sami, není příjemnější nežli sáhodlouhý sled informací z ipconfigu?

]]></description>
			<content:encoded><![CDATA[<p>Fyzickou MAC adresu síťové karty obvykle zjišťujeme hledáním odpovídající hodnoty v objemném výstupu příkazu <em><strong>ipconfig /all</strong></em>. Znáte ale utilitu <strong><em>getmac</em></strong>? Jde o jednoúčelový nástroj, který je integrovanou součástí Windows Vista a 7. Vyzkoušejte si následující příkaz.</p>
<blockquote><p>getmac /V /NH</p></blockquote>
<p>Výstup může být následující. Řekněte sami, není příjemnější nežli sáhodlouhý sled informací z ipconfigu?</p>
<p><img class="alignnone size-medium wp-image-3213" title="getmac" src="http://www.jiribrejcha.net/wp-content/uploads/2010/04/getmac-250x126.png" alt="" width="250" height="126" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiribrejcha.net/2010/04/zjisteni-mac-adresy-sitoveho-adapteru/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Instalujte, ale potichu</title>
		<link>http://www.jiribrejcha.net/2009/07/instalujte-ale-potichu/</link>
		<comments>http://www.jiribrejcha.net/2009/07/instalujte-ale-potichu/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 07:56:11 +0000</pubDate>
		<dc:creator>Jiří Brejcha</dc:creator>
				<category><![CDATA[Skriptování]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tipy]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[Instalace]]></category>
		<category><![CDATA[Silent]]></category>
		<category><![CDATA[Tichá instalace]]></category>

		<guid isPermaLink="false">http://www.jiribrejcha.net/?p=1365</guid>
		<description><![CDATA[Dnes se budeme zabývat činností, kterou dobře zná každý z nás. Nahlédneme do možností instalace aplikací ve Windows. Nemusíte mít strach, že se budeme učit klikat na notoricky známý sled tlačítek Další, Další, Další, Dokončit. Podíváme se totiž společně na celou věc trošku z jiné stránky a vezmeme instalaci aplikací do vlastních rukou.
Instalace v grafickém [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jiribrejcha.net/wp-content/uploads/2009/07/skript.png"></a>Dnes se budeme zabývat činností, kterou dobře zná každý z nás. Nahlédneme do možností instalace aplikací ve Windows. Nemusíte mít strach, že se budeme učit klikat na notoricky známý sled tlačítek Další, Další, Další, Dokončit. Podíváme se totiž společně na celou věc trošku z jiné stránky a vezmeme instalaci aplikací do vlastních rukou.</p>
<h3>Instalace v grafickém rozhraní</h3>
<p>Můžete se setkat s několika způsoby instalace aplikací. První a nejznámější je výše naznačený postup, kdy spustíte grafickou verzi instalátoru a postupně se proklikáváte jeho dialogy. Je-li třeba, upřesníte některé základní parametry, jako například složku, kam si přejete program nainstalovat, nebo zda se má na ploše vytvořit zástupce. V posledních kroku se s vámi instalátor rozloučí a vy můžete program poprvé spustit. Každou aplikaci je třeba alespoň lehce nastavit, takže i to bude jistě jeden z kroků. Některé aplikace navíc vyžadují akceptování smlouvy EULA (End User License Agreement) nebo vám nabídnou účast v programu pro zlepšení kvality daného software. Doposud byla vaše pozornost odváděna na instalaci a nastavení aplikace samotné, a až nyní jí můžete skutečně začít používat. Nicméně pokud instalujete pouze malé množství programů, může tento postup být poměrně časově efektivní.</p>
<h3>Portable aplikace</h3>
<p>Nejste-li příznivci instalování, pak možná provozujete své aplikace v takzvané portable verzi. Funguje to tak, že si stáhnete upravenou verzi aplikace tak, aby nevyžadovala instalaci, zkopírujete ji na USB flash disk a veškeré softwarové vybavení si nosíte s sebou. I to je samozřejmě zajímavé řešení. O tom snad ale někdy příště.</p>
<h3>Tichá instalace</h3>
<p>Pojďme rovnou k náplni tohoto článku. Řeč bude o tiché instalací aplikací. Tichá v tom slova smyslu, že automaticky běží na pozadí a neobtěžuje uživatele žádnými dialogy. My ji pouze skriptem z příkazového řádku zadáme požadované parametry. Vše ještě rozšíříme o automatické nastavení aplikací a lehkou údržbu systému. Výhodou tiché instalace je její rychlost a podpora naprosté většiny dnešních aplikací. V případě nasazení většího množství aplikací na větší počet počítačů prakticky nemá konkurenci. Patrně jedinou nevýhodou je vyšší časová náročnost přípravy instalačního skriptu.</p>
<p>Nejčastějšími příponami instalačních souborů bývají .exe a .msi. Software je distribuován uvnitř těchto balíčků a celou instalaci programu řídí takzvaný instalátor. V případě .msi je jím Windows Installer. U spustitelných .exe souborů se můžete setkat s několika různými instalátory. Po bližším ohledání zjistíte, že jde zpravidla o InstallShield, Inno Setup, případně nějaký další.</p>
<p>Typ instalátoru nám jasně říká, jaké parametry lze pro tichou instalaci aplikace použít. Stručný seznam instalátorů a jim odpovídajících parametrů najdete v této tabulce. Velmi dobrým zdrojem je také server <a href="http://www.appdeploy.com/">http://www.appdeploy.com/</a>.</p>
<table border="1">
<tbody><!-- Results table headers --></p>
<tr>
<th>Instalátor</th>
<th>Parametry</th>
</tr>
<tr>
<td>InstallShield</td>
<td>setup.exe /s</td>
</tr>
<tr>
<td>Windows Installer</td>
<td>msiexec /i setup.msi /qn REBOOT=ReallySuppress</td>
</tr>
<tr>
<td>Inno Setup</td>
<td>setup.exe /VERYSILENT</td>
</tr>
<tr>
<td>Neznámý</td>
<td>setup.exe /?</td>
</tr>
</tbody>
</table>
<p>V případě, že nevíte, jaký instalátor výrobce aplikace použil, můžete si veškeré parametry nechat vypsat zadáním příkazu setup.exe /? do příkazového řádku Windows. Setup.exe nahraďte správným názvem souboru a případně cestou k němu.</p>
<h3>Píšeme skript</h3>
<p>Nejnázornější bude malá ukázka, vzhůru do ní. Náš skript [šipka k skript.png] bude postupně volat tiché instalace programů, nastaví Adobe Reader, tak aby se choval podle našich přání a na závěr provede lehkou očistu systému od zbytečností. V průběhu svého běhu bude na příkazový řádek vypisovat informace o stavu instalace, abychom věděli, co se povedlo a kde je naopak něco špatně.</p>
<p><a href="http://www.jiribrejcha.net/wp-content/uploads/2009/07/skript.png"><img class="alignnone size-medium wp-image-1376" title="skript" src="http://www.jiribrejcha.net/wp-content/uploads/2009/07/skript-300x151.png" alt="skript" width="300" height="151" /></a></p>
<p>Na začátku si definujme proměnnou Apps, která obsahuje cestu ke složce s instalačními balíčky. Dejme tomu, že jsme je umístili do složky <strong>C:\Install</strong>.</p>
<blockquote><p>SET Apps=C:\Install</p></blockquote>
<p>Pojďme nainstalovat první aplikaci. Bude jí například Mozilla Firefox. Místo %Apps% se vloží cesta, kterou jsme do proměnné uložili v předchozím kroku a spustí se instalátor s parametrem pro tichou instalaci.</p>
<blockquote><p>&#8222;%Apps%\Firefox Setup 3.0.10.exe&#8220; /S</p></blockquote>
<p>Firefox po nainstalování vyžaduje vytvoření nového profilu. To zařídíme tímto příkazem. Všimněte si proměnné %ProgramFiles%, která je systémová (je automaticky nastavena systémem) a ukrývá v sobě cestu ke složce „Program Files“.</p>
<blockquote><p>&#8222;%ProgramFiles%\Mozilla Firefox\firefox.exe&#8220; -CreateProfile &#8222;default</p></blockquote>
<p>Požadujete-li nastavit Firefox jako výchozí prohlížeč zadejte i tento příkaz.</p>
<blockquote><p>&#8222;%ProgramFiles%\Mozilla Firefox\firefox.exe&#8220; -setDefaultBrowser -silent</p></blockquote>
<p>Tato část kódu ve skriptu kontroluje po dokončení instalace každé aplikace, zda instalace proběhla v pořádku. Pokud je něco špatně, vypíše „ERROR“.</p>
<blockquote><p>IF ERRORLEVEL 1 ECHO ERROR<br />
IF NOT ERRORLEVEL 1 ECHO OK</p></blockquote>
<p>Pro přehlednost výstupu oddělíme důležité části prázdným řádkem.</p>
<blockquote><p>ECHO.</p></blockquote>
<p>Jako další nainstalujeme Adobe Reader. Výsledek instalace můžeme ovlivnit mnoha parametry. Instalátoru zde říkáme, že si po dokončení nepřejeme provádět restart počítače a že instalujeme Reader všem uživatelům počítače. Také chceme automaticky akceptovat smlouvu EULA a zakázat automatické spuštění Readeru po dokončení instalace.</p>
<blockquote><p>&#8222;%Apps%\Acrobat\AdbeRdr910_en_US_Std.exe&#8220; /sAll /rs /l /msi&#8220;/qn /norestart ALLUSERS=1 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES&#8220;</p></blockquote>
<p>Při prvním spuštění by nás ovšem Reader přivítal dotazem, zda se chceme zúčastnit programu pro zlepšení software. Tento dialog můžeme zrušit přidáním tohoto příkazu do skriptu.</p>
<blockquote><p>REG ADD &#8222;HKCU\Software\Adobe\CommonFiles\Usage\Reader 9 &#8220; /t REG_DWORD /v OptIn /d 0 /f</p></blockquote>
<p>Ukažme si, že to jde i jednoduše. Typickým příkladem aplikace využívající Windows Installer je komprimační nástroj 7zip. Tichou instalaci, která mimochodem trvá pouze několik vteřin, zahájíme takto.</p>
<blockquote><p>msiexec /i &#8222;%Apps%\7z465.msi&#8220; /qn</p></blockquote>
<p>Pro správu obrázků si nainstalujme XnView.</p>
<blockquote><p>&#8222;%Apps%\xnview\XnView-win.exe&#8220; /verysilent</p></blockquote>
<p>Plugin Microsoft Silverlight nainstalujeme takto.</p>
<blockquote><p>&#8222;%Apps%\Silverlight.2.0.exe&#8220; /q</p></blockquote>
<p>Zjednodušeně si ukažme, jak přímo skriptem vyčistit ikony na ploše. Acrobat jsme instalovali všem uživatelům, proto je zástupce umístěn jinde. XnView se nainstalovalo pouze aktuálnímu uživateli, a tak ikonu najdete v jeho uživatelském plofilu. Cesty se mohou mírně lišit na Windows XP a Windows Vista.</p>
<blockquote><p>DEL &#8222;%SystemDrive%\Users\Public\Desktop\Adobe Reader 9.lnk&#8220;<br />
DEL &#8222;%UserProfile%\Desktop\XnView.lnk&#8220;</p></blockquote>
<p>Kompletní skript včetně několika vzorových aplikací si můžete <a href="http://www.jiribrejcha.net/download/silent.zip">stáhnout tady</a>. Samozřejmě také můžete spouštět jednotlivé příkazy ručně přímo v příkazovém řádku. Pro účely testování doporučuji využít Microsoft Virtual PC a vytvořit si virtuální stroj.</p>
<p>Tento článek byl napsán pro <a href="http://computer.zive.cz/">časopis Computer</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiribrejcha.net/2009/07/instalujte-ale-potichu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Windows 7: Připinování zástupce aplikace na Taskbar a do Start Menu skriptem</title>
		<link>http://www.jiribrejcha.net/2009/05/windows-7-pripinovani-zastupce-aplikace-na-taskbar-a-do-start-menu-skriptem/</link>
		<comments>http://www.jiribrejcha.net/2009/05/windows-7-pripinovani-zastupce-aplikace-na-taskbar-a-do-start-menu-skriptem/#comments</comments>
		<pubDate>Fri, 29 May 2009 06:38:41 +0000</pubDate>
		<dc:creator>Jiří Brejcha</dc:creator>
				<category><![CDATA[Skriptování]]></category>
		<category><![CDATA[Tipy]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Pin to Start menu]]></category>
		<category><![CDATA[Pin to taskbar]]></category>

		<guid isPermaLink="false">http://www.jiribrejcha.net/?p=1394</guid>
		<description><![CDATA[Ve Windows 7 si můžete umístit na Taskbar či do Stat menu zástupce libovolných aplikací. Pokud to ale chcete provést skriptem možná jako já zjistíte, že to není tak snadné. Pouhé zkopírování zástupce do odpovídající složky nestačí. To bylo dříve možné například u Quick Launch panelu. Pokud ale chcete přišpendlit zástupce aplikace na hlavní panel Windows (Pin to Taskbar) nebo do nabídky Start (Pin [...]]]></description>
			<content:encoded><![CDATA[<p>Ve Windows 7 si můžete umístit na Taskbar či do Stat menu zástupce libovolných aplikací. Pokud to ale chcete provést skriptem možná jako já zjistíte, že to není tak snadné. Pouhé zkopírování zástupce do odpovídající složky nestačí. To bylo dříve možné například u Quick Launch panelu. Pokud ale chcete přišpendlit zástupce aplikace na hlavní panel Windows (Pin to Taskbar) nebo do nabídky Start (Pin to Start Menu), musíte použít tento postup. Na Windows 7 RC zaručeně funguje.</p>
<ol>
<li>Stáhněte si <a href="http://www.jiribrejcha.net/wp-content/uploads/2009/05/windows7-pin-to.zip">tento balíček skriptů</a> a soubory rozbalte například do složky C:\Skripty.</li>
<li>Pro připinování Outlooku na taskbar spusťte skript PinItem.wsf s těmito parametry:<br />
<blockquote><p>cscript //nologo C:\Skripty\PinItem.wsf /item:&#8220;%ProgramData%\Microsoft\Windows\Start Menu\Programs\Microsoft Office\Microsoft Office Outlook 2007.lnk&#8220; /taskbar</p></blockquote>
</li>
<li>Připinování Outlooku do Start Menu bude vypadat takto:<br />
<blockquote><p>cscript //nologo C:\Skripty\PinItem.wsf /item:&#8220;%ProgramData%\Microsoft\Windows\Start Menu\Programs\Microsoft Office\Microsoft Office Outlook 2007.lnk&#8220;</p></blockquote>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jiribrejcha.net/2009/05/windows-7-pripinovani-zastupce-aplikace-na-taskbar-a-do-start-menu-skriptem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tichá instalace Virtual PC 2007</title>
		<link>http://www.jiribrejcha.net/2009/05/ticha-instalace-virtual-pc-2007/</link>
		<comments>http://www.jiribrejcha.net/2009/05/ticha-instalace-virtual-pc-2007/#comments</comments>
		<pubDate>Sun, 24 May 2009 11:52:20 +0000</pubDate>
		<dc:creator>Jiří Brejcha</dc:creator>
				<category><![CDATA[Skriptování]]></category>
		<category><![CDATA[Virtualizace]]></category>
		<category><![CDATA[Tipy]]></category>
		<category><![CDATA[Virtual PC 2007]]></category>

		<guid isPermaLink="false">http://www.jiribrejcha.net/?p=1383</guid>
		<description><![CDATA[Virtual PC 2007 v 32 bitové i 64 bitové verzi  je ditribuováno jako soubor setup.exe. Abychom z něj získali .msi balíček použijeme tento příkaz. Výsledkem jsou dva soubory uložené ve složce C:\Temp. Jedním je balíček Virtual_PC_2007_Install.msi a druhým je aktualizace XML Core Services (msxml6-KB927977-enu-x86.exe), kterou Virtual PC vyžaduje.
setup.exe /c /t C:\Temp
Samotnou instalaci Virtual PC pak obvykle realizuji tímto skriptem. [...]]]></description>
			<content:encoded><![CDATA[<p>Virtual PC 2007 v 32 bitové i 64 bitové verzi  je ditribuováno jako soubor setup.exe. Abychom z něj získali .msi balíček použijeme tento příkaz. Výsledkem jsou dva soubory uložené ve složce C:\Temp. Jedním je balíček Virtual_PC_2007_Install.msi a druhým je aktualizace XML Core Services (msxml6-KB927977-enu-x86.exe), kterou Virtual PC vyžaduje.</p>
<blockquote><p>setup.exe /c /t C:\Temp</p></blockquote>
<p>Samotnou instalaci Virtual PC pak obvykle realizuji tímto skriptem. Proměnná Apps obsahuje cestu k instalačním souborům. Poslední řádek definuje systémovou proměnnou pro výchozí umístění virtuálních pevných disků (VHD) a  nastavení virtuálních počítačů (VMC). Nechci je totiž mít uložené na systémovém disku aktuálního OS. Raději volím úložiště E:\VM na externím disku.</p>
<h3>Tichá Instalace 32 bitové verze</h3>
<blockquote><p>&#8222;%Apps%\msxml6-KB927977-enu-x86.exe&#8220; /quiet<br />
msiexec /qn /i &#8222;%Apps%\Virtual_PC_2007_Install.msi&#8220; allusers=2<br />
REG ADD &#8222;HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment&#8220; /t REG_SZ /v MYVIRTUALMACHINES /d E:\VM /f</p></blockquote>
<h3>Tichá Instalace 64 bitové verze</h3>
<blockquote><p>&#8222;%Apps%\msxml6-KB927977-enu-amd64.exe&#8220; /quiet<br />
msiexec /qn /i &#8222;%Apps%\Virtual_PC_2007_Install.msi&#8220; allusers=2<br />
REG ADD &#8222;HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment&#8220; /t REG_SZ /v MYVIRTUALMACHINES /d E:\VM /f</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jiribrejcha.net/2009/05/ticha-instalace-virtual-pc-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Výpis písmene aktuální jednotky ze skriptu</title>
		<link>http://www.jiribrejcha.net/2009/05/vypis-pismene-aktualni-jednotky-ze-skriptu/</link>
		<comments>http://www.jiribrejcha.net/2009/05/vypis-pismene-aktualni-jednotky-ze-skriptu/#comments</comments>
		<pubDate>Thu, 07 May 2009 16:23:39 +0000</pubDate>
		<dc:creator>Jiří Brejcha</dc:creator>
				<category><![CDATA[Skriptování]]></category>
		<category><![CDATA[Tipy]]></category>

		<guid isPermaLink="false">http://www.jiribrejcha.net/?p=1206</guid>
		<description><![CDATA[Našel jsem zajímavý způsob, jak vypsat aktuální písmeno jednotky, ze které je skript volán. K čemu je to dobré? Mám batch skript na USB flash disku a ten v různých počítačích dostává přiřazena různá  písmena. Někde se tváří jako E:\, jinde dostane H:\. Záleží na konkrétním případě. Já ale potřebuji zjistit písmeno jednotky, ať je [...]]]></description>
			<content:encoded><![CDATA[<p>Našel jsem zajímavý způsob, jak vypsat aktuální písmeno jednotky, ze které je skript volán. K čemu je to dobré? Mám batch skript na USB flash disku a ten v různých počítačích dostává přiřazena různá  písmena. Někde se tváří jako E:\, jinde dostane H:\. Záleží na konkrétním případě. Já ale potřebuji zjistit písmeno jednotky, ať je jakékoliv, a použít jej ve skriptu.</p>
<blockquote><p><span style="color: #000000;"><strong>SET</strong> drv=%cd:~0,2%<br />
<strong>ECHO</strong> %drv%</span></p></blockquote>
<p>První řádek vypíše první dva znaky (lze ovlivnit číslem za čárkou) z proměnné nesoucí aktuální adresář. Druhý pak obstarává kontrolní výpis. Výstup skriptu bude například &#8222;E:&#8220; bez uvozovek.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiribrejcha.net/2009/05/vypis-pismene-aktualni-jednotky-ze-skriptu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
