Após um monte de tentativa e erro, este script do PowerShell parece fazê-lo:
$worm="C:\WORM"
mkdir -Force $worm
cd $worm
<# https://serverfault.com/a/17869
SYSTEM - Full Control - Apply onto: This folder, subfolders, and files
Administrators - Full Control - Apply onto: This folder, subfolders, and files
Authenticated Users - Read - Apply onto: This folder, subfolders, and files
Authenticated Users - Create Files / Write Data - Apply onto: This folder and subfolders
#>
$acl = Get-Acl $worm
$ace1 = New-Object Security.AccessControl.FileSystemAccessRule 'Users', '
'CreateDirectories, CreateFiles, ListDirectory, Read', '
'ContainerInherit, ObjectInherit', '
'None', '
'Allow'
$acl.AddAccessRule($ace1)
Set-Acl -AclObject $acl -Path $worm
$acl = Get-Acl $worm
$ace1 = New-Object Security.AccessControl.FileSystemAccessRule 'Users', '
'DeleteSubdirectoriesAndFiles,Delete', '
'ContainerInherit, ObjectInherit', '
'None', '
'Deny'
$acl.AddAccessRule($ace1)
Set-Acl -AclObject $acl -Path $worm
$acl = Get-Acl $worm
$ace1 = New-Object Security.AccessControl.FileSystemAccessRule 'Users', '
'WriteData', '
'ObjectInherit', '
'InheritOnly', '
'Deny'
$acl.AddAccessRule($ace1)
Set-Acl -AclObject $acl -Path $worm
Não é à prova de erros, já que um administrador pode recuperar o controle com:
icacls C:\WORM /T /Q /C /RESET
Eu direi que, se você precisar de uma solução de nível industrial para conformidade com a SEC ou qualquer outra coisa, talvez seja necessário investir na NetApp e no SnapLock: