Acerca de los niveles de integridad:
👉 https://hacktricks.boitatech.com.br/windows/windows-local-privilege-escalation/integrity-levels
Cuando navegamos por un directorio con un nivel de integridad bajo, se nos mostrará la siguiente ventana de advertencia cuando se intenten copiar o mover archivos dentro o fuera de dicho directorio (utilizando el menú contextual de cortar / copiar / pegar):

Pueden comprobarlo en el directorio "C:\Users\{USUARIO}\AppData\LocalLow", que por defecto tiene un nivel de integridad bajo (Low) a menos que de alguna extraña forma esto se haya modificado en su sistema operativo.

Este comportamiento de advertencia puede resultar muy molesto, pero podemos deshacernos de esa ventana de advertencia cambiando el nivel de integridad por uno más alto (Medium):

El script lo he escrito de tal manera que se pueda embedir en un Batch-script:
Código
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command ^ "$folders = @{^ \"$env:USERPROFILE\AppData\Local\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\AppData\LocalLow\" = @{level = 'Medium'; recurse = $true};^ \"$env:USERPROFILE\AppData\Roaming\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\Desktop\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\Documents\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\Downloads\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\Favorites\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\Links\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\Music\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\Pictures\" = @{level = 'Medium'; recurse = $false};^ \"$env:USERPROFILE\Videos\" = @{level = 'Medium'; recurse = $false};^ };^ $sortedFolders = $folders.Keys ^| Sort-Object;^ Write-Output \"Applying folder integrity levels...\";^ Write-Output \"\";^ Write-Output \"Level | Recursive | Directory\";^ Write-Output \"-------|-----------|----------\";^ $level = $folders[$folder].level;^ Write-Output \"$level | $recurseText | $folder\";^ ICACLS.exe \"$folder\" $recurseFlag /Setintegritylevel \"(OI)(CI)$level\" 2^>^$null 1^>^$null^ }"

El cambio de nivel de integridad tiene efecto inmediato, no es necesario reiniciar sesión de usuario ni el PC.
* ⚠️ Antes de utilizar ese script, configurar el array con las rutas de los directorios que deseen incluir.
Como alternativa, les dejo este módulo de PowerShell, basado en la API de Windows para quien desee llevar a cabo una gestión más directa y sofisticada de los niveles de integridad sin necesidad de recurrir a comandos externos del sistema operativo como ICACLS:
👉 https://github.com/jborean93/PSIntegrity/blob/master/PSIntegrity/PSIntegrity.psm1
Cmdlets incluídos:
Citar
Get-IntegrityLabel: Gets an instance of BaseObjectLabel for the resource specified
Remove-IntegrityLabel: Removes the mandatory integrity label set on an object
Set-IntegrityLabel: Adds or changes the mandatory integrity label set on an object
Remove-IntegrityLabel: Removes the mandatory integrity label set on an object
Set-IntegrityLabel: Adds or changes the mandatory integrity label set on an object
Atentamente,
Elektro.