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.