DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 825751 - Ultima modifica: venerdì 20 gennaio 2006 - Revisione: 2.3

In questa pagina

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.

Installazione e utilizzo di Xcacls.vbs

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):
    http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/XCacls_Installer.exe (http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/xcacls_installer.exe)
  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 /?

Sintassi del comando Xcacls.vbs

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.


Utilizzo di Xcacls.vbs per visualizzare le autorizzazioni


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:\test
Microsoft (R) Windows Script Host Versione 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tutti i diritti riservati.

Avvio dello script XCACLS.VBS (versione 3.4) il 6/11/2003 alle 10.55.21

Directory di avvio:
"C:\test"

Argomenti usati:
        Nomefile = "c:\test"



*******************************************************************************************
Directory: C:\test

Autorizzazioni:
Tipo        Nomeutente               Autorizzazioni          Ereditarietà

Consentito  BUILTIN\Administrators   Controllo completo      Questa cartella, sottocartella
Consentito  NT AUTHORITY\SYSTEM      Controllo completo      Questa cartella, sottocartella
Consentito  Domain1\User1            Controllo completo      Solo questa cartella
Consentito  \CREATOR OWNER           Speciale (sconosciuto)  Sottocartelle e file
Consentito  BUILTIN\Users            Lettura ed esecuzione   Questa cartella, sottocartella
Consentito  BUILTIN\Users            Crea cartelle/Aggiungi  Questa cartella e sottocartella
Consentito  BUILTIN\Users            Crea file/Scrivi        Questa cartella e sottocartella

Nessun controllo impostato

Proprietario: 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

Esempi


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.

Riferimenti

Per ulteriori informazioni su come utilizzare Xcacls.exe, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
318754  (http://support.microsoft.com/kb/318754/ ) HOW TO: Utilizzare Xcacls.exe per modificare le autorizzazioni NTFS

Le informazioni in questo articolo si applicano a
  • 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
Chiavi: 
kbhowtomaster KB825751
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store