Category Archives: IT Stuff

Css styly a obrázky nefungují v IIS7

Instalace IIS7 ve Windows Vista obsahuje více možností než tomu bylo dříve. V dobré víře jsem si zvolil nástroje pro správu a podporu ASP.NET v minimalistické podobě.

Díky podpoře nainstalovené podpoře ASP.NET fungovaly webové aplikace, ovšem statický obsah (jako jsou právě obrázky nebo soubory kaskádových stylů) prohlížeč neobdržel. Při zadání libovolné URL na statický obsah (například i adresa k obrázku, který ani na disku není) prohlížeč nezobrazí nic (i zdrojový kód stránky je prázdný).

Aby IIS7 poskytoval statický obsah, je nutné mezi instalovanými komponentami IIS zvolit i „Statický obsah“.

Nastavení portu služby Remote Desktop

Nastavení portu, na kterém poslouchá služba Remote Desktop, se nachází v registrech zde:

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber

Office: Změna product key

Po instalaci Office (2007, ale bude to stejné) mi byla odmítnuta aktivace, z té haldy našich MSDNek jsem vybral použité číslo. Aktivace byla odmítnuta, možnost změny product key pomocí UI jsem však nikde nenašel.

Pomůže tedy smazání následujícího klíče z registrů:

HKLM\SOFTWARE\Microsoft\Office\12.0\Registration\{GUID}\DigitalProductID

Při následném spuštění kterékoliv aplikace z Office se spustí Office-instalátor, který se zeptá na nový Product Key a následně se sice ptá na „instalaci“, nicméně ve skutečnosti udělá jen konfiguraci a PK je nastaven. Opakované spuštění Office aplikace vyvolá možnost aktivace s novým PK.

Update pro Office 2013

Product key pro Microsoft Office 2013 lze změnit bez zásahu do registrů. Z ovládacích panelů zvolit Programy a funkce, zde  najít Microsoft Office 2013, kliknout pravým tlačítkem myši, zvolit Změnit. V zobrazeném dialogu vybrat „Zadat kód Product Key“.

InstallShield: Chyba -5006 nebo -5009, Kernel\CABFile.cpp, SetupDLL\SetupDLL.cpp

V průběhu jedné instalace řízené InstallShieldem mi lehnul počítač a dostal se do inkonzistentního stavu spočívajícího v tom, že opakovaný pokus o instalaci okamžitě (už při startu InstallShieldu) spadnul s chybou -5006. V podrobnostech chyby pak bylo cosi o souborech Kernel\CABFile.cpp a SetupDLL\SetupDLL.cpp, něco jako:

Error Code: -5006 : 0x80030005 
Error Information: 
>Kernel\CABFile.cpp (758)
>SetupDLL\SetupDLL.cpp (1182) 
PAPP: ... 
PVENDOR: ...
PGUID: ...

Jak jsem následně zjistil, na tuto chybu padají veškeré další instalace InstallShieldu (nebo chybu -5009 s problémy u stejných souborů).

Nakonec pomohlo zlikvidovat složku %ProgramFiles%\Common Files\InstallShield\ (nebo raději jen přejmenovat). Následující installer si tuto složku InstallShieldu založil znovu a vše chodilo správně.

Je to taková střelba od boku, nicméně přesně takhle to pomohlo, a pokud to uděláte jen jako přejmenování, abyste to případně mohli vrátit do původního stavu, tak to určitě za pokus stojí.

Vypnutí beeperu aneb jak udělat, aby počítač po změně hlasitosti nepípal

Beeper způsobuje pípání počítače z Windows, zejména na velmi nežádoucím místě – po změně hlasitosti ve standardním ovládání hlasitosti. Naštěstí lze beeper vypnout a to tímto postupem:

  • Spustit správce zařízení
  • V menu zobrazit vybrat Zobrazit skrytá zařízení
  • Najít Beeper v sekci Ovladače nepodporující technologii Plug and Play
  • Pravé tlačítko a vlastnosti beeperu
  • Kliknout tlačítko zastavit
  • Vybrat ze seznamu Typ položku Zakázáno
  • Potvrdit, že jsme si jistí a že chceme restartovat počítač

Postup ověřen ve Windows XP.

dcgpofix – Rebuild Default domain policy a Default domain controllers policy

dcgpofix je „Default Group Policy Restore Utility“, utilita Windows Serveru 2003, která umožňuje obnovit Default Domain Security Policy (Zásady zabezpečení domény) a Default Domain Controllers Security Policy (Zásady zabezpečení řadičů domény) do výchozího stavu po instalaci, a to nejenom pokud si rozhážeme nastavení do neudržitelného stavu, ale i v případě, že jsou tyto GPO poškozeny, nebo smazány.

Základní syntaxe je

dcgpofix [/ignoreschema][/target: {domain | dc | both}]

Viz též podrobnější info o dcgpofix od Microsoftu.

Pro Windows 2000 existuje též postup, i když mnohem drsnější.

load needed DLLs for kernel

Server mně dnes obdařil krásnou hláškou:

Windows NT could not start because of an error in the software.
Please report this problem as :
load needed DLLs for kernel.
Please contact your support person to report this problem.

Problém je v zásadě vždy ten, že je problém se souborem hal.dll, ntoskrnl.exe nebo oběma (nachází se oba v <systemroot>\system32\).

V podstatě je potřeba tyto soubory dát do pořádku, tedy buď přes Recovery console, expandem z instalačního disku, atp.

Mě se osvědčilo Ultimate Boot CD (UBCD), které mělo na sobě dokonce ovladače na IH7R RAID, takže jsem si odpustil i šachování s disketami atp.

Nějak se mi vysypala struktura disku, složka System32 končila písmenem M, další soubory nebyly. Problém se mi podařilo vyřešit už samotným

chkdsk c: /f

… z Ultimate Boot CD.

Viz též Microsoftí Q164448.

Podepisování maker v Excelu

Čas od času je potřeba do dokumentu excelu (nebo nějakého exportu) vpravit makro. Uživatelé pak musí potvrzovat, že chtějí dokument skutečně otevřít, přestože obsahuje makra.

Toto lze usnadnit podepsáním maker, je pak rozpoznán zdroj makra (podepsáno shodným certifikátem) a stačí, aby uživatel povolil otevření dokumentu s makry jen jednou. Nastaví-li uživatel „Vždy důvěřovat makrům z tohoto zdroje“, není upozorněním o makrech příště obtěžován.

Import certifikátu

Pokud požádáme o certifikát cartifikační autoritu (zde např. Thawte), při tvorbě žádosti nám prohlížeč na disk vyrobí privátní klík k certifikátu. Poté, co je naše žádost vyřízena, je potřeba importovat vyrobený certifikát do systému. Certifikát od CA však neobsahuje privátní klíč, což je z principu správně. Abychom mohli podepisovat makra, musíme do systému importovat certifikát získaný od CA spolu s privátním klíčem – potřebujeme tedy soubory propojit.

Importovat certifikáty popsaným způsobem lze pomocí Office 2000 Tool: PVK Digital Certificate Files Importer. Po stažení a instalaci pustíme z příkazového řádku:

pvkimprt "c:\example directory\mycertificate.spc" "c:\privatekey\mycertificate.pvk" 

čímž certifikát importujeme i s privátním klíčem.

Upozornění: Instalační program se jmenuje shodně jako instalovaný program (pvkimprt), tak pozor, co se z příkazové řádky pouští!

Podepsání maker

Makra se potom v excelu podepíší tímto způsobem:

  • Otevřít dokument podepisovanými makry
  • Menu Nástroje, Makro, Editor jazyka Visual Basic
  • Menu Tools, Digital Signature…
  • Zvolit…
  • Vybrat importovaný certifikát
  • Potvrdit okna

Makra jsou podepsána až při uložení dokumentu, tzn. že případné chyby nejsou oznámeny při zavírání oken, ale až při ukládání.

Poznámka: Podepsaná makra fungují i při uložení a následném otevření nejen ve formátu XLS, ale např. i v MHT.

Scheduled task lze spustit pouze ručně, status „Could not start“, 0x80070569: Logon failure

Naplánovaná úloha (Scheduled taks, např. zálohování) lze spustit pouze ručně (pravým tlačítkem Run), ale namísto naplánovaného spuštění je při detailním zobrazení označena stavem „Could not start“ („Nelze spustit“) a chybovým kódem 0x0.

Pokud se podíváme do logu scheduleru (Advanced ~ View log, Upřesnit ~ Zobrazit protokol), pak tam najdeme něco jako:

Backup.job" (NTBACKUP.EXE) 10/12/2006 3:00:00 AM ** ERROR **
    The attempt to log on to the account associated with the task failed, therefore, the task did not run.
    The specific error is:
    0x80070569: Logon failure: the user has not been granted the requested logon type at this computer.
    Verify that the task's Run-as name and password are valid and try again.

resp.

Zálohování.job (NTBACKUP.EXE) 18.11.2004 3:00:00 ** CHYBA **
    Pokus o přihlášení k účtu přidruženému k úloze se nezdařil. Úloha nebyla spuštěna..
    Příslušná chyba:
    0x80070569: Přihlašovací chyba: Uživateli nebyl v tomto počítači udělen požadovaný typ přihlášení.
    Ověřte, zda jsou údaje Spustit jako a heslo platné, a akci opakujte..
Příčina a řešení

Příčina je v zásadách zabezpečení. Účet, pod kterým se má úloha spouštět, nemá nastaveno právo„Logon as batch job“ („Přihlásit jako dávkovou úlohu“). Je tedy potřeba prohlédnout lokální a doménové zásadný zabezpečení a právo účtu přidělit.

Manage auditing and security logs (SeSecurityPrivilege) chybí/mizí

Pokud skupině Exchange Enterprise Servers chybí právo „Manage auditing and security logs“ (SeSecurityPrivilege), což lze snadno ověřit utilitou \SUPPORT\EXDEPLOY\policytest.exe z Exchange CD, pak nám nastávají závažné potíže. Obyčejně nám začne failovat spouštění Exchange služeb, především Information Store.

Do logu můžem dostávat:

Event ID 7024, Service Control Manager:
   „The Microsoft Exchange Information Store service terminated with service-specific error 0 (0x0).“

Event ID 1121, MSExchangeIS:
   „Error 0x80004005 connecting to the Microsoft Active Directory.“

Event ID 5000, MSExchangeIS:
   „Unable to initialize the Microsoft Exchange Information Store service. – Error 0x80004005.“

Event ID 2103, MSExchangeDSAccess:
   „Process MAD.EXE (PID=2356). All Global Catalog Servers in use are not responding:“

…a podobné

Můžeme to snadno napravit setup.exe /domainprep, nicméně někdy ani to trvale nepomůže a dost krušné chvíle nám mohou nastat, pokud toto právo po čase mizí (policytest.exe nejdřív OK, později failuje).

Naštěstí už je člověk naučený, že pokud nějaké právo samovolně mizí, jsou prvním podezřelýmzásady zabezpečení (lokální, doménové, …). Je tedy potřeba ohlídat, aby nám zásady zabezpečení právo „Manage auditing and security logs“ pro doménovou skupinu „Exchange Enterprise Servers“ nelikvidovaly (je to v User Rights Assignments).