Pozor při rozšiřování velikosti diskového oddílu pomocí Správy disků

Správce disků, který je součástí Windows, nabízí funkci zvětšení či zmenšení velikosti oddílů. Díky němu takřka nemusíte myslet na zadní vrátka v podobě bootovatelného média typu Partition Magic nebo Acronis Disk Director.

Představte si ale následující situaci. Disk o kapacitě 2 TB obsahuje dva oddíly, přičemž 50 GB je vyhrazeno na operační systém (C:) a zbylé místo připadá datové části (D:). Později rozhodnutí přehodnotíte a s využitím konzoly Správa disků naplánujete zvětšení systémového oddílu na 130 GB na úkor datového. Zmenšíte tedy datový oddíl, ale záhy zjistíte, že uvolněný prostor za ním není možné použít pro zvětšení systémové partition. Volné místo, o které má být systémový oddíl rozšířen, na něj totiž musí spojitě navazovat. Zvětšení tím pádem není proveditelné bez použití nástroje třetí strany.

Jediným řešením při použití Správy disků je odstranit datový oddíl, zvětšit ten systémový, znovu vytvořit na zbylém prostoru nový datový oddíl a konečně obnovit do něj data.

Nefunkční Terminal Services Easy Print – mizející dokumenty z tiskové fronty

Jak možná tušíte, terminálový server by podle doporučení Microsoftu neměl zároveň plnit roli řadiče domény. Pokud ale víte, že si to můžete dovolit a požadujete od Windows Serveru 2008 obě tyto role, patrně narazíte na podivné chování technologie Easy Print. Ta umožňuje snadné připojení tiskáren RDP klienta tak, aby na ně bylo možné tisknout přímo z terminálovém serveru.

Ve výše popsané konfiguraci se sice tiskárny na serveru objeví, ale veškeré tiskové úlohy z fronty ihned zmizí a nevytisknou se. Popis řešení najdete v KB968605. Všechny úpravy se týkají serveru samotného. Ve stručnosti jde o změnu NTFS oprávnění pro složku C:\Windows\System32\Spool\PRINTERS.

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.

Objevte možnosti WMIC

Kouzlo Windows spočívá v tom, že vždy dokáží překvapit něčím novým. Tak schválně, kolikrát jste v praxi použili rozhraní WMIC? K čemu slouží? Co umí? Na tyto otázky se vám pokusím odpovědět v tomto článku.

Windows disponují velmi obsáhlým rozhraním WMI (Windows Management Instrumentation). Rozlišuje několik hlavních tříd, přičemž každá z nich obsahuje objekty odpovídající dílčím komponentám operačního systému. WMI ve spojení s Powershellem či VBScripty umožňuje spravovat prostředky místního počítače, ale i ostatních stanic a serverů v síti. Vyžaduje to ovšem určité znalosti a prvotní seznámení s těmito postupy není zrovna procházkou růžovým sadem.

Microsoft naštěstí k WMI vytvořil rozhraní pro příkazový řádek nazývané WMIC (Windows Management Instrumentation Command-line). Jeho předností je snadné používání a pomůže vám vyhnout se těžkopádnému přístupu WMI. Přímo se tak nabízí využít WMIC v batch skriptech. Ty určitě znáte, mají příponu BAT.

Právě WMIC s příkazovým řádkem Windows se dnes budeme věnovat a ukážeme si několik praktických příkladů, které si můžete vyzkoušet.

Ukázkovým příkladem by mohl být skript realizující jednoduchou inventuru hardwarové konfigurace a softwarového vybavení počítačů v síti. Vytvořili bychom dávkový soubor, který by pomocí WMIC příkazů zjistil informace o přihlášeném uživateli, verzi operačního systému, nainstalovaných programech, běžících procesech, velikosti pevného disku, procesoru a množství operační paměti. Všechny tyto informace by uložil do souboru, jehož název by korespondoval s názvem počítače. To proto, abyste si dokázali spojit shromážděné informace s konkrétním počítačem. To by mohlo být určitě zajímavé, máte-li v síti větší množství počítačů a nechcete je po jednom obcházet a zjišťovat všechny údaje ručně.

Realizaci některých zmíněných funkcí si ukážeme. Je jen na vás, jak je dále využijete.

Režimy WMIC

WMIC může běžet ve dvou režimech. Prvním je klasické “inline” chování, kdy do příkazového řádku zadáte kompletní příkaz a ten vám na konzoli předá svůj výstup. Nejlépe to vystihne následující příklad. Z příkazového řádku Windows zadáme příkaz pro výpis informací o operačním systému. Na výstupu očekáváme požadovaná data a navrácení do příkazového řádku. Takový příkaz lze velmi snadno užít ve skriptu.

wmic os list brief

inline

Druhou možností, jak s WMIC pracovat, je spustit jej v interaktivním režimu. Zkusme stejný příklad v tomto režimu. Rozdíl bude ten, že nejdříve spustíme samotné WMIC a potom zadáme příkazy, které chceme vykonat. Řízení ovšem nebude vráceno přímo zpět příkazovému řádku Windows, ale budeme navráceni do interaktivního režimu WMIC. Pro jeho opuštění je nutné použít příkat exit.

wmic
os list brief
exit

interactive

Příklady

Sérii následujících příkazů si můžete vyzkoušet pouhým zadáním do Příkazového řádku Windows. Pokud se pustíte do testování WMIC a nebudete vědět, jaké jsou parametry toho či onoho příkazu vyzkoušejte za příkaz zadat kombinaci znaků /? (lomítko a otazník). WMIC vám napoví správnou syntaxi.

Informace o hardware

  1. Pojďme zjistit, jaký procesor se ukrývá v našem počítači. Výstup nasměrujme do textového souboru.

    wmic /output:c:\cpu.txt cpu get

  2. Nic nám nebrání vybrat si pouze ty sloupce, které pro nás mají největší vypovídací hodnotu. WMIC nabízí kromě standardního výstupu na konzoli a do textového souboru i mnohem příjemnější formáty Výstup tentokrát uložíme do htm souboru ve formátu tabulky.

    wmic /output:c:\cpu.html cpu get extclock,name,numberofcores /format:htable

  3. Do souboru, jehož název bude shodný s názvem počítače uložíme celkovou velikost operační paměti včetně detailních informací o jednotlivých modulech. Ukázku obsahu výstupního souboru zachycuje tento obrázek.

    wmic /output:”c:\%computername%.txt” memorychip get capacity, caption, devicelocator, name, partnumber

    output

  4. Nyní si nechme zobrazit seznam pevných disků, připojených externích disků ale například i čteček paměťových karet.

    wmic diskdrive get model,size,interfacetype,mediatype

  5. I BIOS vašeho počítače uchovává zajímavé informace.

    wmic bios get /format:list

  6. Důležitým údajem může být i výstup tohoto příkazu, který vrací informace o výrobci počítače, modelu a sériové číslo (Service Tag).

    wmic csproduct

Práce s OS

  1. Chcete-li získat aktuální seznam procesů/služeb, pomohou vám příkazy v následujícím formátu. Pro výstup do souboru lze použít také dvě většítka psaná bez mezery. Výstupní soubor navíc obohatíme o uživatelské jméno proměnnou username.

    wmic service list brief >> c:\%username%-sluzby.txt
    wmic process list brief >> c:\%username%-procesy.txt

  2. Můžete ale ovládat i startovací režim služeb. Naše ukázka zakáže trvale službu Centrum zabezpečení.

    wmic service wscsvc call changestartmode disabled

  3. WMIC zdaleka není jen rozhraní pro pasivní sběr informací, ale umí spouštět i další aplikace. Ukažme si, jak je možné spustit kalkulačku. Na první pohled se může zdát nelogické spouštět kalkulačku takto složitě, ale WMIC nám ji umožňuje spustit vzdáleně na jiném počítači v síti. Stačí do příkazu doplnit parametr node.

    wmic process call create calc.exe
    wmic process /node:jirka-pc call create calc.exe

  4. Tato ukázka dělá přesně to co naznačuje její doslovný překlad, tedy restartuje počítač. Před jejím zkoušením vám vřele doporučuji uložit si veškerou rozdělanou práci.

    wmic os call reboot

  5. Všechny aplikace v počítači nainstalované pomocí Windows Installeru odhalíte tímto příkazem.

    wmic product get name

  6. Nalezení jmen všech souborů větších než 500 MB nebylo nikdy snazší. Příkaz je značně časově náročný, protože porovnává velikost každého souboru na vašem pevném disku.

    wmic datafile where “FileSize>’500000000′” get name

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

Kniha: Mistrovství v Microsoft Windows Server 2008

ws2008io

Před několika dny spatřila světlo světa tato česká verze knihy Windows Server 2008 Inside Out. Je mi potěšením se s vámi o tuto novinku podělit a to nejen proto, že jsem se na vzniku této publikace podílel. V posledních měsících jsem pilně pracoval na odborné korektuře této knihy se vším, co k ní patří. Tímto děkuji mé rodině a všem kamarádům, kteří po čas přípravy knížky tolerovali mé momentální vytížení a neustálé podtrhávání zvýrazňovačem:)

Windows Server 2008 přináší řadu nových vlastností a funkcí a věřím, že tato knížka vám bude dobrým rádcem při seznamování s nimi.

Všichni, kdož na knize pracovali, se pro vás snažili připravit co možná nejkvalitnější publikaci. Pokud by se vám i přesto povedlo najít nějakou chybičku, budu velmi rád, když dáte vědět mě nebo kontaktujete přímo Computer Press.

Přeji příjemné čtení!

Bližší informace: http://knihy.cpress.cz/…/mistrovstvi-v-microsoft-windows-server-2008/

Jak odstranit tiskový port typu WSD?

Tento typ portu se odstraňuje výhradně automaticky. Při pokusu o jeho ruční odebrání se zobrazí chybová hláška. WSD Port Monitor je novinka ve Windows Vista a Windows Serveru 2008.

Pokud vám zůstal viset v seznamu portů neaktivní WSD port, nainstalujte si fiktivní tiskárnu a připojte ji ručně k tomuto portu. Tiskárnu pak odeberte. Automaticky bude odebrán i port.

Více o WSD: http://blogs.technet.com/askperf/archive/2008/02/11/ws2008-the-wsd-port-monitor.aspx

Instalace Microsoft Office na terminálový server

Na vlastní kůži jsem si minulý týden vyzkoušel, že nainstalovat Office na terminálový server opravdu nejde. Potřeboval jsem otevřít několik dokumentů přímo na serveru, ale ouha. Neuvědomil jsem si, že na stroji běží role terminálového serveru.  Microsoft totiž tento scénář úmyslně blokuje. Asi by se mu nelíbilo, kdyby firma některého ze zákazníků nasadila tímto způsobem jednu licenci Office pro hromadné použití všem svým zaměstnancům. A tak jsem byl usměrněn hláškou vyobrazenou níže. Pro příště si to budu pamatovat:)

Pokud se budete v budoucnu pokoušet o něco podobného, pak vězte, že jediná verze Office provozovatelná na terminálovém serveru je Enterprise nebo Volume License. Pro ně existují i celkem zajímavé návody obsahující doporučená nastavení a postupy pro správné nasazení do terminálového prostředí.

Jak nastavit otevírání oken klienta Vzdálené plochy vždy na stejné pozici obrazovky?

Vzdálenou plochu využívá snad každý správce Windows a rozhodně nejen on. Jak ale servery přibývají, může se stát, že potřebujete spravovat více strojů vzdáleně najednou. Máte dva monitory a jednoduše chcete mít na levém monitoru otevřenu plochu jendnoho serveru a na pravém plochu druhého.

Klient Vzdálené plochy ale není tak admin-friendly, jak by mohl být. Otevřete jednu RDP session, následně druhou a zjistíte, že okna se překrývají. Přetáhnete tedy jedno na druhý monitor. Zjistíte, že okna nejsou maximalizovaná, a jsou zobrazeny scrollovací panely. Musíte tedy obě okna maximalozovat. Uf a teď se konečně můžete věnovat tomu, co je opravdu důležité – vašim serverům. Trošku zdlouhavý postup, nemyslíte? Obzvláště pokud ho absolvujete několikrát denně.

Pojďme si ukázat, jak nastavit, aby se na levém monitoru spustila plocha prvního serveru v rozlišení 1024×768 a na pravém plocha druhého ve stejném rozlišení. Předpokládejme, že máte na stole dva 24″ monitory, každý s rozlišením 1920×1200 bodů. Pro každou session uložte nastavení z klienta vzdálené plochy do .RDP souboru.

Otevřete textovým editorem .RDP soubory. Najděte sekci nesoucí údaj o rozlišení (desktopwidth a desktopheight), se kterým se budete na servery připojovat. Nastavení upravte pro oba na:

desktopwidth:i:1024
desktopheight:i:768

Nastavení RDP souboru pro okno otevírané na levém monitoru

Nejpodstatnější je sekce winposstr. Na první pohled je celkem záludná, ale nemějte obavy nás budou zajímat jen poslední čtyři číselné údaje. Ty nesou pozici okna vzdálené plochy na vaší stanici, ze které RDP sessionu otevíráte. Hodnota 2400 znamená, kolik pixelů od levého okraje levého monitoru bude umístěn levý okraj okna. Následující číslo 193 udává kolik pixelů je vzdálen horní okraj okna od horního okraje obrazovky. Třetí a čtvrtý údaj odpovídají vzdálenosti v pixelech pravého a spodního okraje okna vzhledem k levému hornímu rohu levého monitoru. Vztažný bod je tedy vždy levý horní roh levého monitoru.

winposstr:s:0,1,400,193,1440,997

Mezi těmito čtyřmi hodnotami platí následující pravidla.

1440 – 400 – 16 = 1024
pravý okraj okna – levý okraj okna – rezerva 16 pixelů = horizontální rozlišení vzd. plochy 1024 pixelů

997193 – 36 = 768
spodní okraj okna – horní okraj okna – rezerva 36 pixelů = vertikální rozlišení vzd. plochy 768 pixelů

Nastavení RDP souboru pro okno otevírané na pravém monitoru

Výška okna bude stejná, zajistíme tedy jen posun okna doprava. Nastavení by mohlo vypadat takto:

winposstr:s:0,1,2400,193,3440,997

Mezi těmito čtyřmi hodnotami platí následující pravidla.

34402400 – 16 = 1024
pravý okraj okna – levý okraj okna – rezerva 16 pixelů = horizontální rozlišení vzd. plochy 1024 pixelů

997193 – 36 = 768
spodní okraj okna – horní okraj okna – rezerva 36 pixelů = vertikální rozlišení vzd. plochy 768 pixelů 

Pokud jste se v tom všem ještě nezamotali, máte vyhráno. Podle výše uvedených vztahů můžete přepočítat hodnoty tak, aby odpovídali vašim požadavkům na rozlišení a umístění. Velikost rezerv je stále stejná. Budete tedy měnit jen požadované rozlišení okna vzdálené plochy a ona 4 čísla, udávající pozici okna klienta Vzdálené plochy.