Zjištění sériového čísla a modelu PC z příkazového řádku pomocí WMI

Ať už potřebujete skriptem sesbírat modelová označení počítačů nebo zjistit nečitelné sériové číslo domácího stroje, pomůže vám rozhraní WMI.

Pro zobrazení sériového čísla počítače napište do příkazového řádku:

C:\Users\Jirka>wmic /node:”<nazev-pc>” bios get serialnumber

Zavoláním jednoho z těchto příkazů zjistíte modelové označení stroje:

C:\Users\Jirka>wmic /node:”<nazev-pc>” baseboard get product

C:\Users\Jirka>wmic /node:”<nazev-pc>” computersystem get model

Vynecháním parametru node běží příkaz na lokálním PC. Při spouštění na vzdáleném stroji pamatujte na to, že okolo názvu počítače musí být uvozovky.

Uživatelské jméno a název počítače z příkazového řádku

Pokud potřebujete ve vašem skriptu vypsat uživatelské jméno aktuálně přihlášeného uživatele nebo název počítače, pomohou vám tyto dva rychlé příkazy.

whoami
echo %computername%

Spusťte je pouhým vložením do okna příkazového řádku. Příkaz whoami můžete spustit i jinou cestou, jedná se totiž o klasický spustitelný EXE soubor. Naproti tomu příkaz echo musí být interpretován skrze cmd.exe – jinými slovy ho nespustíte například z vyhledávacího pole nabídky Start a z dialogu Spustit.

Instalujte, ale potichu

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 rozhraní

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í.

Portable aplikace

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ě.

Tichá instalace

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.

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ší.

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 http://www.appdeploy.com/.

Instalátor Parametry
InstallShield setup.exe /s
Windows Installer msiexec /i setup.msi /qn REBOOT=ReallySuppress
Inno Setup setup.exe /VERYSILENT
Neznámý setup.exe /?

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íšeme skript

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ě.

skript

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 C:\Install.

SET Apps=C:\Install

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.

“%Apps%\Firefox Setup 3.0.10.exe” /S

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“.

“%ProgramFiles%\Mozilla Firefox\firefox.exe” -CreateProfile “default

Požadujete-li nastavit Firefox jako výchozí prohlížeč zadejte i tento příkaz.

“%ProgramFiles%\Mozilla Firefox\firefox.exe” -setDefaultBrowser -silent

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“.

IF ERRORLEVEL 1 ECHO ERROR
IF NOT ERRORLEVEL 1 ECHO OK

Pro přehlednost výstupu oddělíme důležité části prázdným řádkem.

ECHO.

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.

“%Apps%\Acrobat\AdbeRdr910_en_US_Std.exe” /sAll /rs /l /msi”/qn /norestart ALLUSERS=1 EULA_ACCEPT=YES SUPPRESS_APP_LAUNCH=YES”

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.

REG ADD “HKCU\Software\Adobe\CommonFiles\Usage\Reader 9 ” /t REG_DWORD /v OptIn /d 0 /f

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.

msiexec /i “%Apps%\7z465.msi” /qn

Pro správu obrázků si nainstalujme XnView.

“%Apps%\xnview\XnView-win.exe” /verysilent

Plugin Microsoft Silverlight nainstalujeme takto.

“%Apps%\Silverlight.2.0.exe” /q

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.

DEL “%SystemDrive%\Users\Public\Desktop\Adobe Reader 9.lnk”
DEL “%UserProfile%\Desktop\XnView.lnk”

Kompletní skript včetně několika vzorových aplikací si můžete stáhnout tady. 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.

Tento článek byl napsán pro časopis Computer.

Windows 7: Připinování zástupce aplikace na Taskbar a do Start Menu skriptem

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.

  1. Stáhněte si tento balíček skriptů a soubory rozbalte například do složky C:\Skripty.
  2. Pro připinování Outlooku na taskbar spusťte skript PinItem.wsf s těmito parametry:

    cscript //nologo C:\Skripty\PinItem.wsf /item:”%ProgramData%\Microsoft\Windows\Start Menu\Programs\Microsoft Office\Microsoft Office Outlook 2007.lnk” /taskbar

  3. Připinování Outlooku do Start Menu bude vypadat takto:

    cscript //nologo C:\Skripty\PinItem.wsf /item:”%ProgramData%\Microsoft\Windows\Start Menu\Programs\Microsoft Office\Microsoft Office Outlook 2007.lnk”

Tichá instalace Virtual PC 2007

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. 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.

Tichá Instalace 32 bitové verze

“%Apps%\msxml6-KB927977-enu-x86.exe” /quiet
msiexec /qn /i “%Apps%\Virtual_PC_2007_Install.msi” allusers=2
REG ADD “HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment” /t REG_SZ /v MYVIRTUALMACHINES /d E:\VM /f

Tichá Instalace 64 bitové verze

“%Apps%\msxml6-KB927977-enu-amd64.exe” /quiet
msiexec /qn /i “%Apps%\Virtual_PC_2007_Install.msi” allusers=2
REG ADD “HKLM\SYSTEM\ControlSet001\Control\Session Manager\Environment” /t REG_SZ /v MYVIRTUALMACHINES /d E:\VM /f

Výpis písmene aktuální jednotky ze skriptu

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.

SET drv=%cd:~0,2%
ECHO %drv%

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 “E:” bez uvozovek.