Posted in: Windows server

Nastavení AppLockeru

Správné nastavení pravidel Applockeru není vždy jednoduché, proto nabízím odkaz na super konstrukce pravidel od jednoho z vývojářů Microsofotu, které Microsoft oficiálně podpořil jako svůj OpenSorce. Dokumentace a skripty, které pravidla vytvářejí nemusí být přímo uplatněna, ale je dobrým zdrojem informací a námětů, na co si dát pozor a co nezapomenout.

AaronLocker – konfigurační skripty a dokumentace pro AppLocker

Posted in: Windows 10, Windows 11, Windows server

Výpis zařízení, která jsou HybridJoin do AAD

Zcela jistě nejsem sám, kdo v dnešní době zpravuje hybridní prostředí a proto se opět podíváme na to, jak si zjisti z AAD nějaké údaje, které se v portálu získávají obtížně či je nelze získat přímo.
Jak mi dá spousta z Vás za pravdu, na stránce se zařízení v portálu AAD se filtruje velmi špatně, takže se hodí PowerShell a právě ten využijeme k tomu, abychom zjistili počet a konkrétní seznam našich zařízení, která jsou joinovaná jak do lokálního AD, tak prostřednictvím např. AAD Connectu do AAD. Informace nám vytáhne následující script:

#kontrola, za máte modul MsolService a pokud ne, tak jeho instalace
if((get-module -Name MsolService) -eq $null) {
Install-Module -Name MsolService -force
import-module MsolService
}else {
import-module AzureAD
}
#připojení k AAD prostřednictvím tenantu Office 365
Connect-MsolService
#vylistování všech zařízení do tabulky
Get-msoldevice -all | Where-Object {$_.DeviceTrustType -eq "Domain Joined"} | select displayname, DeviceOSType, DeviceOsVersion, DeviceTrustType, DeviceTrustLevel, DeviceObjectVersion, ApproximateLastLogonTimestamp | Out-GridView
#stanovení počtu těchto zažízení
(Get-msoldevice -all | Where-Object {$_.DeviceTrustType -eq "Domain Joined"}).count
Posted in: Windows server

Windows server 2022 TP je tu!

Všem fanouškům Windows serveru nyní mohu sdělit, že nové Insider Prewiev je zde! Pokud nejste registrováni a i tak jste zvědaví, českou verzi můžete stáhnout zde. Aktuální build je platný do 31.10.2021
Pro upgrade budete potřebovat licenční klíče, ty jsou:

  • Server Standard: MFY9F-XBN2F-TYFMP-CCV49-RMYVH
  • Datacenter: 2KNJJ-33Y9H-2GXGX-KMQWH-G6H67

Na první dobrou si člověk na totožném HW všimne vyšší rychlosti proti 2016 i 2019, i když vůči té 2019 není nárůst až takový. V desktopovém režimu nechybí vestavěný MS Edge verze 89.0.
PowerShell je nativně ve verzi 5.1. build 20303 revize 1, novější PowerShell 7 je stále potřeba doinstalovat manuálně.

Posted in: Windows server

Vnořená virtualizace v Hyper-V

Od Windows serveru 2016 je možné virtualizovat ve virtualizovaných strojích, což může pomoci nejen vývojářům, ale také v rámci firemního provozu, kdy je možné spustit technologii Hyper-V, či jinou virtualizační technologii ve virtuálních strojích. V dnešním příspěvku si ukážeme, jak takovou záležitost nakonfigurovat.Pro zapnutí vnořené virtualizace je potřeba udělat několik případných kroků.

  1. Virtuální stroj, který má mít zapnutou vnořenou virtualizaci, musí mít více jak 1 virtuální procesor
     
  2. Virtuální stroj, který má mít zapnutou vnořenou virtualizaci, musí mít vypnutou dynamickou paměť, tedy musí mít nastavenou staticky při startu přiřazenou paměť
     
  3. Virtuální stroj, který má mít zapnutou vnořenou virtualizaci, musí mít povolené falšování MAC adresy
     
  4. V PowerShellu, který běží v režimu správce, spustíme následující příkaz:
    Set-VMProcessor -VMName <Název virtuálního PC> -ExposeVirtualizationExtensions $true #Náve doplňujeme bez špičatých závorek a název se bere z Hyper-V konzole, nikoliv z běžícího systému
     
  5. V PowerShellu, který běží v režimu správce, spustíme pro kontrolu výsledku následující příkaz:
    Get-VMProcessor -VMName <Název virtuálního PC> | FL *
Posted in: Windows server

Jak přenést či zálohovat role a funkce Windows Serveru?

Dnes si představíme malý PowerShell skript, který Vám pomůže přenést všechny role a funkce z jednoho serveru na druhý. Na takto připraveném serveru je možné následně využít nástrojů pro migraci serveru, které dokáže exportovat a importovat jednotlivé konfigurace různých rolí a funkcí serveru. Základem ovšem zůstává mít instalované stejné role a funkce na starém i novém stroji a to jak vše provést na 2 spuštění sktriptu a přenesené jednoho TXT souboru si ukážeme. Nejprve je potřeba si uložit následující skript:

Function MigraceRoliFunkci
{
    Param(
        [Parameter(Mandatory=$true)]
        [String]$soubor = "C:\Users\Public\features.txt",
        [Parameter(Mandatory=$false)]
        [Switch]$Import
    )
    if($Import)
    {
        $file = Get-Content $soubor;
    	$radek = ($file.Count) - 3;
    	$role = Get-Content E:\funkce.txt -Tail $radek
        foreach ($f in $role)
        {
            Install-WindowsFeature -Name $f -IncludeManagementTools
        }
        Write-Host "Restartujte server co nejdříve!"
	}

     else

     {

	Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | select name | Out-File -FilePath $soubor
        
	Write-Host "Vyzvednete si vygenerovany soubor pro import."
    
     }

}

Nyní jej můžeme spustit na starém serveru a následně zavolat funkci například takto:
MigraceRoliFunkci -soubor E:\funkce.txt
Nyní skriprt spustí export seznamu rolí a funkcí za našeho starého serveru na náš disk E do souboru funkce.txt.
Disk E přeneseme na nový server, kde pro zjednodušení bude mít také písmeno E, spustíme náš skript a opět budeme volat funkci:
MigraceRoliFunkci -soubor E:\funkce.txt -Import
Nyní naše funkce provede instalaci všech rolí a funkcí, které nalezne v souboru funkce.csv. Po dokončení instalace máme server připraven k importu nastavení, ale o tom až někdy jindy.

Posted in: Windows server

Jak udržet ovladače a soubory kernel-mode v RAM

Pokud se Vám stává, že Váš server havaruje opakovaně z důvodu chyby paměťové stránky, nebo paměťové stránky kernel-modu doporučuji zkontrolovat následující registr:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Kde je klíč DisablePagingExecutive, který řeší, zda smí být paměťové stránky příslušející kernel-modu nebo ovladačům odloženy na disk v případě potřeby.
Pokud máte v klíči DisablePagingExecutive: 0, pak smí být data odložena nadisk.
pokud máte v klíči DisablePagingExecutive: 1, pak jsou data za všech okolností držena v paměti RAM.

Posted in: Windows 10, Windows 11, Windows server

PowerShell script pro monitoring záloh a obnovu ze zálohy

Write-Host „Práce se zálohou serveru“;
Write-Host „“;
Write-Host „Menu:“ -ForegroundColor Green;
$volba;
Write-Host „1: Aktuální stav běžící zálohy“;
Write-Host „2: Výpis dostupných záloh“;
Write-Host „3: Výpis položek obsažených v záloze“;
Write-Host „4: Obnova souborů a složek do původního umístění“;
Write-Host „5: Obnova souborů a složek do vlastního umístění“;
Write-Host „6: Obnova celé jednotky“;
Write-Host „7: Obnova registru“;
Write-Host „8: Obnova systémového stavu“;
$volba = Read-Host -Prompt „Zadejte číslo své volby“;
function status()
{
Write-Host „Vypisuji stav běžící zálohy“ -ForegroundColor Green;
wbadmin get status
Write-Host „Stav záloh za poseldní týden“ -ForegroundColor Green;
Get-WBJob -Previous 7
}
function dostupne()
{
$cil = Read-Host -Prompt „Zadej cíl zálohy (např.: H:): „;
Write-Host „Vypisuji dostupné zálohy“ -ForegroundColor Green;
wbadmin get versions -backupTarget:$cil
}
function polozky()
{
$ID = Read-Host -Prompt „Zadej ID zálohy (např.: 01/27/2021-15:01): „;
Write-Host „Vypisuji položky zálohy“ -ForegroundColor Green;
wbadmin get items -version:$ID;
}
function souboryP()
{
Write-Host „Obnova soborů a složek“ -ForegroundColor Green;
$slozka = Read-Host -Prompt „Obnovuješ složku? (A/N): „;
$ID = Read-Host -Prompt „Zadej ID zálohy (např.: 01/27/2021-15:01): „;
$polozka = Read-Host -Prompt „Zadej položku k obnově (např.: E\Fotoalbum\MTZ)“;
if($slozka -eq „A“ -or $slozka -eq „a“)
{
wbadmin start recovery -version:$ID -itemType:File -items:$polozka -recursive;
}
else
{
wbadmin start recovery -version:$ID -itemType:File -items:$polozka;
}
}
function souboryS()
{
Write-Host „Obnova soborů a složek“ -ForegroundColor Green;
$slozka = Read-Host -Prompt „Obnovuješ složku? (A/N): „;
$ID = Read-Host -Prompt „Zadej ID zálohy (např.: 01/27/2021-15:01): „;
$polozka = Read-Host -Prompt „Zadej položku k obnově (např.: E\Fotoalbum\MTZ)“;
$cil = Read-Host -Prompt „Zadej cíl obnovy (např.: H\Foto\mtz)“
if($slozka -eq „A“ -or $slozka -eq „a“)
{
wbadmin start recovery -version:$ID -itemType:File -items:$polozka -recursive -recoverytarget:$cil;
}
else
{
wbadmin start recovery -version:$ID -itemType:File -items:$polozka -recoverytarget:$cil;
}
}
function jednotka()
{
Write-Host „Obnova jednotky“ -ForegroundColor Green;
$ID = Read-Host -Prompt „Zadej ID zálohy (např.: 01/27/2021-15:01): „;
$jednotka = Read-Host -Prompt „Zadej identifikátor jednotky (např.: \\?\Volume{cc566d14-44a0-11d9-9d93-806e6f6e6963}\“
wbadmin start recovery -version:$ID -itemType:Volume -items:$jednotka;
}
function registr()
{
Write-Host „Obnova registru přibyde v novější verzi“ -ForegroundColor red;
}
function system()
{
Write-Host „Obnova stavu systému“ -ForegroundColor Green;
$ID = Read-Host -Prompt „Zadej ID zálohy (např.: 01/27/2021-15:01): „;
wbadmin start systemstaterecovery -version:$ID;
}
switch($volba)
{
1{status}
2{dostupne}
3{polozky}
4{souboryP}
5{souboryS}
6{jednotka}
7{registr}
8{system}
default{Write-Host „Chybně zadaná volba, spusť skript znovu!“-ForegroundColor Red}
}

Posted in: Windows server

Jak povolit WinRM prostřednictvím zásad skupiny

Tato demonstrace používá systém Windows Server 2012R2 jako řadič domény a Windows 10 jako cílený klientský počítač. Ve scénáři je klientský počítač připojen k doméně s názvem asaputra.com a je umístěn pod cestu OU „WorkstationsW10“. Zásadou může být nový objekt zásad skupiny nebo použití stávajícího objektu zásad skupiny v konzole pro správu zásad skupiny v řadiči domény. V tomto příkladu je vytvořen nový objekt zásad skupiny s názvem „Globální správa“
Kliknutím pravým tlačítkem myši otevřete okno editoru objektu zásady a zvolte „Upravit“. První věc, kterou je třeba udělat, je říct cílovému počítači, aby povolil službu WinRM. Přejděte do Konfigurace počítače> Předvolby> Nastavení ovládacího panelu> Služby, potom klikněte pravým tlačítkem na prázdné místo a zvolte Nový> Servis
Klepnutím na tlačítko OK uložíte parametry, ale zatím nezavírejte editor zásad.
Další, stále na stejném objektu politiky, dalšívěc, kterou je třeba nakonfigurovat, je seznam IP adres, které mají povolen přístup ke vzdálené správě v cílovém počítači. Přejděte na Konfigurace počítače> Zásady> Šablony pro správu> Součásti systému Windows> Vzdálená správa systému Windows (WinRM)> Služby WinRM. Poté dvakrát klikněte na „Povolit vzdálenou správu serveru pomocí WinRM“ a změňte nastavení následovně:
Z hlediska bezpečnosti je nejlepší omezit rozsah adres IP co nejméně. Pro tento příklad je však v poli uvedena hvězdička (*), která umožňuje vzdálený přístup z libovolné adresy IP. Klepnutím na tlačítko OK uložte nastavení a znovu nezavírejte editor zásad.
Poslední věcí, kterou je třeba udělat, je vytvoření nového pravidlapro Firewall na cílovém klientském počítači. Přejděte do Konfigurace počítače> Zásady> Nastavení zabezpečení> Brána firewall systému Windows a pokročilé zabezpečení> Brána firewall systému Windows a pokročilé zabezpečení a potom klepněte pravým tlačítkem myši na Pravidla příchozí> Nové pravidlo

Vyberte Vzdálenou správu systému Windows z předdefinované sady pravidel, jak je uvedeno níže, klepněte na tlačítko Další
Zaškrtněte políčko pouze v profilu domény a soukromí, klikněte na tlačítko Další.Nastavte akci na Povolit připojení.

Klepnutím na tlačítko Dokončit uložte konfiguraci a nyní můžete okno editoru zásad zavřít.
Protože se jedná o počítačovou zásadu, je třeba ji použít na OU, kde je umístěn počítač. Stejně jako v tomto scénáři, jak to vypadá, když je zásada použita:

Po aktualizaci zásad skupiny se všechna tato 3 nakonfigurovaná nastavení projeví v klientském počítači. K ověření nám poslouží příkaz: Test-WsMan [Target Hostname / IP address]
například: Test-WsMan ucpc01
příklad 2: Test-WsMan 192.168.1.64

Pokud příkaz skončí chybou, je potřeba zkontrolovat, zda běží služba WinRM a zda je povolena na FireWall. Individuální řešením na daném PC pak může být příkaz: winrm qc -q

Posted in: Windows server

Změna pozadí plochy Windows pomocí zásad skupiny

V konzole Správa zásad skupiny rozbalte doménovou strukturu a doménu, klikneme pravým tlačítkem na objekty zásad skupiny a vyberte „Nový“
Zadáme název nového objektu politiky. V tomto příkladu je název zásady „Zásady tapety“
Nově vytvořená zásada bude uvedena v seznamu objektů Zásady skupiny. Klikneme na něj pravým tlačítkem a vybereme „Upravit“
Zobrazí se okno editoru. V levém podokně přejděte na Konfigurace uživatele> Šablony pro správu> Plocha> Plocha. V pravém podokně poklepeme na nastavení Tapety na plochu.
Změníme možnost na Povoleno a poté zadejte umístění tapety a styl tapety. V tomto příkladu určujeme místní cestu, protože obrazový soubor na pozadí tapety plochy je uložen na místní jednotce serveru Domain Controller a styl tapety, který jsme použili, je „Výplň“.
Po konfiguraci klikneme na OK a zavřete okno editoru.
V okně konzoly Správa zásad skupiny klikneme pravým tlačítkem na OU „Uzivatele“ a vybereme „Propojit existující GPO“
Vybereme zásady tapety a klikněte na OK.
Vše potvrdíme OK a nyní se s následující aktualizací zásad (restart déle jak 4 hodiny po spuštění, první přihlášení uživatele na daný PC v daném dni, čí příkaze gpupdate/force) nastaví uživatelům zařazným do OU „Uživatelé“ nová tapeta.

Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server, Základy PowerShellu

Kontrola spuštění PoweShellu v řežimu správce

Při správě serverů není nic vzácného, že PowerShell je potřeba spustit v privilegovaném módu. Určitě všichni správci znají fintu pravého tlačítka na skript a volby Run with PowerShell, ale jak ve sktirptu zkontrolovat, zda byl spuštěn s oprávněním správce? Zkuste následující větvení, které místo pouhých výpisů rolí obohaťte o svůj kód.

if((whoami /priv /fo csv | convertfrom-csv | select "Privilege Name")."Privilege Name" -contains "SeImpersonatePrivilege")
{"admin"}
else
{"user"}

Tento skript využívá toho, že účet správce má dva módy, jeden privilegovaný (obsahuje SID skupiuny Administrators) a jeden běžný (neobsahuje SID skupiny Administrators). Když i správce spustí aplikaci pouhým poklikáním, neběží v privilegovaném módu (až na vyjímky jako je Plánovač, Prohlížeč událostí apod.). Také PowerShell jde pustit v obou režimech a pokud výslovně správce nespustí PowerShell v řežimu správce, má stejná oprávnění jako běžný uživatel. Zobrazit jednotlivá oprávnění daného režimu PowerShellu jde příkazem:

whoami /priv

Více se pak dočtete v dokumentaci Microsoftru v sekci věnované uživatelským účtům.

Back to Top