Visualizzazione post con etichetta Windows. Mostra tutti i post
Visualizzazione post con etichetta Windows. Mostra tutti i post

martedì 6 febbraio 2024

Windows: Verificare il supporto di DirectStorage

DirectStorage è una tecnologia introdotta da Microsoft che mira a migliorare i tempi di caricamento nei videogiochi sui dispositivi compatibili. Questa tecnologia, inizialmente incorporata nelle console Xbox Series X/S, è stata successivamente resa disponibile per Windows 11 e Windows 10

DirectStorage è un'API all'interno della famiglia DirectX (precisamente le DirectX 12 Ultimate) che permette di bypassare quasi completamente la CPU, mettendo in comunicazione diretta lo storage moderno, ossia gli SSD NVMe, con la GPU e la memoria a bordo della scheda video.

In genere, le risorse dei giochi devono essere caricate dall'unità SSD, inviate alla RAM e quindi decompresse dalla CPU prima di passare alla scheda grafica per il rendering. Questo comporta un carico sulla CPU e un rallentamento del sistema che si traduce in un'esperienza scadente.
L'API DirectStorage cambia le cose spostando il carico di decompressione dalla CPU alla GPU. Questo accelera il processo in quanto i file decompressi dalla GPU si trovano già sulla scheda grafica. L'API, inoltre, suddivide le risorse in batch, consentendo l'esecuzione di più richieste di elaborazione contemporaneamente.

Microsoft ha dichiarato che questo potrebbe ridurre il carico sulla CPU fino al 40%, il che potrebbe migliorare l'esperienza complessiva del gioco.

Per sfruttare DirectStorage è necessario disporre di un’unità Ssd Nvme con interfaccia PCIe 3.0 (o superiore) e una scheda grafica compatibile con DirectX 12 Ultimate. In passato, veniva richiesto anche un'unità Nvme da 1 terabyte, ma questo requisito è stato eliminato dalle specifiche ufficiali di DirectStorage, aprendo alla possibilità di utilizzare unità di archiviazione di capacità inferiore.


Per verificare se il proprio PC Windows supporta DirectStorage:
  • Premere la combinazione di tasti WIN+G per aprire la Xbox Game Bar.
  • Cliccare sull'icona delle impostazioni (l'icona a forma di ingranaggio).
  • Nella finestra Impostazioni selezionare Funzionalità di gioco e controllare le informazioni relative al supporto DirectStorage da parte della Gpu, del sistema operativo e delle unità di storage.
DirectStorage
FIG 1 - DirectStorage

Windows non offre un’opzione per attivare o disattivare DirectStorage: se il PC e i giochi soddisfano i requisiti, la funzione sarà attivata automaticamente. Al momento solo un numero limitato di giochi supporta DirectStorage.






domenica 14 gennaio 2024

Windows: Ripristinare i permessi degli utenti

La possibilità di poter reimpostare le autorizzazioni dell'utente in ambiente Windows può rivelarsi preziosa per risolvere problemi relativi all’accesso ad applicazioni o a documenti. Ad esempio, nel caso in cui si verifichino problemi con il profilo utente, potremmo non riuscire più ad accedere a particolari file o ad avviare alcune applicazioni in quanto non siamo autorizzati. Oppure potremmo dover accedere a un file proveniente da un vecchio backup o da un altro computer e che quindi è stato creato con un utente diverso; anche in questo caso, potrebbe non essere possibile accedere al file senza prima reimpostare le autorizzazioni utente di default. Windows offre diverse modalità per eseguire questa operazione. In questo articolo verrà mostrato come farlo tramite gli strumenti icacls e secedit.

ICACLS

Icacls è il sostituto di cacls (Change Access Control Lists), un'utilità a riga di comando che consente di mostrare ed eseguire alcune operazioni sulle ACL di file o directory.
L'ACL (Access Control List) è un elenco di permessi per un oggetto del filesystem e definisce il modo in cui la sua sicurezza viene controllata gestendo chi e come può accedervi.

Le operazioni sulle ACL non sono le uniche possibili con questo strumento. Ciò che rende icacls uno strumento potente è anche la possibilità di eseguire operazioni di backup e ripristino su ACL per file o directory, o di cercare i file che hanno un utente specifico come proprietario. Inoltre, nel caso in cui una ACL venga danneggiata o distrutta, con icacls è possibile ripristinarla resettandola e impostando i permessi predefiniti o ereditando quelli del genitore.

Icacls è un comando nativo di Windows a partire da Windows Vista.

Supponiamo di avere una pendrive contenente una cartella Backup a cui non riusciamo ad accedere per la mancanza di autorizzazioni.
Provando ad accedere alla cartella verrà visualizzato il messaggio di FIG 1
FIG 1
Non si dispone della autorizzazioni necessarie
FIG 1 - Non si dispone della autorizzazioni necessarie


In questi casi possiamo provare ad eseguire il reset delle autorizzazioni tramite icacls:
  • Avviare un prompt dei comandi come amministratore.
  • Posizionarsi sulla pendrive, quindi digitare il seguente comando per il ripristino delle autorizzazioni
    icacls * /t /q /c /reset
    il carattere jolly (*) include tutte le sottocartelle della directory corrente;
    /t estende la modifica alle sottocartelle e ai file all’interno della cartella corrente;
    /q esegue il comando senza visualizzare messaggi di conferma;
    /c consente di continuare l’operazione anche in caso di errori;
    /reset, infine, ripristina i valori predefiniti delle opzioni di autorizzazione.
    Accesso negato
    FIG 2 - Accesso negato

  • Se, come in questo caso, il comando dovesse restituire il messaggio di Accesso negato è necessario acquisire prima la proprietà delle cartelle interessate attraverso il comando takeown. Eseguire il comando
    takeown /R /F *
    quindi digitare S seguito da Invio per confermare la sostituzione delle autorizzazioni. Il parametro /R esegue un'operazione ricorsiva su tutti i file nella directory e nelle sottodirectory specificate, mentre /F permette di specificare il nome file o nome della directory (il carattere jolly permette di includere tutti i file e le sottocartelle della directory corrente).


Secedit

Secedit (Security Configuration Editor) è un’utilità di sistema integrata in Windows che consente di configurare e analizzare la sicurezza del sistema, dei file e delle cartelle.  Con secedit è possibile applicare e modificare set di regole di sicurezza definite tramite appositi modelli: file in formato .inf o .sdb. I file .inf sono file testuali editabili con un comune editor di testo, mentre i file .sdb sono veri e propri database.

Generalmente il comando viene utilizzato dagli amministratori di sistema per automatizzare la gestione delle politiche di sicurezza del sistema operativo o per ripristinare le impostazioni predefinite di Windows. Il comando va utilizzato con attenzione e può essere utile nei casi in cui il sistema operativo Microsoft non risponde più come dovrebbe per via dei permessi non assegnati in modo corretto. Ad esempio, sui sistemi windows che non permettono l'accesso alle cartelle (comprese quelle di sistema) e/o sui sistemi che sembrano sprovvisti di account amministrativi in grado di compiere operazioni con privilegi elevati.

Per riportare le impostazioni predefinite di tutte le autorizzazioni utente tramite il comando Secedit:
  • Avviare un prompt dei comandi come amministratore.
  • Eseguire il comando
    secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose
    per procedere alla riconfigurazione automatica utilizzando le direttive contenute nel file di configurazione defltbase.inf e creando poi il database di sicurezza defltbase.sdb per archiviare le impostazioni.
  • Al termine, bisognerà riavviare il computer e le autorizzazioni utente verranno ripristinate alle impostazioni di sistema predefinite.




domenica 3 dicembre 2023

PowerShell: Impedire il blocco del computer o l'attivazione screensaver a seguito inattività

Dopo un periodo di inattività, Windows provvede ad attivare lo screensaver e/o a bloccare il computer. Tale comportamento può essere personalizzato tramite le impostazioni del sistema operativo tuttavia, in alcuni contesti, potrebbe essere utile disporre di uno script PowerShell che faccia credere a Windows che il sistema sia in uso e impedire il blocco o la visualizzazione dello screensaver. Si pensi ad esempio ai PC aziendali per i quali l'accesso alle impostazioni è inibito all'utente, oppure per un attività temporanea da eseguire sul pc e (per pigrizia) non si intendono modificare le impostazioni del sistema.
PowerShell

In questi casi possiamo utilizzare il metodo SendKeys per simulare la pressione di un tasto da parte dell'utente. Uno semplice script potrebbe essere il seguente
 # Crea un oggetto Wscript.Shell che consente di accedere alla shell di Windows  
 $WShell = New-Object -com "Wscript.Shell"  
 # Ciclo infinito. Per interromperlo premere CTRL+C o chiudere la finestra  
 while ($true)  
 {  
  # Simula la pressione del tasto Bloc Scorr   
  # Il tasto viene premuto 2 volte per riportare lo stato di Bloc Scorr a quello iniziale  
  $WShell.SendKeys("{SCROLLLOCK}")  
  Start-Sleep -Milliseconds 100  
  $WShell.SendKeys("{SCROLLLOCK}")  
  # Attendo 5 minuti  
  Start-Sleep -Seconds 300  
 }   
Per specificare i caratteri che non vengono visualizzati quando si preme un tasto, come INVIO o TAB, e i tasti che rappresentano azioni anziché caratteri, è possibile  utilizzare i codici della seguente tabella.
Tasto Codice
BACKSPACE
{BACKSPACE}, {BS}, {BKSP}
PAUSA
{BREAK}
CAPS LOCK
{CAPSLOCK}
CANC
{DELETE}, {DEL}
FRECCIA GIU'
{DOWN}
FINE
{END}
INVIO
{ENTER}, ~
ESC
{ESC}
HELP
{HELP}
HOME
{HOME}
INS
{INSERT}, {INS}
FRECCIA SX
{LEFT}
BLOC NUM
{NUMLOCK}
PAG GIU'
{PGDN}
PAG SU'
{PGUP}
STAMP
{PRTSC}
FRECCIA DX
{RIGHT}
BLOC SCORR
{SCROLLLOCK}
TAB
{TAB}
FRECCIA SU'
{UP}
F1
{F1}
F2
{F2}
F3
{F3}
F4
{F4}
F5
{F5}
F6
{F6}
F7
{F7}
F8
{F8}
F9
{F9}
F10
{F10}
F11
{F11}
F12
{F12}
F13
{F13}
F14
{F14}
F15
{F15}
F16
{F16}
+
{ADD}
-
{SUBTRACT}
*
{MULTIPLY}
/
{DIVIDE}


Per specificare i tasti combinati con qualsiasi combinazione dei tasti MAIUSC, CTRL e ALT, far precedere il codice del tasto da uno o più dei seguenti codici.
Tasto Codice
SHIFT
+
CTRL
^
ALT
%




venerdì 1 dicembre 2023

PowerShell: Muovere il puntatore del mouse

Tramite PowerShell è possibile muovere il puntatore del mouse utilizzando l'assembly System.Windows.Forms, che contiene le classi per gestire la finestra grafica.

PowerShell


Un semplice script che muove il mouse ogni 30 secondi è il seguente

 Add-Type -AssemblyName System.Windows.Forms  
 # Ciclo infinito che aggiorna la posizione del mouse ogni 30 secondi finchè non viene premuto CTRL+C o chiusa la finestra  
 while ($true)  
 {  
  # Rileva la posizione attuale del mouse  
  $Pos = [System.Windows.Forms.Cursor]::Position  
  # Creo le nuove coordinate del puntatore aggiungendo un pixel e facendo in modo da non uscire dallo schermo (% 500)  
  $x = ($pos.X % 500) + 1  
  $y = ($pos.Y % 500) + 1  
  # Posiziona il puntatore del mouse nelle nuove coordinate  
  [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)  
  # Attende 30 secondi  
  Start-Sleep -Seconds 30  
 }  
Nello script, per evitare che il mouse finisca fuori dallo schermo, è stato adottato un piccolo espediente: il valore delle coordinate viene diviso per 500 e viene prelevato il resto della divisione (che sarà sicuramente inferiore a 500).

Per muovere il cursore in maniera randomica sullo schermo si può utilizzare il seguente script
 Add-Type -AssemblyName System.Windows.Forms  
   
 # Rileva la risoluzione del monitor principale  
 $WindowSize = [System.Windows.Forms.Screen]::GetWorkingArea(0)  
 $MaxWidth = $WindowSize.Width  
 $MaxHeight = $WindowSize.Height  
   
 #Esegue un loop e aggiorna la posizione del mouse finché non viene premuto CTRL + C o viene chiusa la finestra  
 while ($true)  
 {  
   # Genera randomincamente le nuove coordinale tenendo conto della risoluzione  
   $x = (Get-Random -Minimum 0 -Maximum $MaxWidth)  
   $y = (Get-Random -Minimum 0 -Maximum $MaxHeight)  
   Write-Host "`rNew position: x:$($x),y:$($y)  " -NoNewLine  
   # Posiziona il cursore nelle nuove coordinate  
   [System.Windows.Forms.Cursor]::Position = New-Object System.Drawing.Point($x, $y)  
   # Attende 30 secondi  
   Start-Sleep -Seconds 30  
 }  
Per chi stesse pensando di utilizzare questo metodo per evitare che Windows vada in stand-by in caso di inattività, dovrà pensare ad una soluzione alternativa. Il movimento del mouse tramite PowerShell, infatti, non è sufficiente affinché il sistema venga considerato "attivo" e Windows provvederà comunque a visualizzare lo screensaver, oscurare/bloccare lo schermo o attivare il risparmio energetico dopo un periodo di inattività.
Per fare in modo che Windows rilevi che il pc sia utilizzato è necessario un input da parte dell'utente e non solo il movimento del mouse. Per simulare l'input da parte dell'utente, ad esempio la pressione di un tasto, si può utilizzare il metodo SendKeys che illustrerò in un altro articolo.




venerdì 30 giugno 2023

Windows Server 2022: Gruppi di lavoro

Nelle reti di piccole dimensioni potrebbe non avere senso implementare un controller di dominio con Active Directory. In questi casi, per la condivisione di risorse tra i vari host, potrebbe essere sufficiente il gruppo di lavoro.

Cos'è un gruppo di lavoro

Un gruppo di lavoro è un gruppo peer-to-peer di computer che condividono risorse ma che non appartengono a un dominio Active Directory. Un gruppo di lavoro può avere un server centrale che fornisce alcuni servizi, oppure può semplicemente condividere i dati con le singole workstation. La presenza di uno o più server all'interno di un gruppo di lavoro non è necessaria, si può creare un gruppo di lavoro con i soli sistemi client. Un gruppo di lavoro può essere piccolo, composto da due computer, o di grandi dimensioni. Più il gruppo di lavoro diventa grande più diventa complesso da amministrare.

Affinché un gruppo di lavoro funzioni correttamente, tutti i sistemi devono condividere lo stesso nome di gruppo. Per impostazione predefinita, in Windows, un sistema non collegato a un dominio appartiene a un gruppo di lavoro chiamato WORKGROUP. La differenza principale da tenere presente tra le relazioni peer-to-peer e quelle client-server, come quelle realizzate in Active Directory, è che le relazioni peer-to-peer sono completamente decentralizzate. È necessario impostare esplicitamente l'accesso per gli utenti e le risorse su ogni server/workstation a cui si desidera connettere. 
Uno dei vantaggi principali dei gruppi di lavoro è che possono essere molto semplici da gestire, purché siano piccoli. È sufficiente configurare una risorsa per la condivisione e definire con chi si vuole condividere quella risorsa.

Per capire se un gruppo di lavoro è adatto al proprio ambiente è necessario capire che cosa si può fare o non si può fare con un gruppo di lavoro. Innanzitutto bisogna considerare la dimensione della rete. Ad esempio, se la rete è piccola, con meno di 15-20 host, un gruppo di lavoro può essere una buona soluzione. Se invece la rete è composta da 100 o più host, un gruppo di lavoro probabilmente non è una buona scelta, perché comporterebbe una grande quantità di lavoro per la sua gestione.
In un gruppo di lavoro è possibile condividere file, database e stampanti. Se questo è tutto ciò di cui si ha bisogno e la rete è di piccole dimensioni, allora un gruppo di lavoro potrebbe rappresentare una buona soluzione. In questo modo si risparmia la spesa per la creazione di un controller di dominio, che necessita di un ulteriore licenza per il sistema operativo del server, e il costo dell'assunzione di un amministratore di sistema che sappia come gestire Active Directory.
Tuttavia, non si dispone di un'autenticazione centralizzata: ogni utente deve avere un account sul sistema in cui vuole accedere alle risorse. Non è possibile gestire i sistemi con i Criteri di gruppo: è necessario utilizzare solo i criteri di sicurezza locali. Infine, non è possibile eseguire applicazioni che richiedono Active Directory. 

Confronto tra condivisione centralizzata e di gruppo

Se si decide di utilizzare un gruppo di lavoro bisognerà decidere anche il modello di condivisione da utilizzare: modello di condivisione centralizzato o un modello di condivisione di gruppo. Nel modello di condivisione centralizzato, tutti i dati sono archiviati su un unico sistema, una workstation o un server. Tutti gli altri membri del gruppo di lavoro si collegano a questa postazione centrale per utilizzare le risorse condivise. Il modello di condivisione centralizzata è il più semplice da sostenere, perché è possibile impostare gli account dei membri del gruppo di lavoro sul server e questi saranno in grado di condividere le risorse. Nel modello di condivisione di gruppo, tutte le workstation del gruppo condividono risorse diverse. Il modello di condivisione di gruppo può essere molto più complesso da gestire, perché tutti gli utenti devono avere accesso a ogni sistema su cui risiede la risorsa a cui si intende accedere.
 

Configurazione di un server per un gruppo di lavoro

Quando si configura un server come server di un gruppo di lavoro, è necessario aggiungere gruppi, utenti e le risorse che si desidera condividere. Prima di fare tutto ciò, è necessario cambiare il nome del gruppo di lavoro.


1. Modifica del nome del gruppo di lavoro
Il nome predefinito del gruppo di lavoro di Windows è WORKGROUP. In una piccola azienda è opportuno modificare il nome del gruppo di lavoro con qualcosa di più significativo (anche per una questione di sicurezza e di best practice). Ecco come fare: 
  • In Server Manager, cliccare su Server locale quindi sul collegamento WORKGROUP accanto alla scritta Gruppo di lavoro.
    Server Manager, Server locale
    FIG 1- Server Manager, Server locale

  • All'interno della finestra Proprietà del sistema cliccare sul pulsante Cambia.

    Proprietà del sistema
    FIG 2 - Proprietà del sistema

  • Nella casella di testo Gruppo di lavoro sostituire la scritta WORKGROUP con il nome che si desidera assegnare al gruppo di lavoro, quindi cliccare su OK.
    Cambiamenti dominio/nome computer
    FIG 3 - Cambiamenti dominio/nome computer

  • Verrà mostrata una finestra di dialogo con il nuovo nome. Cliccare su OK.
    Nuovo gruppo di lavoro
    FIG 4 - Nuovo gruppo di lavoro

  • Nella finestra successiva veniamo avvisati che è necessario riavviare il sistema per rendere effettive le modifiche. Cliccare su OK.
    Riavvio del sistema
    FIG 5 - Riavvio del sistema

  • Si ritorna alla  finestra Proprietà del sistema. Cliccare su Chiudi.
    Proprietà del sistema
    FIG 6 - Proprietà del sistema

  • A questo punto verrà mostrata una nuova finestra di dialogo che ci chiede se desideriamo riavviare il sistema o farlo in un momento successivo. Cliccare su Riavvia ora. Dopo il riavvio la modifica del nome del gruppo di lavoro sarà effettiva.
    Riavvio necessario
    FIG 7 - Riavvio necessario



2. Creazione di gruppi
Anziché lavorare sui singoli account utente è preferibile lavorare sui gruppi: si concedono le autorizzazioni per le risorse condivise al gruppo piuttosto che direttamente agli account utente. Questo garantisce agli utenti l'accesso a tutto ciò di cui hanno bisogno ed è molto più facile da gestire rispetto alle autorizzazioni dei singoli utenti. Per questo motivo, è consigliabile creare gruppi prima di creare utenti. Per creare un gruppo:
  • In Server Manager, cliccare sul menu Strumenti e selezionare Gestione computer.
    Server manager, Gestione computer
    FIG 8 - Server manager, Gestione computer

  • Selezionare Utenti e gruppi locali quindi fare doppio clic su Gruppi.
    Gestione computer
    FIG 9 - Gestione computer

  • Windows Server 2022 include diversi gruppi già pronti. Per creare un nuovo gruppo, cliccare sul menu Azione e selezionare Nuovo gruppo.

    Creazione nuovo gruppo
    FIG 10 - Creazione nuovo gruppo
  • Nella casella Nome gruppo digitare il nome che si intende assegnare al gruppo che si sta creando. Nella casella Descrizione è possibile scrivere una breve descrizione del gruppo. Cliccare su Crea per procedere alla creazione del gruppo.
    Nuovo gruppo
    FIG 11 - Nuovo gruppo
  • Cliccare su Chiudi per chiudere la finestra di dialogo Nuovo gruppo.
 

3. Creazione di utenti e aggiunta di utenti al gruppo
Per poter accedere a un gruppo di lavoro, un utente deve disporre di un account locale sul sistema a cui sta cercando di connettersi. Quando si crea l'account utente, è possibile concedere direttamente le autorizzazioni, ma aggiungere l'utente a un gruppo con le autorizzazioni corrette è molto più semplice. 
Ecco come creare un utente e aggiungerlo a un gruppo:
  • In Server Manager, dal menu Strumenti, selezionare Gestione computer.
  • Selezionare Utenti e gruppi locali quindi doppio click su Utenti.
    Gestione computer
    FIG 12 - Gestione computer

  • Windows Server 2022 include alcuni account utente già pronti. In questo esempio, andremo a creare un account utente chiamato Utente1. Cliccare sul menu Azione e selezionare Nuovo utente (in alternativa cliccare su Altre azioni sul lato destro della finestra e scegliere Nuovo utente).
    Creazione nuovo utente
    FIG 13 - Creazione nuovo utente

  • Nella finestra di dialogo Nuovo utente, compilare i campi Nome utente, Nome completo e Password. In un ambiente di produzione, si consiglia di lasciare selezionata la casella di controllo Cambiamento obbligatorio password all'accesso successivo. Cliccare su Crea.
    Nuovo utente
    FIG 14 - Nuovo utente
  • Cliccare su Chiudi per chiudere la finestra di dialogo Nuovo utente.
  • Fare clic con il tasto destro del mouse sull'utente appena creato e scegliere Proprietà. Verrà visualizzata la finestra di dialogo Proprietà nome utente (dove nome utente è il nome dell'utente di cui si sta esaminando le proprietà).

    Visualizzazione Proprietà account utente
    FIG 15 - Visualizzazione Proprietà account utente

  • Fare clic sulla scheda Membro di e cliccare sul pulsante Aggiungi
    Membro di
    FIG 16 - Membro di

  • Viene visualizzata la finestra di dialogo Seleziona Gruppi. Nel campo Immettere i nomi degli oggetti da selezionare, digitare il nome del gruppo creato in precedenza e fare clic su Controlla nomi. Se il gruppo viene trovato, sarà sottolineato e inizierà con il nome del server, come mostrato in FIG 17. Cliccare su OK per chiudere la finestra di dialogo.
    Seleziona Gruppi
    FIG 17 - Seleziona Gruppi

  • Cliccare su OK per chiudere la finestra delle proprietà.
    Proprietà utente
    FIG 18 - Proprietà utente
A questo punto abbiamo inserito il nuovo utente nel gruppo creato in precedenza.


4. Risorse condivise
Le cose più comuni che vengono condivise in uno scenario di gruppo di lavoro sono le stampanti e i file. Ecco come condividere file e cartelle:
  • In Server Manager, dal menu Strumenti, selezionare Gestione computer.
  • Cliccare su Cartelle condivise, quindi doppio clic su Condivisioni.
    Cartelle condivise
    FIG 19 - Cartelle condivise

  • Dal menu Azione selezionare Nuova condivisione per avviare la creazione guidata di una cartella condivisa.
    Nuova condivisione
    FIG 20 - Nuova condivisione

  • Nella prima schermata della creazione guidata, cliccare su Avanti per proseguire.
    Creazione guidata cartella condivisa
    FIG 21 - Creazione guidata cartella condivisa

  • Nella schermata Percorso cartella, fare clic su Sfoglia
    Percorso cartella
    FIG 22 - Percorso cartella

  • Nella finestra di dialogo Cerca cartella, navigare fino alla cartella che si desidera condividere, selezionarla e cliccare su OK.

    Cerca cartella
    FIG 23 - Cerca cartella

  • Riappare la finestra Percorso cartella con la cartella selezionata nel passo precedente. Cliccare su Avanti per proseguire.
  • La schermata successiva consente di modificare il nome della condivisione e di impostare le impostazioni offline. Ciò consente agli utenti offline di accedere ai file della condivisione. Cliccare su Avanti.
    Nome, descrizione e impostazioni
    FIG 24 - Nome, descrizione e impostazioni

  • La schermata successiva consente di personalizzare le autorizzazioni per la condivisione. Selezionare l'opzione Personalizza autorizzazioni, quindi fare clic su Personalizzate
    Personalizza autorizzazioni
    FIG 25 - Personalizza autorizzazioni

  • Viene visualizzata la finestra di dialogo Personalizza autorizzazioni. Di default il gruppo Everyone può accedere in lettura alla share. Per autorizzare un nuovo utente/gruppo cliccare su Aggiungi.
    Personalizza autorizzazioni
    FIG 26 - Personalizza autorizzazioni

  • Nella casella Immettere i nomi degli oggetti da selezionare, digitare il nome del gruppo creato in precedenza e fare clic su Controlla nomi per assicurarsi che venga risolto, quindi cliccare su OK.
    Seleziona Utenti o Gruppi
    FIG 27 - Seleziona Utenti o Gruppi
  • Nella sezione Autorizzazioni per gli utenti della workstation, impostare le autorizzazioni desiderate per la condivisione. In genere, si selezionano le caselle di controllo Modifica e Lettura. Una volta selezionate le autorizzazioni desiderate cliccare su OK.

    Autorizzazioni per il gruppo
    FIG 28 - Autorizzazioni per il gruppo

  • Cliccare su Fine.
    Autorizzazioni cartella condivisa
    FIG 29 - Autorizzazioni cartella condivisa

  • Nella schermata Condivisione riuscita, fare nuovamente clic su Fine.
    Condivisione riuscita
    FIG 30 - Condivisione riuscita

  • Dopo che la condivisione è stata aggiunta, verrà visualizzata in Condivisioni sotto Cartelle condivise, come mostrato in FIG 31.

    Condivisioni
    FIG 31 - Condivisioni

Se avete mai creato dei gruppi di lavoro su una versione precedente di Windows, sapete che il passo successivo consisteva nell'aggiungere il gruppo creato alle autorizzazioni di condivisione della cartella nel file system. Si trattava di un doppio lavoro. Fortunatamente, Microsoft ha posto rimedio a questa situazione. Quando si condivide la cartella nell'area Cartelle condivise di Gestione computer, vengono impostate anche le autorizzazioni di condivisione. Per controllare le impostazioni:
  • Avviare Esplora file, quindi posizionarsi sulla cartella condivisa.
  • Cliccare, con il tasto destro del mouse, sulla cartella condivisa e selezionare Proprietà dal menu contestuale.
  • Selezionare la scheda Condivisione e cliccare su Condivisione avanzata.
    Proprietà
    FIG 32 - Proprietà

  • In questa schermata è possibile modificare il numero di utenti che possono connettersi contemporaneamente, modificare le autorizzazioni e modificare la cache. In questo contesto, il caching si riferisce all'accesso offline. Cliccare su Autorizzazioni.
    Condivisione avanzata
    FIG 33 - Condivisione avanzata

  • Come visibile in FIG 34, le autorizzazioni saranno quelle impostate attraverso la procedura guidata.
    Autorizzazioni
    FIG 34 - Autorizzazioni






martedì 9 maggio 2023

Windows Quick Tip: Generare coppia di chiavi SSH tramite riga di comando

Gli algoritmi crittografici sono fondamentali per la sicurezza delle comunicazioni.
Il protocollo di rete SSH (Secure Shell) sfrutta la crittografia asimmetrica per rendere sicura la connessione veicolata attraverso una rete insicura come ad esempio Internet. Grazie all'integrazione della tecnologia OpenSSH avvenuta nel 2018, i sistemi operativi Microsoft sono in grado di gestire in maniera nativa le chiavi crittografiche per svariati utilizzi. Tramite il client OpenSSH integrato in Windows è possibile generare manualmente una coppia di chiavi crittografiche da utilizzare per applicazioni web o altro. La generazione delle chiavi in Windows può essere eseguita dal prompt dei comandi (WIN+R e poi digitare ed eseguire il comando cmd) tramite il comando
ssh-keygen
Per la generazione delle due chiavi SSH verrà richiesto di specificare il nome dei file corrispondenti e, facoltativamente, sarà possibile immettere una frase di sicurezza da utilizzare per la protezione della chiave privata. Alla fine del processo verranno prodotti due file. Il file contenente la chiave private è riconoscibile poiché senza estensione mentre quello contenente la chiave pubblica sarà caratterizzato dall'estensione .pub.
ssh-keygen
FIG 1 - ssh-keygen
I file possono essere aperti con un comune editor di testo come blocco note (notepad.exe).
OpenSSh Private key
FIG 2 - OpenSSh Private key

Sintassi

ssh-keygen [Opzioni]

Opzioni

Alcune opzioni importanti del comando ssh-keygen sono le seguenti:

-b bit
Specifica il numero di bit della chiave da creare. La lunghezza predefinita è 3072 bit (RSA) o 256 bit (ECDSA).

-C commento 
Permette di specificare un commento personalizzato alla chiave (che verrà aggiunto alla fine della chiave pubblica).

-p 
Richiede di modificare la passphrase di un file di chiave privata invece di creare una nuova chiave privata.

-t 
Specifica il tipo di chiave da creare. I valori accettati sono:
  • RSA
  • DSA
  • ECDSA
  • ed25519

-o 
Utilizza il nuovo formato OpenSSH.

-q 
Quiet. Durante il processo non viene visualizzato alcun output a video. Viene utilizzato dal file /etc/rc durante la creazione di una nuova chiave.

-N 
Fornisce una nuova passphrase.

-B 
Scarica la fingerprint della chiave nel formato Bubble Babble.

-l
Scarica la fingerprint della chiave in formato SHA-2 (o MD5).




lunedì 1 maggio 2023

Windows Quick Tip: Visualizzare la versione, l'edizione e la build di Windows dal file ISO o WIM

In questo articolo approfondiremo quanto già visto nell'articolo Windows Quick Tip: Visualizzare informazioni su un file WIM (Windows Imaging) mostrando come utilizzare DISM e PowerShell per scoprire quali versioni, edizioni, build, language pack di Windows sono presenti all'interno di un file ISO o WIM. Se il nome di un file ISO (o il nome del supporto di installazione) non contiene una versione e una build, è difficile sapere quale versione di Windows contiene. In questi casi è possibile montare il file ISO contenente l'immagine di installazione di Windows e recuperare tali informazioni dal file install.wim.

Una volta montato il file ISO (o inserito il supporto di installazione) accedere alla cartella sources e individuare il file di installazione contenente l'immagine di Windows. Il file si chiama install e può avere una delle seguenti estensioni:
  • install.wim. WIM è un formato standard di immagine di installazione di Windows.
  • install.esd. ESD è un file immagine compresso.
  • install.swm. SWM viene utilizzato se si desidera dividere un'immagine WIM di grandi dimensioni in più file di dimensioni non superiori a 4 GB, in modo da inserirli nel file system FAT32 se si crea una chiavetta USB di installazione.
Prendere nota del nome del file e del suo percorso, avviare il prompt dei comandi come amministratore ed eseguire il seguente comando
DISM /Get-WimInfo /WimFile:"X:\sources\install.wim"
sostituendo X:\sources\Install.wim con nome del file, comprensivo del percorso, individuato in precedenza.

Verranno visualizzate le informazioni relative alla versione di Windows contenuta nel file. Nel caso si tratti di un ISO multi-edition, verrà visualizzato un elenco delle edizioni disponibili (Education, Home, Enterprise, Pro, ecc.) come mostrato in FIG 1.
Immagine di Windows multi-edition
FIG 1 - Immagine di Windows multi-edition

Ogni edizione è contrassegnata da un indice utilizzabile per ottenere informazioni più dettagliate. Per visualizzare maggiori informazioni (come build e lingue disponibili) su un'edizione specifica presente in elenco, è possibile indicarla tramite l'indice e l'opzione /index aggiunta al comando DISM visto in precedenza. Ad esempio, per visualizzare le informazioni sull'edizione contrassegnata dall'indice 5, basterà eseguire il comando
DISM /Get-WimInfo /WimFile:"X:\Sources\Install.wim" /index:5
DISM multi-edition, index
FIG 2 - DISM multi-edition, index

L'operazione sopra descritta può essere automatizzata tramite un semplice script PowerShell
 #Indicare il file ISO contenente l'immagine di Windows (ad es. d:\win.iso)  
 $imagePath = (Read-Host -Prompt "Indicare il file ISO contenente l'immagine di Windows")  
 #Verifico se il file indicato esiste  
 If (Test-Path -Path $imagePath){  
      #Se il file esiste provo a montarlo  
      $mountResult = Mount-DiskImage $imagePath -PassThru  
      #Recupero la lettera di unità con cui viene identificata l'immagine montata  
      $driveLetter = "$(($mountResult | Get-Volume).DriveLetter):"  
      #Visualizzo le versioni di Windows contenute nel file install.wim  
      Get-WindowsImage -ImagePath "$driveLetter\sources\install.wim"  
      #Esegue l'unmount dell'immagine  
      Dismount-DiskImage $mountResult.ImagePath  
 }  
 else{  
      #Il file specificato non è stato trovato  
      write-host("Il file specificato non esiste!")  
 }  
Script PowerShell per la visualizzazione delle edizioni di Windows presenti nell'immagine
FIG 3 - Script PowerShell per la visualizzazione delle edizioni di Windows presenti nell'immagine

Con alcune modifiche possiamo generare un report che visualizza i dettagli di ciascuna edizione di Windows presente nell'immagine
 $Report = @()  
 #Indicare il file ISO contenente l'immagine di Windows (ad es. d:\win.iso)  
 $imagePath = (Read-Host -Prompt "Indicare il file ISO contenente l'immagine di Windows")  
 #Verifico se il file indicato esiste  
 If (Test-Path -Path $imagePath){  
      #Se il file esiste provo a montarlo  
      $mountResult = Mount-DiskImage $imagePath -PassThru  
      #Recupero la lettera di unità con cui viene identificata l'immagine montata  
      $driveLetter = "$(($mountResult | Get-Volume).DriveLetter):"  
      #Visualizzo le versioni di Windows contenute nel file install.wim  
      $WinImages = Get-WindowsImage -ImagePath "$driveLetter\sources\install.wim"  
      #Per ogni edizione di Windows contenuta nell'immagine  
      Foreach ($WinImage in $WinImages){  
           #Recupera informazioni da inserire nel report  
           $curImage=Get-WindowsImage -ImagePath "$driveLetter\sources\install.wim" -Index $WinImage.ImageIndex  
           $objImage = [PSCustomObject]@{  
                ImageIndex = $curImage.ImageIndex  
                ImageName = $curImage.ImageName  
                Version = $curImage.Version  
                Languages=$curImage.Languages  
                Architecture =$curImage.Architecture  
           }  
           $Report += $objImage  
      }  
      #Esegue l'unmount dell'immagine  
      Dismount-DiskImage $mountResult.ImagePath  
      #Visualizza il report  
      $Report | Out-GridView  
 }  
 else{  
      #Il file specificato non è stato trovato  
      write-host("Il file specificato non esiste!")  
 }  
Report edizioni di Windows contenute nell'immagine
FIG 4 - Report edizioni di Windows contenute nell'immagine