lunedì 10 aprile 2023

Windows Server 2022: Configurazione delle opzioni di avvio con BCDEdit

Con Windows Server 2008, Microsoft ha introdotto un'utility chiamata BCDEdit, che consente di manipolare l'archivio dei dati di configurazione di avvio di Windows (il file BCD o Boot Configuration Data). Il file BCD viene utilizzato per indicare al sistema operativo come avviarsi e contiene tutti i parametri di configurazione di avvio necessari. Questo strumento ha sostituito la vecchia utility bootcfg.exe che veniva usata per modificare il file boot.ini nelle versioni di Windows antecedenti a Windows Vista. Per utilizzare BCDEdit è necessario essere membri del gruppo di amministratori locali di un sistema. Si tratta di un'utilità avanzata, utile per la risoluzione di problemi che impediscono il corretto avvio di un server.

Nell'utilizzo di BCDEdit bisogna prestare molta attenzione, se si commettono errori con l'utility il sistema potrebbe non essere in grado di avviarsi. Assicurarsi sempre di avere un buon backup del sistema o esportate le impostazioni correnti da BCDEdit in modo da poterle ripristinare, se necessario, successivamente. È possibile esportare il database della configurazione di avvio corrente digitando 
BCDEdit /Export <export_path>
dove al posto di <export_path> va indicato il percorso e il nome del file in cui verrà esportato il contenuto dell'archivio di sistema (ad esempio C:\BackupBCD).
Se si vuole ripristinare l'esportazione, il comando è molto simile. È sufficiente digitare 
BCDEdit /Import <export_path>. 
Esportazione BCD
FIG 1 - Esportazione BCD
In tabella sono riportate le opzioni più comuni di BCDEdit.
Opzione Descrizione
/bootdebug
Abilita o disabilita il debug di avvio
/bootsequence
Imposta la sequenza di avvio singolo per Boot Manager
/copy
Crea copie delle voci presenti nel datastore.
/createstore
Crea un nuovo archivio dei dati di configurazione di avvio vuoto.
/dbgsettings
Imposta i parametri globali del debugger.
/debug
Abilita o disabilita il debug del kernel per una voce del sistema operativo.
/delete
Elimina le voci di avvio dal datastore - usare con cautela!
/deletevalue
Elimina o rimuove un'opzione di ingresso all'avvio - usare con cautela!
/displayorder
Imposta l'ordine utilizzato dal Boot Manager durante la visualizzazione del menu multiboot
/enum
Elenca tutte le voci del datastore nella configurazione di boot.
/export
Esporta il contenuto del BCD; può essere utilizzato come backup per ripristinare il BCD
/import
Importa il contenuto di un file esportato; può essere usato come opzione di ripristino, se necessario.
/set
Imposta un valore in un'opzione di avvio
/timeout
Imposta il valore di timeout per Boot Manager.


Il più delle volte si usa bcdedit /set per apportare modifiche al datastore della configurazione di avvio. Prima di apportare qualsiasi modifica, è necessario conoscere l'aspetto attuale del BCD. Per farlo, si può usare l'opzione /enum. Eseguire il comando dal prompt dei comandi
 BCDEdit /enum  
Come visibile in FIG 2 il comando visualizza le impostazioni correnti di Windows Boot Manager e del Caricatore di avvio di Windows (Windows Boot Loader). 
Elenca voci dell'archivio BCD
FIG 2 - Elenca voci dell'archivio BCD
Si può notare che la descrizione del Caricatore di avvio di Windows riporta la dicitura "Windows Server". Supponiamo di voler modificare la descrizione. Per farlo possiamo utilizzare l'opzione /set di BCDEdit, indicando l'ID dell'oggetto su cui vogliamo intervenire e il nome del campo seguito dal nuovo valore.  In FIG 2 vediamo che l'identificatore (ID) del Caricatore di avvio di Windows che vogliamo modificare è {current} e il campo su cui vogliamo intervenire è identificato dal nome description, pertanto il comando da eseguire sarà simile a
 BCDEdit /set {current} description "Windows Server 2022 Datacenter"  
Questo comando funzionerà perfettamente in un prompt dei comandi, ma per eseguirlo in PowerShell, è necessario racchiudere anche l'identificatore tra virgolette come indicato di seguito
 BCDEdit /set "{current}" description "Windows Server 2022 Datacenter"  
Impostare un valore in un'opzione di avvio
FIG 3 - Impostare un valore in un'opzione di avvio
Quando viene visualizzato il messaggio Operazione completata, eseguire nuovamente il comando
 BCDEdit /enum  
Come visibile in FIG 4, verrà visualizzata la nuova descrizione.
Elenca voci dell'archivio BCD
FIG 4 - Elenca voci dell'archivio BCD

I motivi per i quali possiamo voler cambiare il nome del Windows Boot Loader possono essere vari. Ad esempio nel caso di un sistema ad avvio multiplo che ha lo stesso sistema operativo su due dischi ma ciascuno di essi viene utilizzato per scopi diversi. In questi casi la possibilità di modificare le descrizioni può semplificare la scelta del sistema appropriato dal menu di avvio. BCDEdit può anche essere usato per cambiare l'ordine del menu di avvio e impostare una selezione predefinita che verrà avviata dopo un tempo di attesa specificato.




mercoledì 5 aprile 2023

Windows Server 2022: Configurazione Windows Firewall

Se si intende utilizzare il firewall presente in Windows Server è fondamentale sapere come abilitare il traffico in entrata per determinate applicazioni e servizi. In quest'articolo vedremo brevemente come procedere. Come per gli articoli precedenti, vedremo come eseguire tale operazioni tramite GUI (sui sistemi Windows Server 2022 con Desktop experience) e utilizzando PowerShell (sui Server Core e su Windows Server 2022 con Desktop experience).

Abilitare app e funzionalità sul firewall utilizzando la GUI

Da Server Manager, selezionare Server locale sul lato sinistro quindi cliccare sul link accanto a Microsoft Defender Firewall.
Server Manager, Server locale
FIG 1 - Server Manager, Server locale
Cliccare sul link Consenti app tramite firewall.
Sicurezza di Windows
FIG 2 - Sicurezza di Windows
Selezionare Condivisione file e stampanti e attivarla per il profilo Privato e Dominio selezionando le relative caselle. Cliccare su OK per salvare le modifiche
App consentite
FIG 3 - App consentite


Abilitare app e funzionalità sul firewall utilizzando PowerShell

Quando si utilizza PowerShell, la prima operazione consiste nell'individuare il nome della regola di Microsoft Defender Firewall su cui si intende intervenire. Questo può essere eseguito tramite il cmdlet Get-NetFirewallRule. Eseguire il seguente comando per individuare tutte le regole nel cui nome compare la parola "remote"
 Get-NetFirewallRule *remote* | Format-table  
Il cmdlet Format-Table rende l'output più leggibile formattandolo come una tabella, con le proprietà selezionate dell'oggetto in ogni colonna. Nell'output ci viene anche indicato se la regola è attiva oppure no.
Get-NetFirewallRule
FIG 4 - Get-NetFirewallRule
Abilitiamo le regole di gestione remota del firewall. Queste consentono di amministrare il firewall del server da un altro sistema. Le regole interessate sono RemoteFwAdmin-In-TCP e RemoteFWAdmin-RPCSS-In-TCP. I comandi da utilizzare per abilitare le 2 regole sono
 Set-NetFirewallRule –Name "RemoteFwAdmin-In-TCP" –Enabled True  
 Set-NetFirewallRule –Name "RemoteFwAdmin-RPCSS-In-TCP" –Enabled True  
Set-NetFirewallRule
FIG 5 - Set-NetFirewallRule
Come visibile anche in FIG 5, se i comandi vengono completati correttamente, non si ottiene alcuna risposta ma si tornerà al prompt di PowerShell.
Eseguendo nuovamente la ricerca, si vedrà che le 2 regole sono ora attive.
Regole attivate
FIG 6 - Regole attivate






martedì 4 aprile 2023

Windows Quick Tip: Personalizzazione del tasto Stamp

Lo screenshot (o cattura dello schermo) è un'istantanea di quanto visualizzato sul monitor del computer, del tablet o di uno smartphone.
La scorciatoia più diffusa per scattare uno screenshot in ambiente Windows è quella che si avvale dell'utilizzo del tasto Stamp presente sulle tastiere e generalmente utilizzato per acquisire l'intero schermo. Sia in Windows 10 che in Window 11, il comportamento del tasto Stamp può essere personalizzato aggiungendo delle funzionalità extra:
Nella casella di ricerca di Windows digitare Stamp quindi selezionare Usa il tasto STAMP per avviare la cattura dello schermo.
Casella di ricerca di Windows
FIG 1 - Casella di ricerca di Windows
Attivare l'opzione Utilizza il pulsante STAMP per aprire la cattura schermo e riavviare il sistema.
Utilizza il pulsante STAMP per aprire la cattura schermo
FIG 2 - Utilizza il pulsante STAMP per aprire la cattura schermo

Dopo il riavvio, ogni volta che si premerà il tasto Stamp, verranno visualizzate nella parte alta dello schermo quattro opzioni: Cattura rettangolare, Cattura figura a mano libera, Cattura finestra, Cattura a schermo intero.
Cattura Schermo
FIG 3 - Cattura Schermo
Tali opzioni possono comunque essere richiamate con la combinazione di tasti WIN+SHIFT+S come mostrato nell'articolo Windows Quick Tip: Acquisizione di screenshot.



lunedì 3 aprile 2023

Windows Server 2022: Abilitazione dell'amministrazione remota

Un server può essere amministrato da remoto tramite l'utilizzo di diversi strumenti tra cui Server Manager, PowerShell e Desktop Remoto. In quest'articolo verrà illustrato come attivare l'amministrazione remota su Windows Server 2022 con desktop experience e sui Server Core.

Windows Server 2022 con Desktop experience

In Windows Server 2022 con Desktop experience la gestione remota è abilitata per impostazione predefinita e consente l'amministrazione remota del server tramite PowerShell
Per quanto riguarda Desktop remoto è una funzione separata che consente di connettersi al server e di lavorarci come se ci si trovasse di fronte al suo schermo e alla sua tastiera, pur essendo fisicamente distanti. Per impostazione predefinita, questa opzione è disattivata e, per utilizzarla, è necessario attivarla manualmente. Per permettere la connessione al server tramite desktop remoto, inoltre, va abilitata la regola Desktop remoto - Modalità utente (TCP-In) elencata nelle Regole connessioni in entrata del firewall del server. 

Vediamo di seguito come procedere.
Da Server Manager, cliccare su Server locale nel menu a sinistra. Cliccare, quindi, sul collegamento ipertestuale Disabilitato accanto alla voce Desktop remoto (in alternativa eseguire SystemPropertiesRemote.exe).
Server Manager, Desktop remoto
FIG 1 - Server Manager, Desktop remoto
Nella finestra di Proprietà del sistema, selezionare Consenti connessioni remote al computer.
Proprietà del sistema
FIG 2 - Proprietà del sistema
Verrà visualizzata una finestra di dialogo che ci informa dell'attivazione di un'eccezione del firewall per Desktop remoto. Cliccare su OK.
Connessione Desktop remoto
FIG 3 - Connessione Desktop remoto
Se si desidera impostare l'accesso remoto per persone o gruppi specifici, fare clic sul pulsante Seleziona utenti.
Proprietà del sistema, Seleziona utenti
FIG 4 - Proprietà del sistema, Seleziona utenti
Fare clic su Aggiungi (FIG 5), scegliere la persona o il gruppo e fare clic su OK(FIG 6).

Utenti desktop remoto
FIG 5 - Utenti desktop remoto

Seleziona Utenti
FIG 6 - Seleziona Utenti
Cliccare sul pulsante OK nella finestra di dialogo Utenti desktop remoto per chiuderla.
Utenti desktop remoto
FIG 7 - Utenti desktop remoto

Fare nuovamente clic su OK nella schermata Proprietà del sistema per abilitare Remote Desktop.
Proprietà del sistema
FIG 8 - Proprietà del sistema
A questo punto aggiornando la pagina di Server Manager, vedremo che Desktop remoto è stato abilitato.
Server Manager
FIG 9 - Server Manager

Dopo aver abilitato Desktop remoto su Windows Server 2022, è possibile accedere e gestire il server da remoto. Se si desidera consentire a più utenti di accedervi contemporaneamente, è necessario installare il ruolo Servizi desktop remoto (Remote Desktop Services o RDS che, su Windows Server 2022, non viene installato per default).

Windows Server 2022 Core

La gestione remota è abilitata per impostazione predefinita in Windows Server 2022 Core in modo da permettere l'amministrazione del server da remoto con Server Manager. Se nel vostro ambiente è stata disattivata, è possibile attivarla  tramite SConfig o tramite PowerShell con il cmdlet Configure-SMRemoting (utilizzabile anche sulle versioni di Windows Server dotate di Desktop Experience). 

Abilitazione gestione remota tramite SConfig
Da SConfig digitare 4 seguito da Invio per selezionare la voce Gestione remota.
SConfig
FIG 10 - SConfig
Digitare 1 seguito da Invio per abilitare la gestione remota.
Configura gestione remota
FIG 11 - Configura gestione remota
Dopo qualche secondo un messaggio ci avvisa dell'avvenuta abilitazione. Premere Invio per ritornare alla homepage di Sconfig.
Gestione remota abilitata
FIG 12 - Gestione remota abilitata


Abilitazione gestione remota tramite PowerShell
Per abilitare la gestione remota da PowerShell eseguire il comando
 Configure-SMRemoting -Enable  
Configure-SMRemoting
FIG 13 - Configure-SMRemoting


Per poter amministrare il server in remoto con PowerShell, sono necessari due comandi aggiuntivi: Enable-PSRemoting e WinRM QuickConfig

Enable-PSRemoting configura PowerShell per ricevere i comandi remoti inviati al sistema. Il comando non fornisce alcune risultato in caso di successo ma verrà semplicemente riproposto il prompt dei comandi di PowerShell. Eseguire il comando
 Enable-PSRemoting -Force  
Enable-PSRemoting
FIG 14 - Enable-PSRemoting


WinRM QuickConfig analizza e configura automaticamente il servizio WinRM (Gestione remota Windows). Il comando avvia il servizio WinRM se non è già avviato e assicura che WinRM sia impostato per l'avvio automatico. Si assicura, inoltre, che il firewall di Windows consenta il traffico HTTP e HTTPS in entrata e configura un listener per le porte che inviano e ricevono messaggi di protocollo WS-Management usando HTTP o HTTPS. Eseguire il comando
 WinRM QuickConfig   
Dopo aver eseguito l'analisi, ci può essere richiesto di confermare o meno alcune modifiche necessarie (come impostare l'avvio automatico del servizio WinRM e l'attivazione di un'eccezione firewall). Alle richieste di conferma rispondere affermativamente digitando Y seguito da Invio.
WinRM QuickConfig
FIG 15 - WinRM QuickConfig
Se durante l'analisi tutto è risultato corretto, al posto delle conferme di modifica, verrà visualizzato un messaggio che WinRM è già in esecuzione ed è già impostato per la gestione remota.
WinRM in esecuzione
FIG 16 - WinRM in esecuzione

Abilitazione Desktop remoto tramite SConfig
Per abilitare Desktop remoto utilizzando SConfig, digitare 7 seguito da Invio per selezionare la voce Desktop remoto.
Sconfig
FIG 17 - Sconfig
Digitare A seguito da invio per abilitare Desktop remoto.
Abilita Desktop remoto
FIG 18 - Abilita Desktop remoto
Selezionare l'opzione Consenti solo client che eseguono Desktop remoto con Autenticazione a livello di rete (sicurezza superiore) digitando 1 seguito da Invio.
Consenti client
FIG 19 - Consenti client
Un messaggio ci avvisa che l'operazione è stata completata. Premere Invio per ritornare nella schermata principale di SConfig.
Configurazione Desktop remoto completata
FIG 20 - Configurazione Desktop remoto completata
Nella homepage di SConfig alla voce Desktop remoto apparirà Abilitato (client con livello di sicurezza superiore).
Desktop remoto abilitato
FIG 21 - Desktop remoto abilitato

Abilitazione Desktop remoto tramite PowerShell
Per abilitare Desktop remoto tramite PowerShell è necessario eseguire i seguenti comandi.
 Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -value 0  
 Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\' -Name "UserAuthentication" -Value 1  
 Enable-NetFirewallRule -DisplayGroup "Desktop remoto"  
Abilitazione Desktop remoto tramite PowerShell
FIG 22 - Abilitazione Desktop remoto tramite PowerShell

Come si intuisce dai comandi, il primo abilita effettivamente Desktop remoto, il secondo abilita l'autenticazione a livello di rete (sicurezza superiore) mentre il terzo abilita la regola Desktop remoto - Modalità utente (TCP-In) elencata nelle Regole connessioni in entrata del firewall del server.

È possibile utilizzare PowerShell per concedere le autorizzazioni all'uso di Desktop remoto. Gli amministratori possono accedere in remoto per impostazione predefinita. Per dare agli utenti non amministratori il permesso di utilizzare Desktop remoto, basta aggiungerli al gruppo locale Utenti Desktop Remoto con il comando
 Add-LocalGroupMember -Group "Utenti Desktop Remoto" -Member Administrator  
ovviamente sostituendo Administrator con l'utente/gruppo che si intende abilitare.


Disabiliare Desktop remoto tramite PowerShell
Per disattivare Desktop remoto tramite PowerShell basta eseguire i comandi
 Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 1  
 Disable-NetFirewallRule -DisplayGroup "Remote Desktop"  







mercoledì 29 marzo 2023

Windows Server 2022: Aggiunta di ruoli e funzionalità

Nei prossimi articoli verrà mostrato come personalizzare l'installazione di Windows Server 2022 con l'aggiunta di ruoli e funzionalità, abilitazione dell'amministrazione remota e configurazione di Windows Firewall. Come per i precedenti articoli vedremo come procedere sia in ambiente Windows con esperienza desktop sia in ambiente Server core. Si tratta solo di un'accenno, tali argomenti verranno ripresi e approfonditi più avanti.

In questo articolo mostrerò come aggiungere ruoli e funzionalità al nostro server. Nello specifico vedremo come installare il ruolo di file server utilizzando la GUI (per le versioni di Windows server dotati di Desktop Experience) e tramite PowerShell (metodo utilizzabile sia sui server Windows con Desktop Experience, sia sulle versioni Core). SConfig, presente sui Server Core, in questo caso non ci è d'aiuto se non per avviare PowerShell.

Aggiunta di ruoli e funzionalità tramite GUI

I ruoli e le funzionalità possono essere aggiunti in Windows Server 2022 con Desktop Experience attraverso Server Manager (che, per impostazioni predefinita, viene avviato all'accesso al server).
Da Server Manager, cliccare su Aggiungi ruoli e funzionalità per avviare il Wizard che ci guiderà nell'operazione.
Server Manager
FIG 1 - Server Manager
Nella pagina Prima di iniziare, il Wizard fornisce alcune informazioni preliminari sull'installazione/rimozione dei ruoli e funzionalità. Cliccare su Avanti.
Aggiunta guidata ruoli e funzionalità, Prima di iniziare
FIG 2 - Aggiunta guidata ruoli e funzionalità, Prima di iniziare
Nella pagina Selezione tipo di installazione dobbiamo selezionare il tipo di installazione desiderato: è possibile scegliere tra installare ruoli e funzionalità su un server oppure installare una specifica risorsa sull'infrastruttura VDI. Lasciare selezionata l'opzione Installazione basata su ruoli o basata su funzionalità e cliccare su Avanti per proseguire.  
Selezione tipo di installazione
FIG 3 - Selezione tipo di installazione
Nella pagina Selezione server di destinazione, possiamo selezionare su quale server installare i ruoli e le funzionalità. Al momento abbiamo un unico server quindi proseguire cliccando su Avanti.
Selezione server di destinazione
FIG 4 - Selezione server di destinazione
In Selezione ruoli server, siamo chiamati a selezionare i ruoli che intendiamo installare. Selezionare File Server presente all'interno di Servizi file e archiviazione->Servizi file e iSCSI e cliccare su Avanti.
Selezione ruoli server
FIG 5 - Selezione ruoli server
Nella schermata successiva, vengono evidenziate le funzionalità che verranno installate insieme al ruolo selezionato in precedenza. É possibile selezionare ulteriori funzionalità da installare. Cliccare su Avanti per proseguire.
Selezione funzionalità
FIG 6 - Selezione funzionalità
Nella pagina Conferma selezioni per l'installazione, viene mostrato un resoconto di quello che verrà installato. Se si desidera che il server si riavvii automaticamente, se necessario, a seguito dell'installazione del ruolo selezionato, è possibile selezionare la casella di controllo Riavvia automaticamente il server di destinazione se necessario. Cliccare su Installa per installare i ruoli e/o le funzionalità selezionate.
Conferma selezioni per l'installazione
FIG 7 - Conferma selezioni per l'installazione
Avvio installazione
FIG 8 - Avvio installazione
Terminata l'installazione, cliccare su Chiudi per chiudere la finestra di dialogo del Wizard.
Installazione terminata
FIG 9 - Installazione terminata



Aggiunta di ruoli e funzionalità tramite PowerShell

Sui Server Core non abbiamo un Wizard che ci guida nell'installazione di un ruolo e bisogna procedere tramite PowerShell.
Da SConfig digitare 15 seguito da Invio per avviare PowerShell.
SConfig
FIG 10 - SConfig
Prima di poter installare un ruolo tramite PowerShell è necessario conoscere il suo nome. Tramite il cmdlet Get-WindowsFeature possiamo visualizzare tutti i ruoli e le funzionalità disponibili.  Il cmdlet consente anche di eseguire una ricerca indicando il nome o parte di esso (accetta anche caratteri jolly), di un ruolo/funzionalità. Per ricercare il ruolo di File server è possibile utilizzare il comando
 Get-WindowsFeature *file*  
Get-WindowsFeature
FIG 11 - Get-WindowsFeature
Come visibile in FIG 11, vengono trovati 3 elementi che hanno nel nome la stringa "file" che abbiamo specificato. L'elemento che ci interessa è quello che ha come Display Name File Server e nome FS-FileServer. Per installare tale ruolo eseguire il comando
 Install-WindowsFeature FS-FileServer  
Viene visualizzata una barra di avanzamento (FIG 12) mentre la funzione viene installata. Dopo l'installazione, se si esegue nuovamente il comando Get-WindowsFeature *file*, si nota che è stato installato anche Servizi file e iSCSI (FIG 14)in quanto necessario al funzionamento di File Server.
Installazione ruolo in corso
FIG 12 - Installazione ruolo in corso

Installazione ruolo terminata
FIG 13 - Installazione ruolo terminata

Get-WindowsFeature
FIG 14 - Get-WindowsFeature