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

Vyhledávání zařízení v Azure AD dle uživatele bez Intune

Všichni správici firemních sítí známe situaci, kdy potřebujeme vyhledat zařízení, které jsme vyloučili ze sítě, abychom jeho účat zakázali. Pokud máme souběžně, ať synchronizované, či ne, lokální AD a Azure AD, je vhodné vyřadit soukromá zařízení uživatele, který opustil firmu, nebo takové zařízení, které bylo uživatli zcizeno, či jej uživatel ztratil nebo nahradil. Následující skript řeší problém, který není řešitelní v Azure AD online konzoli, protože zatím (začátek června 2020) nelze podle vlastníka zařízení filtrovat. V článku poskytnutý skrit do dokáže a dokáže rovněž rovnou soukromá zařízení uživatele zakázat všechna jedním příkazem.
Pokud by jste chtěli takto zakázat např. firemní notebook, budete muset vynechat filtrování, které ze všech zařízení eliminuje právě ta, která jsou součástí našeho lokálního AD.

<#

	Skript vypíše jména všech nedoménových zařízení, která má zadaný uživatel registrovaná v Azure AD.

	Volitelně dokáže zakázat všechna zařízení, která má daný uživatel registrované a nejsou doménová.

	Autor nenese žádnou odpovědnost za případné škody, uživatel je povinen před spuštěním se seznámit se 
	skriptem!
 
    
	Požadavky:
    
	- PowerShell verze 5 a novější
    
	- Admin oprávnění pro přístup k Azure AD
    
	- ExcutionPolicy set to RemoteSigned
 
    

	Petrásek Jan
    
	©2020

#>
 

#kontrola přítomnosti modulu, jeho případná aktulizace či doinstalace

if((get-module -Name AzureAD) -eq $null) 
{

	Install-Module -Name AzureAD -force
   
	import-module AzureAD

}else
{

	if((get-module -Name AzureAD | select Version) -le 2.0.2.76)
    
	{

		Update-Module AzureAD

	}
    
	import-module AzureAD

}
 
#přihlášení k Azure AD a MSonline service

$Credential = Get-Credential
Connect-AzureAD -Credential 
$Credential
Connect-MsolService -Credential 
$Credential
#načtení vstupních inforamce

$domena = (Get-ADComputer -Filter * | select Name)

$PC = Read-Host -Prompt "Zadejte email uživatele: "

#nalezení zařízení registrovaných uživatelem

$zarizeni = Get-MsolDevice -RegisteredOwnerUpn $PC | select DisplayName

#vybrání pouze nedoménových zařízení

$zobraz

foreach($DisplayName in $zarizeni)

{

	foreach($Name in $domena)
    
	{

		if($DisplayName -ne $Name)
        
		{

			if($DisplayName -ne $zobraz)
            
			{

				$zobraz = $DisplayName
            
			}
        
		}
    
	}

}
#$zobraz | Format-Table - kontrolní zobrazení
 

#finální zobrazení informace o zařízeních

Get-MsolDevice -All | where DisplayName -like $zobraz.DisplayName | select DisplayName, DeviceObjectVersion, DeviceOsType, DeviceOsVersion, LastDirSyncTime
 

#možnost zařízení zakázat

$volba = 0

Write-Host 'Pro zakázání zařízení zadejte 1'

Write-Host 'Pro ponechání povoleného zařízení zadejte 0'

$volba = Read-Host -Prompt 'Chcete zařízení zakázat? (1/0): '

$zakaz = Get-MsolDevice -All | where DisplayName -like $zobraz.DisplayName | select DeviceId

if($volba -eq 1)

{

	foreach($DeviceId in $zakaz)
    
	{

		Disable-MsolDevice -DeviceId $zakaz.DeviceId -Force
    
	}
    Write-Host 'Zařízení byla zakázána'

}
else

{

	Write-Host 'Žádná změna na zařízeních nebyla provedena'

}
Posted in: Windows server

Report stavu GPO na PC pro daného uživatele

Každý správce řeší problém s tím, že uživatelům nefunguje něco, co by jim mělo fungovat a co nastavil pomocí Group Policy. Pro všechny, kterým se nechce dokola psát příkaz gpresult, nebo pro ty, kteří se správou Windows sítí začínají mám malý typ. Vytvořte si cmd soubor, který bude mít následující obsah:

gpresult /h %USERPROFILE%\Desktop\GPOreport.html

Tento soubor sdílejte uživatelům, nyní jen stačí, aby na něj uživatel poklepal a na ploše se mu objeví soubor s názvem GPOrepot, který vám pošle. Tento soubor bude v obsahovat výsledné nastavení a také to, které politiky se aplikovali, které se neaplikovali a proč (např. nevyhověl WMI filter). Reporty vypadají skoro stejně, jako když si politiku otevřete v Group Policy Management Consoli a zvolíte záložku Details (Podrobnosti).

Nyní k vlastnímu příkazu, příkaz gpresult slouží pro monitorování aplikování politik na uživatele a stroj, který tento příkaz vyvolal (proto nikdy nespouštíme jako správce!). Parametr h udává, že výstupem má být html report. Proměnná USERPROFILE udává, že „kořenovým“ adresářem bude Home přihlášeného uživatele, takže, abychom to uživatelům dostali na oči na plochu, tak potřebujeme ještě přejít do podadresáře Desktop (i české Windows správně přecházejí do systémových adresářů po zadání originálního anglického jména adresáře).

Posted in: Windows server

WSUS na Windows server 2016

Návodů na instalaci WSUS je na internetu mraky, takže nebudu nosit dříví do lesa. O čem chci dnes psát, tak je jedna chyba, která se skrývá v roli Windows Update Services na Windows serveru 2016 a jak ji řešit.
Pokud instalujete WSUS na Windows server 2016, tak Vás čeká jedno nemilé překvapení, služba se nedokáže synchronizovat s update servery Microsoftu. Na vině je to, že Microsoft vypnul trvale jeden ze svých Windows update serverů, bohužel ten, na který se ve výchozím stavu odkazují instalace WSUS na Windows serveru 2016. Pokud chcete vědět, jak z problému ven, čtěte dále. Nyní si projděme kroky, které je potřeba udělat po instalaci Windows Server Update Services, aby vše opravdu fungovalo.

  1. Zkontrolovat a instalovat všechny aktualizace z Windows Update
  2. Spustit v powerShellu skript:
    $server = Get-WsusServer
    $config = $server.GetConfiguration()
    # Check current settings before you change them 
    $config.MUUrl
    $config.RedirectorChangeNumber
    # Update the settings if MUUrl is https://fe2.update.microsoft.com/v6
    $config.MUUrl = "https://sws.update.microsoft.com"
    $config.RedirectorChangeNumber = 4002
    $config.Save()
    iisreset
    Restart-Service *Wsus* -v
  3. Restartovat server příkazem: shutdown /g /t 0
  4. Vyvolat manuálně synchronizaci
  5. Pokud se nepodařilo, zkontrolujte nastavení služby
  6. Zkuste synchronizaci znovu
  7. Zkontrolujte, zda máte v důvěrychodných webech https://*update.microsoft.com
  8. Zkuste synchronizaci znovu
  9. Pokud stále nejde spuťte znovu skript a místo sws.update.microsoft.com použijte https://sws1.update.microsoft.com a změňte $config.RedirectorChangeNumber = 4002 na $config.RedirectorChangeNumber = 3011
  10. Nyní by jste již měli vidět aktualizace, pokud nevidíte PC zkontrolujte politiky a na daných PC si spuťte gpresult /h report.html, následně budete mít v Home adresáři podrobnosti o aplikovaných a neaplikovaných politikách

Poznámka bokem, nalezení PC jako nezařazených nebo zařazených pomocí politik může trvat i 2 dny, proto je zde potřeba trpělivost.

Back to Top