You can still use cacls/icacls in Powershell, you just have to change how you reference environment variables.
cacls.exe $env:USERPROFILE\AppData\Roaming\vlc /T /P $($env:USERNAME):N"
Note that the ":N" causes problems and PS doesn't display the user name. To work around that you have to get PS to evaluate it first using $().
Instead of "nul" you will have to use "$null" when redirecting stdout/stderr. Don't suppress that output until you verify that the commands are doing what you expect them to do.
You might want to use icacls and not cacls.