HAVIT Knowledge Base

Vývoj webových aplikací, .NET, SQL, návrh
Welcome to HAVIT Knowledge Base Sign in | Join | Help
-
Home Články Forums Obrázky Soubory

Windows Server

Microsoft Windows Server + serverové služby na workstation

  • Task Scheduler - dvojí Stop task if it runs longer than...

    Pozor na Task Scheduler, pokud mu nastavujete limit "Stop task if it runs longer than". Ten limit je tam totiž dvakrát, a už jsem se několikrát napálil, že na jednom místě byl nastaven dostatečný a z druhého místa mi to task sestřelovalo a nedobíhal:

    1. Prvním místem je záložka "Settings" v dialogu vlastností tasku.
    2. Druhým místem jsou Advanced Settings v editaci nastavení Triggeru tasku (Pro každý trigger jde nastavit limit jiný, což je sice hezké, ale...)
  • 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 app-poolům IIS:

    iisapp.vbs

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

    appcmd list wp

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

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

  • NTBACKUP: Scheduled job failuje - médium není prázdné

    Pokud vytvoříme pomocí wizzardu full backup job zálohování na médium - schedulovanej na každý den - a předpokládáme, že budeme prostě jen cyklicky měnit média - tak nám po prvním cyklu zálohy přestanou probíhat, po chvilce pátrání se dostaneme k chybové hlášce "médium není prázdné".

    V základním nastavení ntbackup totiž média nemaže, což lze považovat za rozumné výchozí nastavení, nicméně pro náš případ nevhodné. Pokud bychom to neměli jako scheduled task, aplikace by se nás na smazání zeptala, nicméně takto job sfailuje.

    Řešením je přidání parametru /UM do příkazové řádky, kterou příslušný scheduled task provádí. Tím se vynutí smazání média před spuštěním zálohování.

  • IIS: Vytvoření žádosti o certifikát na website s existujícím certifikátem

    Pokud je potřeba vytvořit žádost, která obsahuje stejná data jako aktuální certifikát, není problém - na IIS se proces prokliká.

    Ovšem pokud je v žádosti třeba něco modifikovat (např. se změnil vlastník domény nebo jeho název), je potřeba vygenerovat žádost s novými údaji a to IIS neumí - nabízí pouze certifikát odebrat a to nechceme. Řešení spočívá ve vytvoření dočasné website, ke které žádost vytvoříme, návod je uveden na serveru Thawte pod kódem vs32621.

     

    Zde je kopie textu:

    To work around this problem without having to 'remove' the existing certificate from your web site, do the following:

    1. In IIS right click the 'Default Web Site' and click on 'New-->Site'

    2. Create a new site. You can give it a temporary name.

    3. Right click on this new site and go to 'Properties-->Directory Security-->Server certificate'

    4. Select 'Create a new certificate' and follow the wizard to create a new CSR, please refer to the following solution: vs27731

    5. Backup the Private Key file - very important, if no backup is made and the Private Key is lost, the certificate issued will not work. The Private Key backup instructions can be found in the following solution vs22515

    6. When you receive the certificate back, right click on this temporary site and go to 'Properties-->Directory
    Security-->Server certificate' and follow the wizard to 'process the pending request'

    7. Once the certificate has been installed, right click on the site where the certificate should go and click 'Properties-->Directory Security-->Server certificate'

    8. Select the option, 'Replace the current certificate'

    9. You will then be able to select the certificate that you have just installed

    10. Once installed we strongly advise you to make a backup of your certificate with its corresponding private key. View Solution vs22528

    For more information please see Microsoft's article at the following link: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q295281

  • Windows 2000 Server: Event ID 1202, SceCli, 0xd : The data is invalid.

    Tento warning se nám může množit v Application event logu, po aplikaci šablony zabezpečení Basicdc.inf. Potíž je v tom, že se tato šablona odkazuje na proměnné %SYSVOL%, %DSDIT% a %DSLOG", které však neexistují (existují jen během Dcpromo procesu).

    Stačí tedy tyto environment variables vytvořit. Výchozí složky jsou následující

    %SYSVOL% = C:\WINNT\SYSVOL
    %DSDIT% = C:\WINNT\NTDS
    %DSLOG% = C:\WINNT\NTDS

    ...a warning je pryč.

  • IIS6: Volba výchozích regionálních nastavení pro ASP stránky

    Můžeme se dočkat nepříjemností, pokud v ASP stránkách spoléháme na konkrétní regional-settings. Přesuneme-li aplikaci na server jiné lokalizace, nepomůže nám totiž ani nastavení Control Panel ~ Regional Settings (Ovládací panely ~ Regionální nastavení).

    Je v podstatě několik možností, jak správný region vnutit, nicméně na IIS5.1+ mi jako nejlepší přijde změna hodnoty AspLCID v IIS metabázi:

    \\LM\W3SVC\AspLCID

    Pro české regionální nastavení je správná hodnota 1029, hodnoty ostatních uvádí Microsoftí List of Locale ID (LCID).

    Související zdroje informací:

  • msdtc -resetlog řeší 99% problémů s Distributed Transaction Coordinatorem (MS DTC)

    Pokud nejde spustit služba Distributed Transaction Coordinator (MS DTC), bez které ostatně nefunguje skoro nic pořádně, pak mi osobně v 99% případech pomůže jednoduchý fígl z příkazové řádky

    msdtc -resetlog

    ...jak je již zřejmé, vyresetuje se tím log MS DTC (což mj. zlikviduje všechny pending transakce). Problém je obvykle vyřešen.

    Ostatně jedna z nepříjemných hlášek IIS "Server Application Error", kdy je v event logu cosi ve smyslu "The server failed to load application '/LM/W3SVC/1/ROOT'. The error was 'Class not registered'." se řeší právě takto.

  • adprep na Windows 2003 Server R2

    Ve všech postupech Microsoftu je krásně popsáno, jak se má použít utilita adprep pro přípravu Active Directory na Windows 2000 Serveru pro použití s Windows 2003 Serverem (ať už před upgrade nebo před prostým přidáním dalšího DC).

    Všechny návody však jaksi pomíjí, že na disku 2 Windows 2003 Serveru R2 je nová verze této utility a pokud použijeme tu z disku 1, o které všechny návody píšou, tak DC nepřidáme...

  • Intel Matrix Storage Manager instalace: File copying was not successful

    Při snaze instalovat Intel Matrix Storage Manager (6.0 i 5.7) anglickou verzi na Windows 2003 Server R2 anglický s českým regionálním nastavením a českým nastavením "Language for non-Unicode programs" instalátor vždy skončil na hlášce

    File copying was not successful.

    FileMonem jsem zjistil, že se instalátor pokouší číst soubory, které v instalační složce nejsou, přičemž problém bude zřejmě s jazykovou mutací. Zkusil jsem tedy stáhnout a instalovat z Multi-language instalátoru a vše šlo - až na to, že mi nutil češtinu.

    Nakonec jsem český MSM odinstaloval, přepnul volbu "Language for non-Unicode programs" na English a pak už fungoval i anglický instalátor.

  • FTP: Nastavení práv na složku pro příchozí soubory - /incoming

    Poměrně často dostávám dotaz, jak nastavit práva na FTP složku pro příchozí soubory - složku /incoming (i když já doporučuji jiný název, viz dále).

    V podstatě chceme dosáhnout toho, aby anonymní uživatel:

    • mohl do složky libovolně přidávat soubory,
    • mohl zobrazovat seznam souborů ve složce - chceme mu dát možnost, aby si ověřil, že jeho soubor byl úspěšně nahrán,
    • nemohl ze složky soubory mazat - nechceme přeci, aby nám kdokoli mohl smazat soubory určené pro nás,
    • nemohl ze složky číst - nejenom, že nechceme, aby nám někdo cizí mohl číst soubory určené pro nás, ale navíc bychom si povolením čtení připravili hodně krušné chvíle - roboti totiž pravidelně procházejí FTP servery a přímo vyhledávají takovéto složky, kde je povolen zápis a čtení - v případě úspěchu se velmi rychle stanete uložištěm pro warez, videa a jiné nechtěné soubory.

    Právě z posledního uvedeného důvodu, kdy se roboti zaměřují převážně na složku /incoming a ostatní složky pro zrychlení ignorují, doporučuji pojmenovat složku pro příchozí soubory jinak. V českém prostředí například /prichozi.

    A teď jak na práva:

    • práva budeme nastavovat účtu anonymního uživatele (obvykle IUSR_SERVER),
    • práva aplikujeme přímo na složku pro příchozí soubory - /incoming, /prichozi,
    • nevystačíme si se standardní záložkou Vlastnosti ~ Zabezpečení, ale musíme dát "Upřesnit",
    • vytvoříme pro anonymního uživatele pravidlo, kde Použít pro nastavíme na Tato složka a podsložky (standardně je to totiž Tato složka, podsložky a soubory) a povolíme vše mimo
      • Full Control - Úplné řízení,
      • Delete Subfolders and Files - Odstraňovat podsložky a soubory,
      • Delete - Odstraňovat,
      • Change Permissions - Měnit oprávnění
      • a Take Ownership - Přebírat vlastnictví.
    • ještě můžeme zvážit práva Zapisovat atributy, popř. Zapisovat rozšířené atributy, ale to už celkem není nic proti ničemu.
    • musíme si dát také pozor, jestli se nám z nadřazené složky nedědí nějaká další práva, ale nebývá to obvyklé (spíše by se dalo považovat za chybu, kdyby anonymní uživatel měl na kořenovou složku FTP serveru nějaká práva, která by se dědila na podsložky).

    Tím, že pravidlo aplikujeme pouze na objekty typu složka, nikoliv na soubory, dosáhneme právě toho, že uživatel sice všechno uvidí, ale nebude moct číst jednotlivé soubory.

    Také si dejte pozor, jestli Vám nevznikají práva k souborům nějakým jiným děděním, klasickou chybou jsou třeba práva pro CREATOR OWNER.