Visualizzazione post con etichetta Sistema Operativo. Mostra tutti i post
Visualizzazione post con etichetta Sistema Operativo. Mostra tutti i post

martedì 16 aprile 2024

Windows: Modificare la password dal terminale

Utilizzando il comando di Windows net user, è possibile modificare le password degli account utente del pc dalla finestra del terminale (o prompt dei comandi) senza dover navigare attraverso i menu di impostazione.
Prima di procedere con la modifica della password è necessario tener presente alcuni dettagli:
  • Per utilizzare il comando net user, è necessario accedere con un account amministratore;
  • Il comando può essere utilizzato per modificare la password del proprio account e/o di quella degli altri utenti;
  • Non è necessario conoscere la vecchia password dell'account;
  • Il comando net user consente solo di modificare la password dell'account locale.

L'utilizzo del comando è molto semplice: dalla finestra terminale avviata come amministratore (o dal prompt dei comandi sempre eseguito come amministratore) basta digitare il comando
net user USERNAME PASSWORD
seguito da invio, ovviamente sostituendo USERNAME con il nome dell’utente e PASSWORD con la nuova password da utilizzare. Se il nome utente contiene uno spazio è necessario racchiuderlo tra virgolette.
Ad esempio, per cambiare la password dell'utente "Giovanni Lubrano" (con uno spazio nel nome) con la nuova password "password456" il comando da eseguire sarà
net user "Giovanni Lubrano" password456

Cambio password con net user
FIG 1 - Cambio password con net user

Per evitare di visualizzare la password in chiaro all'interno del terminale è possibile utilizzare il comando
net user USERNAME *
In questo modo, il sistema richiederà di inserire e confermare (reinserire) la nuova password senza visualizzare sullo schermo i caratteri digitati. Utile nel caso in cui ci si trova in un luogo pubblico affollato o con persone alle nostre spalle.

Per visualizzare l'elenco di tutti gli account locali configurati nel sistema è possibile eseguire il comando
net user

Net user
FIG 2 - Net user





domenica 31 marzo 2024

Windows: Visualizzare la versione del runtime Java da riga di comando

In ambiente Windows, Windows 11 o antecedenti, esistono diversi metodi per identificare la versione di Java installata sul sistema. Tuttavia, se sono installate più versioni di Java, potrebbe non essere così immediato individuare quale versione venga utilizzata dal sistema per l'esecuzione di un file Jar. 

Il modo più affidabile per determinare la versione di Java in uso è tramite il Terminale (in Windows 10 e antecedenti, il Prompt dei comandi o Windows PowerShell ):
  • Premere la combinazione di tasti Win+X per accedere al menu Power User e selezionare Terminale dall'elenco (Prompt dei comandi o Windows PowerShell in Windows 10).
  • Nella finestra Terminale digitare il comando java -version e premere Invio.  La versione di Java verrà mostrata direttamente sotto il comando inserito.
    Versione Java
    FIG 1 - Versione Java

domenica 25 febbraio 2024

Windows Server 2022: Mappare cartella condivisa tramite script di logon

Negli articoli Windows Server 2022: Mappare automaticamente una cartella condivisa e Windows Server 2022: Mappare cartelle personali abbiamo visto come fare in modo che una cartella venga automaticamente mappata all'utente. In particolare nell'ultimo articolo, quando abbiamo mappato la cartella personale, abbiamo perso il collegamento alla cartella condivisa tra più utenti che ripristineremo con i passaggi di seguito indicati. Quando bisogna gestire numerosi account è consigliabile l'utilizzo delle group policy. In questo articolo verrà mostrato come agire manualmente su un gruppo ristretto di utenti e mappare una cartella condivisa tramite l'utilizzo di uno script di logon. Tratterò le group policy più in là in appositi articoli.


La cartella condivisa che andremo a mappare al logon tramite script sarà \\SERVERDC2\Cartella condivisa creata nell'articolo 
Windows Server 2022: Mappare automaticamente una cartella condivisa.


Creazione dello script di logon

Posizionarsi sul server e avviare un editor di testo come Blocco note (premere la combinazione di tasti WIN+R, digitare notepad seguito da invio).
Digitare il seguente comando
net use Y: "\\SERVERDC2\Cartella condivisa"
i doppi apici sono necessari in quanto il nome della cartella contiene uno spazio. Il comando mappa il percorso specificato \\SERVERDC2\Cartella condivisa con la lettera di unità Y:.
Blocco note
FIG 1 - Blocco note
Dal menu File selezionare Salva con nome. Salvare il file con il nome logon.bat (nella casella Nome file il nome del file va digitato tra apici per fare in modo che notepad non aggiunga l'estensione .txt)  nel percorso C:\Windows\SYSVOL\sysvol\mycompany.local\scripts
Salva con nome
FIG 2 - Salva con nome

Impostare lo script di accesso per gli account utente

Creato lo script e salvato nell'opportuno percorso, non resta che impostarlo come script di logon per uno o più account utente. L'operazione può essere eseguita tramite Utenti e computer di Active DirectoryCentro di amministrazione di Active Directory o PowerShell. Vediamo i passaggi da seguire


Utenti e computer di Active Directory
Da Server Manager cliccare sul menu Strumenti e selezionare Utenti e Computer di Active Directory (Active Directory Users and Computers). In alternativa premere la combinazione di tasti WIN+R digitare dsa.msc seguito da invio.
Server Manager, Utenti e Computer di Active Directory
FIG 3 - Server Manager, Utenti e Computer di Active Directory

Selezionare gli utenti presenti nella UO mycompany.local\Direzione\Utenti e cliccare sul pulsante Proprietà (in alternativa cliccare con il tasto destro del mouse sugli utenti selezionati e scegliere Proprietà dal menu contestuale);
Utenti e computer di Active Directory, Visualizzare le proprietà degli account utenti
FIG 4 - Utenti e computer di Active Directory, Visualizzare le proprietà degli account utenti
Selezionare la scheda Profilo. Spuntare la casella Script di accesso e digitare il nome dello script da richiamare (Logon.bat) quindi cliccare su OK.
Configurazione Script di accesso per gli account utente
FIG 5 - Configurazione Script di accesso per gli account utente

Da questo momento quando gli utenti effettueranno il logon su una workstation del dominio verrà avviato lo script che mapperà la cartella condivisa con la lettera di unità specificata.


Centro di amministrazione di Active Directory
I passaggi da eseguire utilizzando il Centro di amministrazione di Active Directory sono simili a quelli già visti per Utenti e computer di Active Directory
.

Da Server Manager cliccare sul menu Strumenti e selezionare Centro di amministrazione di Active Directory. In alternativa premere la combinazione di tasti WIN+R, digitare dsac.exe seguito da invio.
Server Manager, Centro di amministrazione di Active Directory
FIG 6 - Server Manager, Centro di amministrazione di Active Directory

Selezionare gli utenti presenti nella UO mycompany.local\Direzione\Utenti e cliccare sul link Proprietà nel riquadro Attività.
Proprietà account utente
FIG 7 - Proprietà account utente

Cliccare sulla sezione Profilo, abilitare la casella Script di accesso e digitare il nome dello script da eseguire al logon (logon.bat) quindi cliccare su OK per confermare la modifica.
Attivazione script di accesso
FIG 8 - Attivazione script di accesso

PowerShell
La stessa operazione può essere eseguita, per ogni utente, tramite PowerShell e l'utilizzo del cmdlet Set-ADUSer. Una volta avviato Windows PowerShell (amministratore) basta eseguire il comando
Set-ADUser -Identity:"CN=Giovanni Lubrano Lavadera,OU=Utenti,OU=Direzione,DC=mycompany,DC=local" -ScriptPath:"logon.bat" -Server:"ServerDC2.mycompany.local"




martedì 20 febbraio 2024

Windows Server 2022: Mappare cartelle personali

Nell'articolo Windows Server 2022: Mappare automaticamente una cartella condivisa è stato mostrato come creare una cartella condivisa tra più utenti. In un'azienda può essere utile avere una cartella personale in cui salvare i propri documenti riservati e ritrovarli su qualsiasi postazione del dominio a cui si effettua l'accesso.
In quest'articolo andremo a creare una cartella individuale sul server per ciascun utente del dominio. La cartella sarà accessibile solo al proprietario e non sarà condivisa con altri utenti, inoltre verrà mappata automaticamente al logon dell'utente sulle postazioni.

La prima operazione da fare è quella di creare una cartella all'interno del server che andrà a contenere le cartelle individuali degli utenti.

Posizionarsi sul server, creare una nuova cartella e rinominarla in Dati Personali. In questo esempio la cartella è stata creata sul disco C:\ del server ServerDC2.
Cartella Dati Personali
FIG 1 - Cartella Dati Personali

Cliccare con il tasto destro del mouse sulla cartella appena creata, selezionare Proprietà quindi, nella scheda Condivisione cliccare sul pulsante Condivisione avanzata.
Proprietà cartella Dati Personali
FIG 2 - Proprietà cartella Dati Personali

Selezionare l'opzione Condividi questa cartella. Al nome suggerito per la condivisione aggiungere il simbolo $ alla fine. In questo modo verrà creata una condivisione nascosta: se da una workstation del dominio nella barra indirizzi di Esplora file digitiamo \\ServerDC2 la condivisione nascosta non verrà visualizzata ma sarà comunque accessibile agli utenti abilitati digitando il percorso di rete \\ServerDC2\Dati Personali$. Cliccare su Autorizzazioni.
Condivisione avanzata
FIG 3 - Condivisione avanzata
Selezionare il gruppo Everyone e cliccare sul pulsante Rimuovi.
Autorizzazioni condivisione, rimozione gruppo Everyone
FIG 4 - Autorizzazioni condivisione, rimozione gruppo Everyone

Cliccare sul pulsante Aggiungi.
Autorizzazioni condivisioni, Aggiungi gruppo
FIG 5 - Autorizzazioni condivisioni, Aggiungi gruppo

All'interno della casella Immettere i nomi degli oggetti da selezionare, digitare Domain Users, cliccare sul pulsante Controlla nomi quindi su OK.
Autorizzazioni Domain Users
FIG 6 -  Autorizzazioni Domain Users

All'interno della finestra Autorizzazioni per Dati Personali$ assicurarsi che il gruppo Domain Users sia selezionato quindi, in Autorizzazioni per Domain Users, selezionare la casella Controllo completo e cliccare su OK per applicare la modifica.
Controllo completo Domain Users
FIG 7 - Controllo completo Domain Users

Nella finestra Condivisione avanzata cliccare su OK.
Condivisione avanzata
FIG 8 - Condivisione avanzata
All'interno della finestra Proprietà - Dati Personali selezionare la scheda Sicurezza quindi cliccare sul pulsante Avanzate.
Sicurezza cartella condivisa
FIG 9 - Sicurezza cartella condivisa
Tutti gli utenti appartenenti al dominio hanno il controllo completo sul contenuto della cartella. Il nostro obiettivo è quello di andare a creare, all'interno della cartella Dati Personali, altre cartelle individuali per ciascun utente del dominio a cui solo il proprietario potrà accedere. Per default i permessi vengono ereditati dalla cartella superiore pertanto è necessario rimuovere l'ereditarietà dei permessi per raggiungere il nostro scopo. All'interno della finestra Impostazioni avanzate di sicurezza per Dati Personali cliccare su Disabilita ereditarietà.
Disabilita ereditarietà
FIG 10 - Disabilita ereditarietà
All'interno della finestra di dialogo Blocca eredità cliccare su Converti autorizzazioni ereditate in autorizzazioni esplicite per questo oggetto.
Blocca eredità, Converti autorizzazioni ereditate in autorizzazioni esplicite per questo oggetto
FIG 11 - Blocca eredità, Converti autorizzazioni ereditate in autorizzazioni esplicite per questo oggetto
Selezionare il gruppo Users con i permessi di Accesso in Lettura ed esecuzione e cliccare sul pulsante Rimuovi. Eseguire la stessa operazione per l'altro gruppo Users con permessi di Accesso Speciale quindi cliccare su OK.
Impostazioni avanzate di sicurezza per Dati Personali, rimozione autorizzazioni
FIG 12 -  Impostazioni avanzate di sicurezza per Dati Personali, rimozione autorizzazioni

Cliccare sul pulsante OK per la chiusura delle finestra Proprietà - Dati Personali.
Proprietà - Dati Personali
FIG 13 - Proprietà - Dati Personali

La prima fase è conclusa. Adesso non resta che creare le sottocartelle per ciascun utente. L'operazione può essere eseguita tramite Utenti e Computer di Active Directory.

Da Server Manager cliccare sul menu Strumenti e selezionare Utenti e Computer di Active Directory (Active Directory Users and Computers). In alternativa premere la combinazione di tasti WIN+R digitare dsa.msc e premere invio.
Server Manager
FIG 14 - Server Manager

Selezionare gli utenti da abilitare (ad esempio quelli presenti nell'unità organizzativa mycompany.local\Direzione\Utenti) quindi cliccarci sul con il tasto destro del mouse e selezionare Proprietà.
Proprietà account utente
FIG 15 - Proprietà account utente

All'interno della scheda Profilo, selezionare la casella Home directory quindi l'opzione Connetti. Dall'elenco a discesa selezionare la lettera con la quale si intende mappare la cartella (ad es Z:) e inserire il percorso di rete \\ServerDC2\Dati Personali$\%USERNAME%
%username% è una variabile d'ambiente contenente il nome utente. Cliccare su OK per applicare l'impostazione.
Mappare cartelle personali individuali
FIG 16 - Mappare cartelle personali individuali

Le cartelle individuali per ciascun utente verranno automaticamente create all'interno della cartella condivisa \\ServerDC2\Dati Personali$
Cartelle personali create in \\ServerDC2\Dati Personali$
FIG 17 - Cartelle personali create in \\ServerDC2\Dati Personali$

Da questo momento, quando uno degli utenti appartenenti alla UO mycompany.local\Direzione\Utenti effettuerà il logon su una workstation del dominio, si ritroverà mappata come disco Z: la cartella personale presente sul server e a cui solo lui ha accesso. Ovviamente non sarà più visibile la cartella condivisa che abbiamo creato nell'articolo Windows Server 2022: Mappare automaticamente una cartella condivisa ma a questo si può ovviare tramite uno script di logon di cui parlerò nel prossimo articolo.
Windows 11, Cartella personale mappata
FIG 18 - Windows 11, Cartella personale mappata


Autorizzazioni sulla cartella personale
FIG 19 - Autorizzazioni sulla cartella personale








mercoledì 31 gennaio 2024

Windows Server 2022: Restore di un oggetto cancellato dal Cestino di Active Directory tramite PowerShell

Nell'articolo precedente Windows Server 2022: Restore di un oggetto cancellato dal Cestino di Active Directory abbiamo visto come recuperare, tramite GUI, un oggetto di AD eliminato e presente nel Cestino di Active Directory. In questo articolo vedremo come eseguire l'operazione mediante PowerShell.

La prima operazione da eseguire consiste nell'individuare gli oggetti cancellati presenti nel cestino di Active Directory (container Deleted Objects). Per farlo, è possibile utilizzare il cmdlet Get-ADObject con il parametro IncludeDeletedObjects. Il comando sarà simile a:
Get-ADObject -Filter 'isDeleted -eq $True -and -not (isRecycled -eq $True) -and name -ne "Deleted Objects"' -IncludeDeletedObjects 

Individuare gli oggetti cancellati presenti nel cestino di AD
FIG 1 - Individuare gli oggetti cancellati presenti nel cestino di AD

Se si conosce il tipo di oggetto da recuperare (user, computer, site, ecc) è possibile specificarlo all'interno del filtro. Ad esempio, volendo elencare i computer presenti nel cestino di AD potremmo utilizzare il seguente comando:
Get-ADObject -Filter 'objectClass -eq "computer" -and isDeleted -eq $True -and -not (isRecycled -eq $True) -and name -ne "Deleted Objects"' -IncludeDeletedObjects 
Individuare gli oggetti computer cancellati presenti nel cestino di AD
FIG 2 - Individuare gli oggetti computer cancellati presenti nel cestino di AD

Per ripristinare un oggetto cancellato presente all'interno del cestino di Active directory si utilizza il cmdlet Restore-ADObject. Al parametro -Identity è possibile passare la stringa ObjectGUID recuperata con il comando precedente Get-ADObject. Il comando sarà simile a:
Restore-ADObject -Confirm:$false -Identity:"d77006e7-4109-48dc-97a8-6b75140877c7"
Ripristino oggetto cancellato
FIG 3 - Ripristino oggetto cancellato





lunedì 29 gennaio 2024

Windows Server 2022: Restore di un oggetto cancellato dal Cestino di Active Directory

Un oggetto in AD eliminato può essere recuperato velocemente se nella propria infrastruttura è stato abilitato il cestino di Active Directory (si veda articolo Windows Server 2022: Abilitare il cestino di Active Directory).

Per procedere al restore di un oggetto eliminato:
Da Server Manager cliccare sul menu Strumenti e selezionare Centro di amministrazione di Active Directory. In alternativa premere la combinazione di tasti WIN+R, digitare dsac.exe e premere invio.
Server Manager
FIG 1 - Server Manager

Dal navigation pane (sul lato sinistro della finestra) selezionare il proprio dominio quindi eseguire un doppio click sul container Deleted Objects.
Centro di amministrazione di Active Directory, container Deleted Objects
FIG 2 - Centro di amministrazione di Active Directory, container Deleted Objects

Cliccare, con il tasto destro del mouse, sull'oggetto che si intende recuperare e, dal menu contestuale, selezionare l'opzione RipristinaL'oggetto sarà ripristinato all'interno del container/OU da cui era stato eliminato. Selezionando Ripristina in, sarà possibile selezionare manualmente il container nel quale l'oggetto sarà ripristinato (FIG 4).
Centro di amministrazione di Active Directory, ripristina oggetto eliminato
FIG 3 - Centro di amministrazione di Active Directory, ripristina oggetto eliminato


Ripristina in
FIG 4 - Ripristina in








domenica 28 gennaio 2024

Windows Server 2022: Abilitare il cestino di Active Directory

Per default tutti gli oggetti che vengono cancellati in Active Directory non possono essere recuperati. Chi ha avuto la sfortuna di cancellare accidentalmente un oggetto in AD e dovuto recuperarlo da un backup del server, sa bene che si tratta di un'operazione tutt'altro che semplice e veloce. Fortunatamente, a partire da Windows Server 2008 R2, Microsoft ha introdotto il cestino per Active Directory che permette il recupero degli oggetti cancellati in modo analogo a quanto avviene con il cestino di Windows per file e cartelle. Tale funzionalità è disattivata per default e va attivata manualmente. La procedura per abilitare il cestino di Active Directory è la stessa vista per Windows Server 2019.
Prima di attivare la funzione è necessario che siano rispettati alcuni prerequisiti e bisogna tenere in considerazione alcuni limiti.


Prerequisiti Cestino di Active Directory

  • Almeno un Domain Controller deve avere Windows Server 2012 R2 con Centro di amministrazione di Active Directory.
  • Tutti gli altri Domain Controller all'interno del dominio devono avere almeno Windows Server 2008 R2 o superiore.
  • Il livello funzionale della foresta deve essere Windows Server 2008 R2 o superiore.

In Windows Server 2008 R2 il cestino di Active Directory poteva essere gestito solamente tramite PowerShell. A partire da Windows Server 2012 R2 il cestino può essere gestito tramite interfaccia grafica del Centro di amministrazione di Active Directory rendendo più semplice l'operazione di recupero degli oggetti cancellati.
Quando non è abilitato il cestino di Active Directory e si cancella un oggetto, questo viene contrassegnato per la cancellazione (tombstoned). Tali oggetti vengono definitivamente eliminati solo quando verrà eseguito il processo di garbacecollection.

Con il cestino di Active Directory abilitato, quando si cancella un oggetto questo viene contrassegnato come oggetto cancellato per l'arco di tempo specificato dalla proprietà msDS-DeletedObjectLifetime in Active Directory Domain Services (di default è nulla). Scaduto il tempo indicato in msDS-DeletedObjectLifetime  l'oggetto viene contrassegnato come recycled e i suoi attributi vengono rimossi. L'oggetto risiede ancora nel cestino e può essere recuperato per la durata della sua vita definita dall'attributo tombstoneLifetime in Active Directory DS. Quando viene abilitato il cestino di Active Directory, gli oggetti preesistenti e contrassegnati per la cancellazione (tombstoned) vengono convertiti in oggetti recycled tuttavia non potranno essere recuperati come qualsiasi altro oggetto recycled.



Limiti

Il Centro di amministrazione di Active Directory è in grado di gestire solo partizioni di dominio pertanto non è possibile ripristinare oggetti eliminati dalle partizioni di configurazione, DNS del dominio o DNS della foresta (non è possibile eliminare oggetti dalla partizione dello schema). Per ripristinare gli oggetti da partizioni non di dominio, è possibile usare il cmdlet Restore-ADObject di PowerShell.

Nel Centro di amministrazione di Active Directory non è possibile ripristinare sottoalberi di oggetti in un'unica operazione. Se ad esempio si elimina un'unità organizzativa con unità amministrative, utenti, gruppi e computer annidati, il ripristino dell'unità organizzativa di base non ripristina gli oggetti figlio.

Il Cestino di Active Directory comporta un aumento delle dimensioni del database di Active Directory (NTDS.DIT) in ogni controller di dominio della foresta. Lo spazio su disco usato dal cestino continua ad aumentare nel tempo, in quanto conserva gli oggetti e tutti i dati degli attributi.



Abilitare il cestino di Active Directory tramite Centro di amministrazione di Active Directory

Da Server Manager cliccare sul menu Strumenti e selezionare Centro di amministrazione di Active Directory. In alternativa premere la combinazione di tasti WIN+R, digitare dsac.exe e premere invio.
Server Manager
FIG 1 - Server Manager

Selezionare il proprio dominio quindi, sul pannello delle Attività presente sulla destra della finestra, cliccare su Abilita Cestino....
Centro di amministrazione di Active Directory
FIG 2 - Centro di amministrazione di Active Directory

Una finestra di dialogo ci avvisa che l'operazione non è reversibile: una volta abilitato il cestino di Active Directory non potrà essere più disabilitato. Confermare cliccando su OK per proseguire.
Conferma abilitazione cestino AD
FIG 3 - Conferma abilitazione cestino AD

Una nuova finestra di dialogo avvisa l'utente che il cestino non sarà disponibile finché l'abilitazione non verrà replicata a tutti i Domain Controller della foresta e non verrà aggiornato il Centro di amministrazione di Active Directory. Cliccare su OK.
Abilitazione cestino AD
FIG 4 - Abilitazione cestino AD

Terminata la replica dell'abilitazione basta cliccare sull'apposto link per aggiornare le informazioni visualizzate nella finestra del Centro di amministrazione di Active Directory e vedremo apparire un nuovo container nominato Deleted Objects. Da questo momento gli oggetti eliminati da AD potranno essere recuperati all'interno di tale container.
Centro di amministrazione di Active Directory, Container Deleted Objects
FIG 5 - Centro di amministrazione di Active Directory, Container Deleted Objects


Abilitare il cestino di Active Directory tramite PowerShell

In alternativa al Centro di amministrazione di Active Directory è possibile abilitare il cestino di AD tramite PowerShell e l'utilizzo del cmdlet Enable-ADOptionalFeature
Da Windows PowerShell avviato come amministratore eseguire il comando 
Enable-ADOptionalFeature –Identity 'CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=mycompany,DC=local' –Scope ForestOrConfigurationSet –Target 'mycompany.local'
Rispondere affermativamente alla richiesta di esecuzione dell'operazione.
Abilitazione del cestino di Active Directory mediante PowerShell
FIG 6 - Abilitazione del cestino di Active Directory mediante PowerShell

Dopo aver atteso i tempi di replica dal Centro di amministrazione di Active Directory sarà visibile il nuovo container Deleted Objects.






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.