Share via


Script per l'esportazione dei permessi NTFS

Di seguito il codice di uno script vbs per l'esportazione su file dei permessi NTFS di una lista di cartelle. Può essere utile se dovete copiare dati da un file server ad un altro e questi sono in due domini differenti oppure in workgroup con definizioni di gruppi locali.

La lista deve risiedere in un file di testo (nell'esempio il file c:\cartelle.txt). Lo script utilizza il tool subinacl (che si suppone sia presente sotto C:\), che è disponibile nel resource kit e dal nostro sito di download al link indicato.

Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("C:\cartelle.txt", ForReading)

Do Until objTextFile.AtEndOfStream

        strNextLine = objTextFile.Readline

    Set objShell = CreateObject("WScript.Shell")
strCommand = "c:\subinacl /file """& strNextLine &""" /noverbose /display"
'wscript.echo strCommand
Set objExec = objShell.Exec(strCommand)
strResults = LCase(objExec.StdOut.ReadAll)
Wscript.echo strResults
Loop

Questo script, se rediretto mediante la seguente sintassi:

cscript script.vbs > acl.txt 2>&1

produce nel file di output (in questo caso acl.txt) un elenco di dati che può essere usato per reimportare le permission mediante l'opzione /playfile di subinacl.

subinacl /playfile acl.txt

Prima di reimportare il file potrete effettuare delle operazioni Trova e Sostiuisci per modificare il nome del dominio oppure dei gruppi locali a cui sono applicate i permessi NTFS dei file.

smile_regular