Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Oprava opakovaného vyžádání obnovovacího klíče Bitlocker

Dnes jen malá poznámka o problému, se kterým se setkávám a to je, když nástroj Bitlocker si vyžádá kód pro obnovení i po správně zadaném hesle. Nejčastěji je na vině aktualizace, BIOS bez pozastavené ochrany, ale někdy i ovladačů nebo pouze systému. Níže představím rychlé řešení, které lze aplikovat z běžícího systému, nebo z WinPE po odemčení jednotky, viz starší článek.

Začne řešením pro případ, že jednotka se odemyká automaticky pomocí TPM.

manage-bde -protectors -delete C: -Type TPM
manage-bde -protectors -add c: -tpm

Případ, kdy kombinujeme TPM a PIN je obdobný, příkazy níže:

manage-bde -protectors -delete C: -Type TPMAndPIN
manage-bde -protectors -add c: -TPMAndPIN

Byť to nemusí být nezbytné, doporučuji po této operaci znovu zálohovat klíč pro obnovu. Jak tomuto stavu předcházet? Na 100% to nelze, ale nejčastěji je na vině aktualizace BIOS, proto před jejím započetím doporučuji Bitlocker pozastavit a po jejím dokončení opět obnovit ochranu.

Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Řešení problému bootrec /fixboot access deny

Tento problém nastává v případě, že je potřeba opravit boot záznamy systému pro UEFI. Tento problém se týká oddílu EFI na disku využívající strukturu GPT. Podotýkám, že zde uvedený postup je až posledním řešením, často stačí příkaz chkdsk, ale pokud je potřeba provést bootre /fixboot a chybu nejde ignorovat, jde o opakovanou opravu bootu, jak jej můžete zkusit. V příkazové řádce WinRE prostředí postupujeme následovně:

  1. diskpart
  2. list vol
  3. sel vol <číslo jednotky UEFI>
  4. assign letter U
  5. exit
  6. cd /d U:\
  7. format U: /FS: FAT32
  8. bcdboot c:\windows /s U: /f UEFI
  9. cd /d u:\EFI\Microsoft\Boot\
  10. bootrec /fixboot

Často stačí skončit krokem 8, protože z adresáře systému Windows jsou do UEFI oddílu nahrány zcela nové Bootovací soubory. Když to nezabere, dokončíme všech 10 kroků.

Posted in: Windows 10, Windows 11, Windows server

Odebrání serverů ze Server management konzole

Tento článek se týká Windows Serverů (verze 2012 a novější) instalované s GUI a klientských systémů Windows s instalovaným RSAT.

Konzole sama obsahuje možnost přidat servery a vytvořit skupiny serverů, do nichž je možné servery přidávat. Bohužel zde chybí možnost z této praktické konzole servery odebrat, což se ve spoustě případů může hodit. Postup odebrání je tedy následovný:

  1. příkaz: cd %userprofile%\AppData\Roaming\Microsoft\Windows\ServerManager
  2. Otevřít (k editaci, třeba Notapadem): ServerList.xml
  3. Smazat XML záznam pro server, který chceme odstranit
  4. Uložit
Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Obnova Windows z Windows.old

Vrátit se k předešlé verzi systému po jeho upgrade je možné poměrně jednoduše v případě klientských Windows pomocí nastavení.

Alternativou k tomu grafickému postupu je pak příkaz:

DISM /Online /Initiate-OSUninstall /Quiet

Oba výše zmíněné postupy platí pro Windows 10 verze 2004 a novější i pro Windows 11, ale jak postupovat u Windows 8 a starších, nebo u serverových systémů?

Ruční obnova systému z Windows.old

Pro tento úkon je potřeba zařízení spustit z instalačního média systému Windows, nebo restartovat do WinRE prostředí. V případě instalačního média spustíme příkazovou řádku pomocí [Shift] + [F10], nebo pomocí volby opravit počítač, kde se nabídne prostředí WinRE. Text níže předpokládá, že i v tomto prostředí má systémový oddíl písmeno C, ověřit to můžeme nástrojem diskpart.

Začneme odstraněním adresářů nového systému (složku C:\users mažeme jen tehdy, když bylo upgradováno BEZ zachování uživatelských souborů). K mazání používáme následující sadu příkazů:

rmdir /s /q "c:\PerfLogs"
rmdir /s /q "c:\Program Files"
rmdir /s /q "c:\Program Files (x86)"
rmdir /s /q "c:\Windows"
rmdir /s /q "c:\ProgramData"
rmdir /s /q "c:\Users"

Nyní nastal čas na to, abychom přesunuli původní (v příkladu x64) systém na disk C.

move /y c:\Windows.old\Windows c:\
move /y "c:\Windows.old\Program Files" c:\
move /y "c:\Windows.old\Program Files (x86)" c:\
move /y c:\Windows.old\ProgramData c:\
move /y c:\Windows.old\Users c:\
move /y "c:\Windows.old\Documents and Settings" c:\
xcopy c:\Windows.old c: /s /e /h

V tuto chvíli máme sice na disku C vybalený zpět původní systém, ale nešlo by z něj nastartovat. Musíme ještě opravit Boot.

Oprava Boot pro UEFI

Pomocí následujících příkazů nalezneme oddíl UEFI a přidělíme mu písmeno:

diskpart
list vol

Nyní najdeme UEFI oddíl, jeho velikost je cca 100 MB a využívá formát FAT32. Jeho číslo budeme potřebovat dále.

sel vol <number of volume>
assign letter=U:
exit

Nyní již můžeme k vlastní konfiguraci Bootu pro UEFI.

cd /d U:\EFI\Microsoft\Boot\
bootrec /FixBoot
ren BCD BCD.old
bcdboot c:\Windows /s U: UEFI

Pokud nemáte systémový oddíl jako C, doplňte místo C do posledního příkazu písmeno vašeho systémového oddílu. Pokud příkaz „bootrec /FixBoot“ skončí chybou, chybu ignorujte a pokračujte v příkazech dále. Nyní můžeme restartovat systém.

Oprava Boot pro BIOS (MBR spouštění systému)

Oprava boot pro systémy, které využívají MBR (tedy BIOS) je jednoduší, stačí následující příkazy:

bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

Máme hotovo, můžeme resetovat systém.

Oprava Boot pro Windows to Go

Pomocí následujících příkazů nalezneme oddíl UEFI a přidělíme mu písmeno:

diskpart
list vol

Nyní najdeme UEFI oddíl, jeho velikost je cca 100 MB a využívá formát FAT32. Jeho číslo budeme potřebovat dále.

sel vol <number of volume>
assign letter=U:
exit

Nyní již můžeme k vlastní konfiguraci Bootu pro UEFI.

cd /d U:\EFI\Microsoft\Boot\
bootrec /FixBoot
ren BCD BCD.old
bcdboot c:\Windows /s C: All

Pokud nemáte systémový oddíl jako C, doplňte místo C do posledního příkazu písmeno vašeho systémového oddílu. Pokud příkaz „bootrec /FixBoot“ skončí chybou, chybu ignorujte a pokračujte v příkazech dále. Nyní můžeme restartovat systém.

Dokončení

Může se stát, že systém se nespustí na přihlašovací obrazovku, ale do prostředí WinRE, v tom případě se i na serverových systémech objeví možnost Oprava spouštění systému (níže ilustrační obrázek z Windows 10).

Toto již většinou bez problémů projde a systém se automatizovaně doopraví a spustí. Po přihlášení se nejspíš zobrazí chyba, že koš systémové jednotky je poškozen a je potřeba jej vysypat, zde zadejte NE. Nyní doporučuji zkontrolovat NTFS a systémové soubory pomocí sady následujících příkazů:

sfc /scannow
dism /online /cleanup-image /scanhealth
dism /online /cleanup-image /restorehealth
echo y | chkdsk c: /f
shutdown /g /t 0 /f

Při restartu dojde ke kontrole systémové jednotky C, doporučuji nechat proběhnout! Po dokončení a přihlášení je možné hlášku poškození koše potvrdit ANO pokud se ještě zobrazí. Dle mé zkušenosti se při tomto postupu u serverových systémů ztratí veškerý obsah ze start menu, což je opravdu nepříjemné, ale dobrou zprávou je, že aplikace jsou v systému a fungují.

Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Odebrání zbytkového ovladače

Na odebrání ovladačů, které systém již nepotřebuje je spousta cest. Nejlepší je samozřejmě odebrat ovladač při odinstalaci zařízení ve Správci zařízení.

Někdy se může stát, že zařízení obsahuje mnoho ovladačů, které nikdy nevyužilo (např.: jednotný image pro mnoho typů počítačů s integrovanými ovladači). V takovém případě je možné nepotřebné ovladače odebrat pomocí cleanmager.exe (vyčištění disku), který spustíme jako správce, pak máme na výběr odebrání ovladačů.

Vše výše popsáno je zcela bezpečné a stabilní, takto provedená operace je bez rizika. Problém je v tom, že i některý SW implementuje ovladače (typicky bezpečnostní produkty) a může se stát, že i po odinstalaci takového produktu zůstanou v systému fragmenty, třeba i ovladače. V takovém případě doporučuji na webu vydavatele najít odinstalační nástroj a pokyny k jeho užití, pomocí jehož je možné tyto fragmenty odebrat. Systém sám obsahuje nástroje k nalezení a odebrání ovladačů. Doporučení je, tyto akce provádět v Safe modu systému.

Nalezení a odebrání ovladače z běžícího systému

Zde nám v první řadě pomůže nástroj DISM, který nám vypíše ovladače jež nejsou z dílen Microsoftu. Stačí následující příkaz.

dism /online /get-drivers /format:table

Výstup je vidět na obrázku níže.

Na výpisu výše je vidět, že v systému je takovým fragmentem ovladač Esetu edevmon, který je provozován stejnojmennou službou. Další postup si ukážeme právě na příkladu tohoto ovladače. V tomto bodě si potřebujeme bokem uložit original file name, bude potřeba později. K odebrání ovladače použijeme vestavěný nástroj pnputil pomocí následujícího příkazu (v PowerShellu):

#pnputil /delete-driver < Published Name>  /force
#příklad Esetu:
pnputil /delete-driver oem10.inf  /force

Pokud se příkaz zdaří, je ovladač odebrán ze systému. Zde bych doporučil restartovat systém, aby se projevila změna. Pokud vše proběhne v pořádku, ověříme si výpisem DISM (první bod), že systém neprováděl opravu spuštěním s poslední funkční konfigurací. Nyní můžeme odebrat vlastní binární soubor ovladače pomocí PowerShellu.

#Remove-Item -Path C:\Windows\System32\drivers \<original file name>.sys -Force
#Příklad s Esetem
Remove-Item -Path C:\Windows\System32\drivers edevmon.sys -Force

Pokud příkaz skončí chybou, znamená to, že systém soubor odstranil sám, pokud ne, odstranění provedl příkaz.

Offline odebrání ovladače

Zde jsou 2 důvody, potřebujeme upravit soubor install.wim, nebo po instalaci ovladače systém nenastartoval. V obou případech použijeme nástroj DISM, v prvním pomocí něj vybalíme instalační obraz do složky, v druhém budeme tento nástroj spouštět z příkazové řádky ve WinRE, či instalačním médiu.

Načtení seznamu ovladačů je obdobné jako u běžícího systému:

#Instalační obraz máme ve vybalený ve složce C:\test\offline
Dism /Image:C:\test\offline /Get-Drivers

Nyní můžeme odebírat ovladače

Dism /Image:C:\test\offline /Remove-Driver /Driver:OEM10.inf

Po úspěšném dokončení operace v případě úpravy instalačního obrazu vše uložíme příkazem:

Dism /Unmount-Image /MountDir:C:\test\offline /Commit

V případě opravy systému, kterou provádíme z prostředí WinRE nebo instalačního média počítač restartujeme do plnohodnotného systému.

Posted in: Windows 10, Windows 11, Windows server

Stažení databáze hesel Have i been pwned

Správci systémů někdy potřebují databáze uniklých přihlašovacích údajů k tomu, aby zjistili, zda někdo z jejich uživatelů nepoužívá kompromitované přístupové údaje. Krom různých fór útočníků a pentesterů je jedním z dobrých zdrojů služba Have i been pwned. Dříve se přímo ze stránek této služby nechala stáhnout databáze s uniklými hesly ve formátu NTLM pro kontrolu těchto údajů v AD. Jedním z nástrojů, které umí tyto údaje kontrolovat je DSInternals. Nově web Have i been pwned má aplikaci pro stahování databáze hesel a o tom je tento příspěvek.

Stažená

Pro stažení a samotnou práci s aplikací je potřeba mít .NET6, jak jej instalovat jsem již psal. Pro instalaci downloaderu pak může sloužit např. příkaz:

dotnet tool install haveibeenpwned-downloader --tool-path "C:\Program Files\NET6\Tools"

Stažení databáze hesel ve formátu NTLM

Vlastní stažení databáze do složky aplikace je pak v PowerShellu velice jednoduché, jak ukazuje příklad níže.

#Přepneme se do adresáře aplikace
cd C:\Program Files\NET6\Tools
#Stáhneme hesla
.\haveibeenpwned-downloader.exe -n pwnedpasswords_ntlm
Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Výpis oprávnění ke všem SMB share na serveru

Dnes si ukážeme malý kus PowerShellu, který velice usnadní auditování oprávnění na sdílených složkách. Jako první si uvedeme příklad kódu, který vypíše všechny složky, kde je nějak nastaveno oprávnění pro úroveň Everyone:

$SMB = (Get-SMBShare).Name
foreach($n in $SMB)
{
    Get-SmbShareAccess -Name "$n" | where AccountName -EQ Everyone
    
} 

Kompletní výpis pak poskytne odlehčená verze kódu:

$SMB = (Get-SMBShare).Name
foreach($n in $SMB)
{
   Get-SmbShare -Name "$n"   
   Get-SmbShareAccess -Name "$n"   
} 

Bližší informace, jako je cesta a server vkládá do výpisu s oprávněními právě příkaz Get-SmbShare, který lze volat i samostatně k vypsání informací o všech sdílených složkách (bez parametrů) krom oprávnění.

Posted in: Windows 10, Windows 11

Instalace .NET 6 pomocí PowerShellu

V rámci automatizace správy se může hodit instalovat SW pomocí PowerShellu dávkově jedním skriptem. Ani moderní .NET 6 není výjimkou. Instalační skript je možné stáhnout přímo z webu Microsoftu. https://dot.net/v1/dotnet-install.ps1

Ve výchozím stavu je bohužel tímto skriptem instalován .NET do adresáře AppData daného uživatele, který skript sopustí, což není ve firemním prostředí vhodné a není to dobré ani z pohledu bezpečnosti. Osobně mohu doporučit instalovat pomocí následujícího příkazu z PowerShellu spuštěného jako správce:

.\dotnet-install.ps1 -Channel LTS -InstallDir "C:\Program Files\NET6"

Pokud bude instalace provedena takto, bude .NET instalován normálně v Program Files a bude dostupný všem. Podadresář NET6 se vytvoří voláním příkazu automaticky.

Podrobnosti je možné nalézt v dokumentaci MS: dotnet-install scripts – .NET CLI | Microsoft Learn

Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

LAPS (Local Administrator Password Solution)

Jde o nástroj Microsoftu na správu hesel lokálního administrátorského účtu v doménovém prostředí. Jde o samostatné řešení, která „má na svědomí“ skupina Čechů pracujících v Microsoftu. Nově aktulializací 04-2023 se potřebné binární soubory staly součástí systému Windows 10 a Windows 11, rovněž pak systémů Windows server 2016, 2019 a 2022. Aktualizací instalovaná komponenta ovšem neobsahuje GUI pro servisní techniky, proto i tak doporučuji stáhnout msi z webu Microsoftu. Na koncových stanicích (pokud se rozhodnete instalovat ručně) stačí provést msiexec /i <cesta k msi instalárotu laps>, nebo využít distribuce pomocí GPO.

Na pracovní stanici administrátora, který se má starat o koncové stanice prak provedeme instalaci pomocí GUI a zvolíme „Fat clietn UI“

Instalace na doménový řadič

Na doménovém řadiči instalaci provedeme pomocí GUI (případně si dohledáme parametry na webu MS) a zvolíme všechny management tools.

Po dokončení instalace je potřeba upravit schéma AD (tato operace se provádí na Schema master kontroleru) pomocí několika PowerShell příkazů. Heslo bude po změně schématu uloženo v objektu počítače a k tomuto atributu budeme nastavovat právo přístupu.

Import-module AdmPwd.PS
Update-AdmPwdADSchema

Nyní musíme přidat patřičná oprávnění skupině správců klientských stanic.

Set-AdmPwdReadPasswordPermission -Identity "PC" -AllowedPrincipals "SpraciPC"

Nyní nastal čas povolit účtům počítačů změnit sám sobě heslo:

Set-AdmPwdComputerSelfPermission -Identity "PC"

Z vlastní zkušenosti mohu říct, že po dokončení instalace a restartu doménového řadiče je ještě potřeba registrovat službu.

regsvr32.exe AdmPwd.dll

Tvorba politiky

Pokud máte central store, bude ještě potřeba překopírovat ADMX šablonu z %windir%\PolicyDefinitions\ do \\domain\SYSVOL\domain\Policies\PolicyDefinitions\ a rozhodně nezapomenout na jazykový balíček šablony.

Celé nastavení technologie je pak v: Computer Configuration > Policies > Administrative Templates > LAPS.

Zde si nastavíme vše potřebné, jako je komplexita hesla a jeho platnost:

Účet lokálního administrátora (pokud nenastavíme, jde o vestavěný účet Administrator [SID končí na 500])

Zakážeme platnost hesla, která je delší, nežli jsme nastavili v zásadách

A nesmíme zapomenou celou konfiguraci (tedy i vlastní správu hesla lokálního admina) zapnout.

Přístup k heslům

Přístup k heslům získají doménový správci a uživatelé ve skupině, které tato práva byla přidělena. Uživatelé s oprávněními pak mohou využít LAPS UI

Nebo pomíc PoiwerShellu:

Get-AdmPwdPassword -ComputerName "AZ-0183-3116-95"
Posted in: Windows 11

Windows 11 Home s lokálním účtem

Dnes to bude trochu o tom, jak se vypořádat s otravným vnucováním Microsoft účtu instalačním programem Windows 11. Nejčastěji se tento problém řeší na zcela nových zařízeních, které mají z výroby předinstalovaný systém Windows 11.

Na edici Pro a vyšší je to přímočaré a jednoduché, viz pár bodů níže:

  • V bodě, jak chcete nastavit sví zařízení zvolíte pro práci nebo školu
  • Následně zvolte možnost: Místo toho připojit k doméně

U edice Home Microsoft takto jednoduše otevřenou volbu neponechává. Existují 2 cesty, přičemž první jsem vyzkoušel s 22H2, druhou pouze se starší 21H2, takže pojďme na to.

Neexistující účet

Jednou z možností využít neexistující účet, mě se osvědčila kombinace:

  • login: a@a.com
  • heslo: Pa$$w0rd

alternativní kombinací údajů pro „účet a heslo“ je:

  • login: microsoft
  • heslo: microsoft

Po zadání se objeví chyba, že se něco pokazilo a instalace pokračuje s lokálním účtem. Alternativní možností je postup, který vyzkoušel magazín Chip a cituji jej níže.

Projděte instalačním procesem Windows 11 až do fáze, kdy si průvodce instalací vyžádá vložení vašeho účtu Microsoft, případně vytvoření účtu nového. Použijte místo toho některou ze známých falešných adres jako například „elonmusk“, „billgates“ nebo „stevejobs“ a pokračujte volbou „Další“. Poté zadejte libovolné heslo a opět pokračujte kliknutím na „Další“. Průvodce instalací následně zobrazí chybovou zprávu, že byl účet uzamčen, protože někdo příliš často zadával špatné heslo. Pokud v tomto okamžiku klepnete na možnost „Další“, instalátor systému Windows 11 Home vám umožní použití lokálního uživatelského účtu.

Vypnutí sítě

Verze 21H2 neochotně provede OOBE fázi instalace i s volbou, že nemám internet. U novějších verzí zabralo vyvolání příkazové řádky (klávesová zkratka [Shift] + [F10]), kde jsou 2 možnosti:

  1. příkazem ncpa.cpl otevřít síťová připojení a zakázat síťový adaptér
  2. příkaz: net user /add admin P@ssw0rd následovaný příkazem: net localgroup administrators admin /add

Nyní uzavřeme příkazovou řádku a v průvodci zvolíme 1 krok zpět (šipka v levém horním rohu). V případě možnosti zakázání síťového adaptéru bude následovat dotaz kdo bude PC používat, kde bude možné uvést lokální účet.

Back to Top