Posted in: Windows server

Storage migration services

V tomto článku se s Vám podělím o video, které je návodné a zároveň popisné pro Storage Migration Services. Tato služba je dostupná ve Windows serveru 2019 a 2022, grafické rozhraní obsatává Windows Admincenter.
Jde o službu pro migraci souborů a síťových disků mezi servery, nebo s možností cílového umístění v Azure tak, aby při migraci v rámci lokální sítě vše fungovalo a nebylo po dokončení poznat, že sdílené soubory jsou na jiném serveru.

Pod videem, které snad brzy doplním o český článek, se rovněž nachází řešení jednoho problému, na který jsem osobně při využití této funkce v produkci narazil.

Správci služby migrace úložiště: pokud se vám při ověřování přenosu po instalaci listopadové kumulativní aktualizace zobrazuje „Chyba HRESULT E_FAIL byla vrácena z volání komponenty COM“, máme řešení ve WAC:

  1. Nainstalujte si nejnovější nástroj SMS WAC (od 3.9.2021 dne 1.115). Automaticky se zobrazí ve zdroji WAC
  2. Ve fázi přenosu přejděte na krok „Upravit nastavení“.
  3. Povolit „Přepsat ověření přenosu“
  4. Pokračujte v převodu, aniž byste spustili „Ověřit“ nebo jej spustili a ignorovali chybu E_FAIL.
thumbnail image 1 of blog post titled SMS "HRESULT E_FAIL from COM component" workaround coming
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 server

Instalace msu pomocí GPO

Každý správce někdy potřeboval nainstalovat nějaký konkrétní balíček z Windows update katalogu, nebo uspíšit distribuci nějaké konkrétní aktualizace. Jasně, máme zde Windows server update services nebo také řešení antivirových programů, která nám hlídají aktualizace Windows a umí je nainstalovat. I tak někdy nastane potřeba práce s konkrétním msu balíčkem a o tom si dnes něco povíme. Jako první si potřebujeme připravit skript, který danou instalaci provede. S velkou výhodou je možné využít PowerShell, který dokáže zjisti zda se na daném zařízení nachází daný balíček a také, která verze desítek na daném stroji běží. Ideálně máme v síti pouze jeden build Windows 10, ale reálně víme, že z libovolných důvodů se nám to časem rozejde na dvojici podporovaných verzí. msu balíček tedy musíme vždy stáhnout pro každou verzi desítek samostatně na daný stroj instalovat správnou verzi balíčku. Příklad níže instaluje aktualizaci KB5001649 na stroje s Windows 10 verze 20H1 a 20H2.

$Win2004 = "\\192.168.1.194\Win10Stup\Packages\Update\kb5001649-x64_2004.msu"
$Win20H2 = "\\192.168.1.194\Win10Stup\Packages\Update\kb5001649-x64_20H2.msu"
$OS = (Get-ComputerInfo -Property "OsBuildNumber").OsBuildNumber
if (-not(Get-Hotfix -Id KB5001649)) {
    if($OS -eq 19041)
    {
        Start-Process -FilePath "wusa.exe" -ArgumentList "$Win2004 /quiet /norestart" -Wait
    }else
    {
        Start-Process -FilePath "wusa.exe" -ArgumentList "$Win20H2 /quiet /norestart" -Wait
    }
}
exit

Nyní máme napsaný PowerShell, který uložíme. Následně si můžeme vytvořit vlastní GPO. V editaci politiky si otevřeme Computer Configuration/Policies/Windows Settings/Scripts
The Startup Script of a Computer GPO.
Dvojklikem otevřeme možnost startup a přejdeme na záložku PowerShell Scripts
Setting the Startup PowerShell Scripts
Klikene n a Show Files a do otevřeného okna přesuneme náš skript.
GPO Folder containing script
Zavřeme složku a v dialogu Startup Properties na kartě PowerShell scripts zvolíme položku Add
V dialogovém okně vyplníme název skriptu, pokdu bychom chtěli spouštět jiný PowerShell skript, můžeme uvést také jeho parametry. Nyní již stačí pouze vše uzavřít pomocí tlačítek OK.
S další aktualizací politik si stroj při startu natáhne náš kript a provede jej.

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.

Back to Top