Visualizzazione post con etichetta group policy. Mostra tutti i post
Visualizzazione post con etichetta group policy. Mostra tutti i post

domenica 24 aprile 2022

Impostazioni blocco automatico delle postazioni di lavoro tramite GPO


User Configuration | Policies | Administrative Templates | Personalization | Enable screen saver 

User Configuration | Policies | Administrative Templates | Personalization | Password protected screen saver 

User Configuration | Policies | Administrative Templates | Personalization | Screen saver timeout

User Configuration | Policies | Administrative Templates | Personalization | Force specific screen saver

ed impostare questo comando %windir%\system32\rundll32.exe user32.dll,LockWorkStation, che forzera immediatamente il blocco dello schermo 

REFERENCE
https://techexpert.tips/it/windows-it/criteri-di-gruppo-per-bloccare-il-computer-windows-dopo-idle/

venerdì 13 agosto 2021

GPO - Filtri WMI per pc DESKTOP e PORTATILI

 Ciao a tutti,

sto preparando alcune GPO che vorrei applicare solo ai portatili in azienda (e a dir la verità neppure a tutti!!!).

Il mio primo scoglio e' proprio come distinguere un desktop da un portatile.

Per fare questo ho pensato di usare i WMI filtering, tramite cui è possibile recuperare alcune informazioni sul computer

Facendo riferimento a questa pagina:

https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-computersystem

Ho identificato due proprietà che mi possono essere utili:

PCSystemType e PCSystemTypeEx

La seconda e' disponibile solo da Windows 8.1 e Windows 2012 R2 in poi.

Quindi se:

PCSystemType=1 o 3 si tratta di PC Desktop (a dir la verita non so in quale categoria ricadano le workstation mobili!)

PCSystemType=2 si tratta di laptop

Sotto riporto un estratto dal sito su queste 2 proprieta

PCSystemType

Type of the computer in use, such as laptop, desktop, or Tablet.

Unspecified (0)

Desktop (1)

Mobile (2)

Workstation (3)

Enterprise Server (4)

SOHO Server (5) Small Office and Home Office (SOHO) Server

Appliance PC (6)

Performance Server (7)

Maximum (8)


PCSystemTypeEx

Type of the computer in use, such as laptop, desktop, or Tablet.

Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008 and Windows Vista not supported.

This property is not supported before Windows 8.1 and Windows Server 2012 R2.

Unspecified (0)

Desktop (1)

Mobile (2)

Workstation (3)

Enterprise Server (4)

SOHO Server (5)

Appliance PC (6)

Performance Server (7)

Slate (8)

Maximum (9)


Adesso devo definire la query per decidere la classe

DESKTOP

Namespace: root\CIMv2

Select * from Win32_ComputerSystem WHERE (PCSystemType = 1) or (PCSystemType = 3)

LAPTOP

Namespace: root\CIMv2

Select * from Win32_ComputerSystem WHERE (PCSystemType = 2)


Adesso devo aprire GPMC ed andare in WMI Filter e scegliere NEW.

Namespace: root\CIMv2

Description: PC DESKTOP

Query: Select * from Win32_ComputerSystem WHERE (PCSystemType = 1) or (PCSystemType = 3)

Fare lo stesso, modificando la query, per i portatili.

Direi che abbiamo finito.

NOTE

Inizialmente avevo pensato di usare questa query: Select * from Win32_Battery WHERE (BatteryStatus <> 0), ma il risultato sarebbe stato che un desktop con attaccato un UPS sarebbe passato per un portatile. :)


APPENDICE

WIN32-SYSTEMENCLOSURE

A dir la verita ci sarebbe anche un'altra proprieta che sarebbe utile allo scopo, ma per semplicita' ho preferito usare quella precedente.

Ad ogni modo va considerata come alternativa.

https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-systemenclosure

ChassisTypes

This value comes from the Type member of the System Enclosure or Chassis structure in the SMBIOS information.

Other (1)

Unknown (2)

Desktop (3)

Low Profile Desktop (4)

Pizza Box (5)

Mini Tower (6)

Tower (7)

Portable (8)

Laptop (9)

Notebook (10)

Hand Held (11)

Docking Station (12)

All in One (13)

Sub Notebook (14)

Space-Saving (15)

Lunch Box (16)

Main System Chassis (17)

Expansion Chassis (18)

SubChassis (19)

Bus Expansion Chassis (20)

Peripheral Chassis (21)

Storage Chassis (22)

Rack Mount Chassis (23)

Sealed-Case PC (24)

Tablet (30)

Convertible (31)

Detachable (32)


QUERY x LAPTOP

Namespace: root\CIMv2

Query:  select * from Win32_SystemEnclosure where ChassisTypes = "{8}" or ChassisTypes = "{9}" or ChassisTypes = "{10}" or ChassisTypes = "{11}" or ChassisTypes = "{12}" or ChassisTypes = "{14}" or ChassisTypes = "{18}" or ChassisTypes = "{21}"


WMI

WMI e' l'acronimo di Windows management instrumentation.

Cosa puo fare?

WMI (Windows Management Instrumentation) è un insieme di interfacce che permettono di interagire con le informazioni di sistema, interrogarle e modificarle.

Nel nostro caso abbiamo bisogno di trovare quella particolare classe che contiene la proprieta che consente di capire se il pc in questione e' un desktop oppure un portatile.

E' possibile interrogare WMI tramite powershell. Un tool grafico che ho utilizzato e' WmiExplorer.

Il problema e' che non sempre le proprieta sono chiare ed occorre fare qualche ricerca per trovare cio di cui abbiamo bisogno


NOTE

wmic, tool di interrogazione WMI e stato rimpiazzato da Get-WmiObject (powershell)

Get-WmiObject e' stato rimpiazzato, dalla versione 3.0 di powershell da Get-CimInstance


ESEMPI POWERSHELL

Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property *

Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property pcsystemtype


REFERENCE

https://www.linkedin.com/pulse/wmi-filtering-gpos-philip-cumiskey

https://social.technet.microsoft.com/Forums/en-US/8f802a56-a66e-495f-9e6f-48bfca341343/gpo-wmi-filter-for-laptops?forum=winserverGP

https://docs.microsoft.com/it-it/windows/win32/cimwin32prov/win32-operatingsystem

https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-systemenclosure

https://docs.microsoft.com/it-it/windows/win32/cimwin32prov/win32-computersystem

https://docs.microsoft.com/en-us/dotnet/api/microsoft.powershell.commands.pcsystemtype?view=powershellsdk-1.1.0

https://docs.microsoft.com/it-it/powershell/scripting/samples/collecting-information-about-computers?view=powershell-7.1

https://powershell.one/wmi/root/cimv2/win32_computersystem

https://docs.microsoft.com/it-it/dotnet/framework/wcf/diagnostics/wmi/

http://www.dotnethell.it/articles/WMI.aspx

https://github.com/vinaypamnani/wmie2/releases


GPO - group policy permission

 Sistemazione permessi GPO

Sto effettuando la migrazione di un dominio da Windows Server 2008R2 a Windows Server 2019. Ho aggiunto quindi il nuovo domain controller 2019 ed effettuato le verifiche del caso.

Tutto funziona correttamente tranne un problema che ho notato dalla console di gestione delle policy. Infatti se la apro (GPMC.MSC), selezione il dominio, e nella destra, tra i tab in alto scelgo STATUS e premo “DETECT NOW”, vengono trovati degli errori si sync.

Solitamente accade per i DC da Windows Server 2012 in poi.

Nel mio caso ha problemi la replica con Windows Server 2019. 

Si tratta di un problema di permessi. Non sono corrette le ACL di una o più policy (nel mio caso quasi tutte).

Ogni ACL (lista dei permessi e’ formata da un insieme di ACE

ACL = Access control list. Elenco dei permessi. Un file dove administrator ed user hanno permessi di lettura rappresenta una ACL

ACE = Access control entry. L’insieme delle ACE crea una ACL. L’utente pippo che può accedere ad un file/oggetto in sola lettura rappresenta un’ACE. 

Ad ogni modo si tratta di un problema noto. Il problema nasce dal fatto che Windows Server 2008R2 e precedenti mettevano più ACE per uno stesso utente (parlando di GPO). Verificando i permessi sulle GPO si nota che DOMAIN ADMINS appare più volte. Questo si può verificare anche per altri utenti (Enterprise admins, SYSTEM ecc. ecc.) 

La parte subdola del problema e’ che questa fatto si evidenzia solo usando ICACLS, tool a riga di comando per la gestione dei permessi. Da GUI sembra tutto normale. 

Prima di fare qualsiasi modifica vi consiglio di fare un backup delle GPO, tramite gpmc.msc.

Selezionare “Group policy objects” – tasto DX e scegliere “Backup ALL” 

Per risolvere occorre togliere le ACE duplicate e forzare una replica. Dopodiché occorre gestire e creare le nuove policy solo da Windows Server 2012 e superiori. 

Per sistemare occorre accedere al server 2008, aprire un command prompt ed andare nel percorso locale delle GPO (ES: C:\Windows\SYSVOL\domain\Policies). 

Utilizzare i seguenti comandi: 

icacls "{GPO UID}"

Fate attenzione e verificate i permessi degli utenti che andrete a toccare. 

icacls "{GPO UID}" /remove:g "<localdomain>\Domain Admins"

icacls "{GPO UID}" /grant "<localdomain>\Domain Admins":(OI)(CI)(F)

repadmin /syncall

repadmin /syncall /AdePq 

ESEMPIO

icacls {F8D0D4C5-EAFB-44C2-8AF5-9A93B1BFB639}

mostra i permessi della GPO 

icacls {F8D0D4C5-EAFB-44C2-8AF5-9A93B1BFB639} /remove:g "<localdomain>\Domain Admins"

toglie tutte le ACE relative a DOMAIN ADMINS

icacls {01C13992-5EC3-4C95-8F85-1D73AEEB657D} /grant "<localdomain>\Domain Admins":(OI)(CI)(F)

aggiunge la ACE relativa a DOMAIN ADMINS, una sola volta! 

p.s. icacls * > c:\temp\GPO_ACL_2008r2.txt crea un file di report di tutti i permessi, utile soprattutto se ci sono molte policy 

Dopodiché posso verificare nuovamente la ACL per vedere che non ci siano entry duplicate per altri utenti.

Come dicevo sopra, mi sono trovato entry duplicate anche per ENTERPRISE ADMINS e SYSTEM.

Alla fine, dopo aver verificato le ACL posso forzare una sincronizzazione usando i seguenti comandi. 

repadmin /syncall

repadmin /syncall /AdePq 

Lasciare passare un pochino da uno all’altro e verificate da GPMC sul nuovo server se il problema si e’ risolto verificando con GPMC dal server dove si e’ verificato l’errore di allineamento. 

Altri comandi utili per verificare lo stato di replica sono:

repadmin /replsummary

repadmin /showrepl 

Ma nel mio caso non hanno mai dato esito negativo nonostante questo problema sulle GPO. 

NOTA

Per creare le nuove policy usando solo il nuovo DC occorre selezionarlo dalla console gpmc.msc.
Aprire la console, selezionare il dominio, tasto dx e dal menu scegliere:
"CAMBIA CONTROLLER DI DOMINIO" 
Da qui procedere alla scelta del controller di dominio da utilizzare.


REFERENCE

https://social.technet.microsoft.com/Forums/ie/en-US/f16b0af1-8772-4f96-a9ac-fac47943e8e9/sysvol-permissions-for-one-or-more-gpo-are-not-in-sync?forum=ws2016

https://social.technet.microsoft.com/Forums/ie/en-US/1a5db5cb-f194-40b5-8545-37ccbac300e1/windows-server-2012-gpos-wont-sync?forum=winserverGP

https://ss64.com/nt/icacls.html