Al momento sei offline in attesa che la connessione Internet venga ristabilita

Utilizzo di Xcacls.vbs per modificare le autorizzazioni NTFS

Il supporto per Windows XP è terminato

Il supporto Microsoft per Windows XP è terminato l'8 aprile 2014. Questa modifica ha interessato gli aggiornamenti software e le opzioni di sicurezza. Ulteriori informazioni su come continuare a essere protetti.

Il supporto per Windows Server 2003 è terminato il 14 luglio 2015.

Microsoft ha sospeso il supporto per Windows Server 2003 in data 14 luglio 2015. Questa modifica ha interessato gli aggiornamenti software e le opzioni di sicurezza. Ulteriori informazioni su come continuare a essere protetti.

Sommario
Esiste una versione aggiornata dello strumento Extended Change Access Control List (Xcacls.exe) resa disponibile da Microsoft sotto forma di script di Microsoft Visual Basic. In questo articolo viene descritto in dettaglio l'utilizzo dello script Xcacls.vbs per modificare e visualizzare le autorizzazioni nel file system NTFS relative a file o cartelle. È possibile utilizzare Xcacls.vbs dalla riga di comando per impostare tutte le opzioni di protezione del file system accessibili in Esplora risorse. Xcacls.vbs consente di visualizzare e modificare gli elenchi di controllo di accesso (ACL) dei file.

Nota Xcacls.vbs è compatibile solo con Microsoft Windows 2000, Microsoft Windows XP e Microsoft Windows Server 2003. Xcacls.vbs non è supportato da Microsoft.

Torna all'inizio

Per installare e utilizzare Xcacls.vbs, attenersi alla procedura seguente:
  1. Procurarsi la versione più recente di Xcacls.vbs dal seguente sito Web Microsoft (l'installazione è in inglese):
  2. Fare doppio clic su Xcacls_Installer.exe. Quando viene chiesto il percorso di estrazione dei file, specificare una cartella inclusa nell'impostazione dei percorsi di ricerca del computer, ad esempio C:\Windows.
  3. Modificare il modulo di script predefinito da Wscript a Cscript in quanto lo script Xcacls.vbs funziona meglio in Cscript. A questo fine, digitare quanto segue al prompt dei comandi, quindi premere INVIO:
    cscript.exe /h:cscript
    Nota La modifica del modulo di script predefinito in Cscript incide solo sul modo in cui gli script visualizzano le informazioni sullo schermo. Con Wscript, ogni riga viene visualizzata singolarmente in una finestra di dialogo di tipo OK. Con Cscript invece ciascuna riga viene visualizzata nella finestra di comando. Se non si desidera modificare il modulo di script predefinito, è necessario eseguire lo script mediante il comando seguente:
    cscript.exe xcacls.vbs
    mentre se si modifica il modulo di script predefinito in Cscript, è possibile eseguire lo script con il comando seguente:
    xcacls.vbs
    .
  4. Per visualizzare la sintassi del comando Xcacls.vbs, digitare quanto segue al prompt dei comandi:
    xcacls.vbs /?
Torna all'inizio

L'output seguente del comando xcacls.vbs /? descrive la sintassi del comando Xcacls.vbs (l'output originale è in lingua inglese):
Uso:XCACLS nomefile [/E] [/G utente:perm;spec] [...] [/R utente [...]]                [/F] [/S] [/T]                [/P utente:perm;spec [...]] [/D utente:perm;spec] [...]                [/O utente] [/I ENABLE/COPY/REMOVE] [/N                [/L nomefile] [/Q] [/DEBUG]   nomefile            [Obbligatorio] Se utilizzato da solo, consente di visualizzare                       gli elenchi ACL. Può essere un nome di file, un nome di directory o                       caratteri jolly nonché includere il percorso intero. Se il percorso                       non è indicato, viene presupposto che sia la directory corrente.                       Note:                       - Mettere nomefile tra virgolette se include spazi o caratteri                       speciali quali &, $, # e così via.                       - Se nomefile è una directory, tutti i relativi file e                       tutte le relative sottodirectory NON vengono modificate                       a meno che non sia presente l'opzione /F o /S.   /F                  [Utilizzata con directory o caratteri jolly] Consente di modificare                       tutti i file della directory indicata ma NON consente di attraversare                       le sottodirectory a meno che non sia presente anche l'opzione /T.                       Se nomefile è una directory e non viene utilizzata l'opzione /F,                       non viene toccato alcun file.   /S                  [Utilizzata con directory o caratteri jolly] Consente di modificare                       tutte le sottocartelle della directory indicata ma NON consente di                       attraversare le sottodirectory a meno che non sia presente anche                       l'opzione /T. Se nomefile è una directory e non viene utilizzata                       l'opzione /S, non viene toccata alcuna sottodirectory.   /T                  [Utilizzata solo con una directory] Consente di attraversare ciascuna                       sottodirectory e di apportare le stesse modifiche. Questa opzione                       consente di attraversare le directory solo se nomefile è una directory                       o se vengono utilizzati i caratteri jolly.   /E                  Consente di modificare l'elenco ACL anziché sostituirlo.   /G utente:GUI       Consente di accordare autorizzazioni di protezione simile alle opzioni                       standard (non avanzate) dell'interfaccia GUI di Windows.   /G utente:Perm;Spec Consente di accordare i diritti di accesso utente specificati.                       /G consente di aggiungere ulteriori diritti a quelli già esistenti                       per l'utente.                       Utente: se in Utente sono presenti spazi, è necessario includerlo                               tra virgolette. Se Utente include #machine#, quest'ultimo                               viene sostituito con il nome effettivo del computer se è                               un controller non di dominio oppure con il nome effettivo                               di dominio se si tratta di un controller di dominio.                               Novità della versione 3.0: Utente può essere una stringa                               che rappresenta l'ID di protezione (SID) effettivo, tuttavia                               DEVE iniziare con SID#.                               Esempio: SID#S-1-5-21-2127521184-160...                                        La stringa SID mostrata qui è stata abbreviata.                                        Se un utente dispone di un SID#, tutte le                                        corrispondenze devono globalmente essere uguali                                        all'ID di protezione, non al nome. Pertanto, se                                        si intende applicare le modifiche a tutti gli                                        account che corrispondono a Dominio\Utente,                                        non specificare SID# come uno degli utenti.                       GUI: riguarda i diritti standard e può essere:                            Autorizzazioni...                                   F  Controllo completo                                   M  Modifica                                   X  Lettura ed esecuzione                                   L  Elenca il contenuto delle cartelle                                   R  Lettura                                   W  Scrittura                             Nota: se è presente un punto e virgola (;), viene considerato                             come una coppia di parametri Perm;Spec.                       Perm: riguarda solo i file e può essere:                             Autorizzazioni...                                   F  Controllo completo                                   M  Modifica                                   X  Lettura ed esecuzione                                   R  Lettura                                   W  Scrittura                             Avanzate...                                   D  Assumi proprietà                                   C  Cambia autorizzazioni                                   B  Leggi autorizzazioni                                   A  Elimina                                   9  Scrivi attributi                                   8  Leggi attributi                                   7  Elimina sottocartelle e file                                   6  Attraversa cartella / Esegui file                                   5  Scrivi attributi estesi                                   4  Leggi attributi estesi                                   3  Crea cartelle / Aggiungi dati                                   2  Crea file / Scrivi dati                                   1  Elenca cartella / Leggi dati                       Spec riguarda solo la cartella e le sottocartelle e presenta                       le stesse opzioni di Perm.   /R utente           Consente di revocare i diritti di accesso dell'utente specificato.                       Vengono rimossi tutti gli elenchi ACL di diritti consentiti                       o negati all'utente.   /P utente:GUI       Consente di sostituire le autorizzazioni di protezione analogamente                       alle opzioni standard.   /P utente:perm;spec Consente di sostituire i diritti di accesso dell'utente specificato.                       Per l'indicazione dei diritti di accesso, vedere l'opzione /G.                       L'opzione /P funziona come l'opzione /G se per l'utente non sono                       impostati diritti.   /D utente:GUI       Consente di negare le autorizzazioni di protezione analogamente                       alle opzioni standard.   /D utente:perm;spec Consente di negare i diritti di accesso utente specificati.                       Per l'indicazione dei diritti di accesso, vedere l'opzione /G.                       /D consente di aggiungere ulteriori diritti a quelli già esistenti                       per l'utente.   /O utente           Consente di trasferire la proprietà all'utente o al gruppo.   /I opzione          Flag dell'ereditarietà. Se omesso, l'impostazione predefinita                       consiste nel non toccare gli elenchi ACL ereditati. L'opzione può essere:                          ENABLE - Consente di attivare il flag dell'ereditarietà se non                                   è già attivo.                          COPY   - Consente di disattivare il flag dell'ereditarietà e di copiare                                   gli elenchi ACL ereditati negli elenchi ACL effettivi.                          REMOVE - Consente di disattivare il flag dell'ereditarietà e di non                                   copiare gli elenchi ACL ereditati. È l'opposto di ENABLE.                          Se non è presente alcuna opzione, /I viene ignorata e gli elenchi ACL                          ereditati non vengono toccati.   /L nomefile         Nome del file di registro. Può includere un percorso qualora il file non si                       trovi nella directory corrente. I dati vengono aggiunti al file o, qualora                       non esista, viene creato un nuovo file. Deve essere un file di testo se                       esistente, altrimenti si verifica un errore.                       Se nomefile viene omesso, viene utilizzato il nome predefinito XCACLS.   /Q                  Consente di attivare la modalità silenziosa.  Per impostazione predefinita                       è disattivata. Se attivata, non viene visualizzato nulla sullo schermo.   /DEBUG              Consente di attivare la modalità di debug. Per impostazione predefinita                       è disattivata. Se è attivata, vengono visualizzate e/o registrate più                       informazioni. Tali informazioni includono, tra l'altro, anche                       Sub/Function Enter ed Exit.   /SERVER nomeserver  Consente di immettere un server remoto a fronte del quale eseguire lo script.   /USER nomeutente    Consente di immettere un Nomeutente da impersonare per le connessioni remote                             (è necessaria l'opzione PASS). Viene ignorata se riguarda una connessione locale.   /PASS password      Consente di immettere la password da utilizzare con l'opzione USER                             (è necessaria l'opzione USER).È possibile utilizzare i caratteri jolly per specificare più file in un comando, ad esempio:                                   *       Qualsiasi stringa formata da zero o più caratteri                                   ?       Qualsiasi singolo carattereÈ possibile specificare più utenti in un comando e combinare i diritti di accesso.


Torna all'inizio


Xcacls.vbs può essere utilizzato anche per visualizzare le autorizzazioni per file o cartelle. Se ad esempio si ha una cartella denominata C:\Test, digitare quanto segue al prompt dei comandi per visualizzare le autorizzazioni per la cartella, quindi premere INVIO:
xcacls.vbs c:\test
In genere l'output è simile al seguente (l'output originale è in lingua inglese):
C:\>XCACLS.VBS c:\testMicrosoft (R) Windows Script Host Versione 5.6Copyright (C) Microsoft Corporation 1996-2001. Tutti i diritti riservati.Avvio dello script XCACLS.VBS (versione 3.4) il 6/11/2003 alle 10.55.21Directory di avvio:"C:\test"Argomenti usati:        Nomefile = "c:\test"*******************************************************************************************Directory: C:\testAutorizzazioni:Tipo        Nomeutente               Autorizzazioni          EreditarietàConsentito  BUILTIN\Administrators   Controllo completo      Questa cartella, sottocartellaConsentito  NT AUTHORITY\SYSTEM      Controllo completo      Questa cartella, sottocartellaConsentito  Domain1\User1            Controllo completo      Solo questa cartellaConsentito  \CREATOR OWNER           Speciale (sconosciuto)  Sottocartelle e fileConsentito  BUILTIN\Users            Lettura ed esecuzione   Questa cartella, sottocartellaConsentito  BUILTIN\Users            Crea cartelle/Aggiungi  Questa cartella e sottocartellaConsentito  BUILTIN\Users            Crea file/Scrivi        Questa cartella e sottocartellaNessun controllo impostatoProprietario: Domain1\User1


Nota L'output del comando xcacls.vbs c:\test presentato nell'esempio corrisponde al testo visualizzato nell'interfaccia utente grafica (GUI). Alcune parole della finestra di comando possono essere incomplete.

Nell'output, inoltre, vengono indicati la versione dello script, la directory di avvio e gli argomenti utilizzati.

È anche possibile utilizzare i caratteri jolly per visualizzare i file corrispondenti della directory. Se ad esempio si digita quanto segue, vengono visualizzati tutti i file con estensione LOG inclusi nella cartella C:\Test:
xcacls.vbs c:\test\*.log
Torna all'inizio


I seguenti comandi di Xcacls.vbs rendono disponibili alcuni esempi dell'utilizzo di Xcacls.vbs.

xcacls.vbs c:\test\ /g domain\testuser1:f /f /t /e
Mediante questo comando è possibile modificare le autorizzazioni esistenti. Consente di accordare a Domain\TestUser1 il controllo completo su tutti i file della cartella C:\Test, attraversare le sottocartelle di C:\Test e modificare gli eventuali file trovati. Questo comando non tocca le directory.
xcacls.vbs c:\test\ /g domain\testuser1:f /s /l "c:\xcacls.log"
Mediante questo comando è possibile sostituire le autorizzazioni esistenti. Consente di accordare a Domain\TestUser1 il controllo completo su tutte le sottocartelle della cartella C:\Test e di registrare i dati nel file C:\Xcacls.log. Il comando non tocca i file né attraversa le directory.
xcacls.vbs c:\test\readme.txt /o "machinea\group1"
Mediante questo comando è possibile fare in modo che il proprietario del file Readme.txt diventi il gruppo MachineA\Group1.
xcacls.vbs c:\test\badcode.exe /r "machinea\group1" /r "domain\testuser1"
Mediante questo comando è possibile revocare le autorizzazioni per C:\Test\Badcode.exe accordate a MachineA\Group1 e a Domain\TestUser1.
xcacls.vbs c:\test\subdir1 /i enable /q
Mediante questo comando è possibile attivare l'ereditarietà per la cartella C:\Test\Subdir1. L'output sullo schermo non viene visualizzato.
xcacls.vbs \\servera\sharez\testpage.htm /p "domain\group2":14
Mediante questo comando è possibile connettersi in remoto a \\ServerA\ShareZ con Strumentazione gestione Windows (WMI). Viene quindi ottenuto il percorso locale della condivisione e, nell'ambito di tale percorso, vengono modificate le autorizzazioni per Testpage.htm. Le autorizzazioni esistenti di Domain\Group2 restano intatte ma vengono aggiunte le autorizzazioni 1 (lettura dati) e 4 (lettura attributi estesi). Vengono ignorate le altre autorizzazioni per il file in quanto non è stata utilizzata l'opzione /e.
xcacls.vbs d:\default.htm /g "domain\group2":f /server servera /user servera\admin /pass password /e
Viene utilizzato Strumentazione gestione Windows (WMI) per connettersi in remoto come ServerA\Admin a ServerA e quindi accordare autorizzazioni complete per Default.htm a Domain\Group2. Le autorizzazioni esistenti di Domain\Group2 vanno perdute, mentre le altre autorizzazioni per il file restano intatte.
Torna all'inizio
Riferimenti
Per ulteriori informazioni su come utilizzare Xcacls.exe, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
318754 HOW TO: Utilizzare Xcacls.exe per modificare le autorizzazioni NTFS
Proprietà

ID articolo: 825751 - Ultima revisione: 01/20/2006 16:56:00 - Revisione: 2.3

Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition, Microsoft Windows XP Professional, Microsoft Windows XP Home Edition, Microsoft Windows 2000 Datacenter Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Server, Microsoft Windows 2000 Professional Edition

  • kbhowtomaster KB825751
Feedback