Category Archives: IT Stuff

IIS: Jaký w3wp.exe patří k jakému AppPoolu?

Na IIS6 existoval ve složce System32\ jednoduchý skript k vypsání seznamu worker-procesů a jejich příslušnosti k jednotlivým application poolům IIS:

iisapp.vbs

Na IIS7 už tento skript není, ekvivaltentní příkaz z System32\inetsrv\ však je

appcmd list wp

image

Exchange 2010: Pomalý relay (MaxAcknowledgementDelay)

Po upgrade na Exchange 2010 se razantně zpomalil relay mailů z našich aplikací skrz Exchange (SMTP forwarding).

Jak se ukázalo, řešením je přepínač MaxAcknowledgementDelay na příslušném receive-connectoru:

Set-ReceiveConnector "Connector Name" -MaxAcknowledgementDelay 0

MaxAcknowledgementDelay určuje, jak dlouho může Exchange zdržet session, aby jí oznámil výsledek odeslání. Oficiální dokumentace říká:

The MaxAcknowledgementDelay parameter specifies the maximum period the transport server delays acknowledgement until it verifies that the message has been successfully delivered to all recipients. When receiving messages from a host that doesn’t support shadow redundancy, an Exchange Server 2010 transport server will delay issuing an acknowledgement until it verifies that the message has been successfully delivered to all recipients. However, if it takes too long to verify successful delivery, the transport server will time out and issue an acknowledgement anyway.

Osobně to laicky interpretuji tak, že Exchange se při relayingu snaží přijatý mail rovnou i odeslat, tak, aby té iniciující session rovnou oznámil, jestli se to podařilo. A výše uvedený časový limit říká, jak dlouho na to Exchange má, jinak inciující session pokračuje, aniž by se o výsledku odeslání přímo dozvěděla. Nastavením na 0 se řekne, že odesílající aplikace nemá zájem se problém dozvědět hned, ale holt kdyžtak dojde na NDR (Non-Delivery-Report).

Každopádně odesílání 13.000 mailů našich newsletterů z business.center.cz se z hrůzostrašného tempa 1 mail/3-10 sec vrátilo na původní čísla známá z Exchange 2007, tedy zhruba 30 minut na všechny maily (což mimochodem není nic proti dávným dobám, kdy jsme používali Merak Mail Server, a ten to dokázal převzít do fronty zhruba za 5 minut, ale to je holt jiná kategorie).

Exchange 2010: Přístup Domain Admins na ActiveSync (Error 0x85010004, InvalidPolicyKey)

Pokud Vám ActiveSync hlásí chybu 0x85010004 a jste Domain Admins, pak vězte, že jedna z tajnůstek Exchange 2010 říká, že Domain Admins účty mají tento přístup zakázaný.

Obejít se to dá takto:

  1. Vezměte Active Directory Users and Computers konzoli
  2. Přepněte si režim na View / Advanced Features
  3. Odeberte uživateli skupinu Domain Admins, OK
  4. Otevřete znovu uživatele a na záložce Security jděte na Advanced a zaškrtněte Include inheritable permissions from this object’s parent, OK, OK, OK
  5. Přidejte si zpět Domain Admins
  6. …a Active Sync jede

Lenovo ThinkPad X201 první dojmy po týdnu

Pořídil jsem si před týdnem nový notebook Lenovo ThinkPad X201. Jde o 12″ notebook z kategorie ultra-portable, který nahradil můj dosavadní Acer TravelMate 6292. Na 12″ jsem tedy zvyklý, jako hlavní počítač mám klasické PC.

Původně jsem pokukoval po Dellu, ale ty jsou ve 12″ o generaci zpět a o řád dražší (sleva se z nich dá vydyndat velká, ale tady by museli jít na 40%, aby vůbec byly konkurenceschopní).

X201 jsem koupil za cenu cca 31.000 Kč včetně dockovací stanice, a hned jsem v něm vyměnil disk za SSD OCZ Summit 120 GB, který jsem za vzal ze svého velkého PC a do něj si koupil novější SSD Intel. Samozřejmě jsem vyházel předinstalovaný OS s haldou bordelu a instaloval čisté Windows 7 64-bit EN, i když jsem do nich nakonec docela dost původních driverů a utilit Lenovo doinstaloval (neinstaloval jsem třeba Toolbox).

Po týdnu nepřílliš intenzivního používání jsou moje první dojmy tyto:

+ váha – važí zhruba 1.5kg, což je prostě bezva,

+ DVD-RW v dockovací stanici je fajn, určitě sebou nepotřebuji vláčet optickou mechaniku, ale doma, kde jiný počítač nemám, se hodí,

+ výdrž baterie vypadá na něco kolem 4-5 hodin podle jasu displaye; UPDATE: Dnes jsem s vypnutou WiFi pracoval 4 hod v kuse s Wordem a baterie za tu dobu klesla ze 100 na 50%. Výdrž tedy vypadá dost dobře…

+ konektivita – WiFi chodí luxusně a vestavěné 3G jsem zkoušel jen krátce, ale v kanceláři jsem natočil tuším 1800/400kbps na Vodafone

+ rychlost – velmi slušná

+ nezahřívá se

+/- klávesnice – má plnou velikost a dobré rozložení, je ale dost tvrdá a ještě jsem si nezvykl na rozložení (Esc, PgUp/Down, Fn/Ctrl), zatím s ní dost bojuji, uvidíme

+/- provedení – jde o ThinkPad klasiku, takže matná kvalita náchylná na poškrábání, baterie potřebovala podlepit, aby se nekvrdlala, prostě obvyklý bytelný ThinkPad s obvyklými mouchami. Překvapilo mě jenom nepřesvedčivé spasování víka, které se při otevírání kroutí a rozevírá

+/- display – displaye ThinkPadů nepatří mezi elitu, nicméně žádné problémy nepozoruji a zatím jsem jen subjektivně trochu bojoval s ClearType, nebo spíše té rozmazanosti písma v Lenovo utilitách

– malý touchpad – díky horním tlačítkům pro trackpoint na touchpad moc místa nezbylo

– chybí samostatné tlačítko na zapnutí/vypnutí WiFi, buď se dá vypínat společně s 3G/BT, nebo na více kliknutí, což bylo u Aceru lepší

– nemá HDMI

– při připojení na monitor přes dockovací stanici nepříjemně pobrukuje při aktivitě (jako kdyby vrčel disk, kdyby to nebylo SSD), bez docku jsem to ještě nezkoušel, ale při noční práci to v úplném tichu nepříjemně ruší

– při připojení na monitor přes dokovací stanici obraz velmi často na monitoru problikává, nějak se nechytá synchronizace, nebo co. Dělá to při DVI i při VGA připojení. Spolehlivý workaround: Stačí na chviličku přepnout režim na Duplicate (Win+P) a pak zase zpět na Projector only. Blikání přestane.

– dokud si nevypnete Power Management na grafickém rozhraní (Intel), tak při práci na baterie občas při změně obsahu obrazovky LCD najednou velmi přepálí kontrast (jestli si dobře pamatuju projev). Hlásí to davy uživatelů a jediným nalezeným workaroundem je vypnutí PM na grafice.

…uvidíme, jak se osvědčí dále.

iPad: Vypadávání DNS po probuzení ze spánku

Můj první problém s manželky iPadem spočíval v tom, že po probuzení ze spánku nefungovalo DNS resolvování.

Přímý přístup přes IP adresy šel. Pomáhalo odpojení/připojení do sítě nebo restart.

Co jsem tak vygooglil, tak je to known-issue a první doporučení vedlo na nastavení OpenDNS serverů místo vlastního lokálního DNS. To nepomohlo, pomohlo až vypnutí Automatic Brightness displaye(doufám definitivně, zatím to chodí, DNS jsem vrátil na svou obvyklou).

Prý je stejný problém i na iPhonech, nevím, ten nemám.

Propojení počítače s receiverem a TV pomocí HDMI: Jak na 5.1 zvuk – SPDIF

Vloni jsem v jiném článku řešil, jak propojit počítač a televizí pomocí HDMI. Už tehdy jsem si udělal názor, že propojení výpočetní techniky s technikou spotřební není pro běžného smrtelníka jednoduché. Nejinak je tomu, pokud svou techniku rozšíříme ještě o A/V receiver – další zařízení, další problém.
HDMI umí přenést zvuk v digitální podobě, používá se k tomu rozhraní SPDIF. Ovšem jak dostat zvuk do výstupu umístěného na grafické kartě? Jde to, návod je však různý pro grafické karty nVidia a ATI.

Problém první: Jak dostat vůbec nějaký zvuk do HDMI

Některé grafické karty nVidia mají z boku nedokumentovaný dvoupinový konektor, který slouží jako vstup pro digitální zvuk. Grafická karta do signálu nijak nezasahuje, pouze jej propojí na výstup, tedy pošle jej do HDMI kabelu. Ověření existence konektoru před koupí grafické karty není jednoduché, nezkoumal jsem detailně, ale nevzpomínám si, že bych informaci o něm běžně vídal ve specifikacích (ale to se možná mýlím).
Ale kde vzít digitální zvuk? Můžeme jej mít na zvukové kartě (na mé Audigy ZS 2 se nachází mezi piny pro připojení front panelu, rozložení pinu nutno najít na internetu), navíc dnes bývá digitální SPDIF výstup integrované zvukové karty i na základní desce. Umístění je nutno najít v manuálu k základní desce.
Takže výstup integrované nebo samostatné zvukové karty propojíme s grafickou kartou nVidia. K propojení jsem použil kabel s dvoupinovým konektorem, našel jsem kabel sloužící v dobách minulých k propojení CD-ROM mechaniky se zvukovou kartou. Polaritu kabelu nutno tipnou, při testech integrované zvukové karty i Audigy se mi to ani jednou nepovedlo napoprvé, naštěstí jsem si nic neodpálil.
Grafické karty ATI řady HD (snad všechny dnes prodávané modely) jsou vybaveny zvukovým kodekem, tváří se tedy jako samostatná zvuková karta. Problém s hledáním vstupů a výstupu digitálního audiosignálu a „drátování“ zde odpadá. Namísto toho je nutno nainstalovat ovladače této zvukové karty a případně ji pak nastavit jako primární.
S grafickými kartami ATI nemám žádnou zkušenost, zmíněné jsem našel na internetu při hledání řešení zde popisovaného problému.

Problém druhý: Jak dostat na výstup zvuk 5.1 (rozumněj DTS, DD+, apod.)

Do HDMI kabelu jsem dostal zvuk výše uvedeným postupem (pro nVidia), ale receiver hlásí „STEREO“ ať pustím jakýkoliv film.
Celý trik je jednoduchý, pokud víme, jak na to. Stačí prostě nainstalovat AC3Filter a nakonfigurovat jej. Jako základ jsem použil tento návod.
Na záložce Main:

  • Output format: AS IS (no change)
  • Rate: AS IS (no change)
  • Format: PCM 32 bit
  • Use SPDIF: ano (zaškrtnout)

Na záložce System:

  • Use AC3 Filter for: zašrktat vše
  • Prefer AC3Filter
  • Use Direct Sound by default
  • Show tray icon
  • Check output format support

Na záložce SPDIF:

  • Output format: stejně jako na záložce Main
  • SPDIF passthorugh: zvolit AC3 a DTS
  • SPDIF/DTS mode: Padded DTS
  • SPDIF/DTS conversion: Do not convert
  • SPDIF options: zaškrtnout vše, ale ne Output SPDIF as PCM ani 32kHz
  • DirectShow options: Check output format support

Ve Windows Media Playeru 12 (ve Windows 7) netřeba provádět další nastavení.
Ve Windows Media Player Classic – Home Cinema jsem provedl tato nastavení:

  • v nastavení Filter Settings jsem vše odškrtal
  • vypnul jsem Audio Switcher
  • v External filters jsem přidal AC3Filter.

Proč to funguje? Dobře to vysvětluje dokumentace AC3Filter & SPDIF, kterou doporučuji přečíst, pokud chcete toto řešení pochopit. Zjednodušeně: Samotné Windows umí do SPDIF poslat jen stereo v kódování PCM, ať je zdroj jakýkoliv. Pokud chceme něco jiného, je třeba aplikaci přenosový kanál pro digitální zvuk vyhradit exkluzivně. To mj. řeší právě AC3Filter.
(Windows 7, Windows Media Player 12, Media Player Classic – Home Cinema, AC3Filter)

 

Attachment: system.png

Exchange Shell: Skript pro přesun public folders mezi dvěma Exchange servery (Replicas)

Potřebovali jsme přesunout veřejné složky (Public Folders) mezi dvěma Exchange servery, konkrétně z 2007 na 2010.

Postupů je na netu k nalezení mraky, nicméně obecně je jako jeden z kroků potřeba naklikat všem složkám nebo naskriptovat změnu Replication z jednoho serveru na druhý (z jedné DB na druhou).

Mělo by to jít pomocí skriptu MoveAllReplicas.ps1, z kterého se volá ReplaceReplicationOnPFRecursive.ps1, nicméně nám se tyto skripty v připravené podobě rozchodit nepodařilo.

Inspirovali jsme se však jejich obsahem a tak vzniknul níže uvedený primitivní skript na přenastavení všech replikací na cílový server:

$dbNew = get-publicfolderdatabase -server $newServer -erroraction Stop
$getpfcmd = "get-publicfolder -server $oldServer -identity $TopPublicFolder -Recurse -resultsize unlimited"

$tempik = invoke-expression $getpfcmd
$tempik | foreach {
    $_.Name;
    $_.Replicas.Clear();
    $_.Replicas += $dbNew.Identity;

    $_ | set-publicfolder -server $oldServer -replicas $_.Replicas
}

…výše uvádím snippet kódu, který představuje podstatnou výkonnou část. Před spuštěním je potřeba nastavit $oldServer, $newServer a $topPubliFolder (obvykle na zpětné lomítko).

Outlook 2010: Při kliknutí na hyperlink v mailu se zobrazí „This operation has been cancelled due to restrictions in effect on this computer.“

Pachatelem problému je pravděpodobně prohlížeč Chrome (resp. jeho „interakce“ s registry a Outlookem).
Postup řešení je jednoduchý:

  1. Spustit editor registrů (regedit)
  2. Otevřít větev HKEY_CURRENT_USER\Software\Classes\.html
  3. Kliknout pravým tlačítkem na položku .html a zvolit upravit.
  4. Změnit hodnotu z „ChromeHTML“ na „htmlfile“ (nebo z čehokoliv jiného na „htmlfile“)
  5. To samé pro .htm, .shtml a .xhtml

Konfigurace: Microsoft Windows 7 x64, IE8, Microsoft Outlook 2010 x64.

Pozor na IIS Application pool: Maximum Worker Processes (Web Garden)

V nastavení application poolu na IIS je zastrčeno jedno nastavení s výchozí hodnotou 1, které je poměrně zrádné, pokud ho někdo změní a neví, co to přesně znamená.

Jde o volbu „Maximum Worker Processes“ a neznalé svádí tuto hodnotu z jedničky zvětšit na vyšší číslo.

Co to však ve skutečnosti znamená – jde o to, že IIS pustí pro Application Pool více instancí Worker Processu (w3wp.exe), které jsou navzájem izolované. Vznikne tak více nezávislých instancí aplikací běžících na daném Application Poolu a celé se to začne chovat jako Web Garden (= lokální virtuální Web Farm na jednom serveru). Následky jsou pak prakticky stejné, jako běh aplikace na webové famě – instance aplikace mezi sebou nezdílí kontext (Application, Cache, in-proc Session, atp.).

Protože každý Váš request pak může vyřdit jiná instance aplikace, projevy mohou být např. následující:

  • ztrácí se Vám Session, pokud používáte výchozí InProc session (hodnoty Session jsou uloženy na jiném „serveru“, než který vyřizuje aktuální request),
  • nefunguje dobře cachování (každý „server“ si udržuje vlastní cache a musí se tedy naplnit tolik cachí, kolik „serverů“ Vám běží),
  • ztrácí se Vám hodnoty Application contextu (opět stejný důvod),
  • nefungují Vám grafy DevXpress (protože si obrázek ukládají do lokálního contextu v okamžiku renderování stránky s grafem a požadavek browseru na obrázek grafu se dostane na jiný „server“),
  • atp. atp.

Osobně v běžném provozu nenacházím scénář, kde by Maximum Worker Processes mělo být nastaveno jinak než na 1. Dokážu si představit jedině, že někdo chce záměrně testovat chování své aplikace na webové farmě, nebo nějaké obskurní důvody s unmanaged componentami, nebo řešením nedostatečné thread-safety aplikace.

Instalace Windows 7 pomalá nebo končí černou obrazovkou

Při instalaci Windows 7 jsem se potýkal se dvěma problémy:

Instalace velmi pomalá

Na zobrazení každého dialogu se čekaly minuty, ke kopírování souborů jsem se nedostal, tak trpělivý jsem nebyl. Problém byl vyřešen vypnutím floppy disku v BIOSu (setupu) počítače. Floppy disk nemám.

Instalace končí černou obrazovkou

Druhý problém byl kurióznější. Instalace probíhala naprosto pohodově a svižně. Vše se na počítač nakopírovalo, po restartu se provedly další kroky. V okamžiku, kdy jsem se již měl přihlásit, najednou instalace skončila černou obrazovkou. Po všech možných pokusech (a dalších instalacích) jsem si všiml, že Windows vyhodnotili divně prioritu monitorů a jako primární označili přes HDMI zapojenou televizi televizi, přestože byla vypnutá. Instalace tedy proběhla korektně, přihlašovací dialog byl na televizi a sekundární monitor nic nezobrazoval. Po přihlášení stačilo jen změnit hlavní monitor.