Here is something to get you started. Note, it does not validate either the key exists nor if the permissions is already present.
delete __createfile
createfile until __EOF
$rule = New-Object System.Security.AccessControl.RegistryAccessRule([System.Security.Principal.NTAccount]"BuiltIn\Users", [System.Security.AccessControl.RegistryRights]::FullControl, [System.Security.AccessControl.InheritanceFlags]"ContainerInherit,ObjectInherit", [System.Security.AccessControl.PropagationFlags]::None, [System.Security.AccessControl.AccessControlType]::Allow)
$acl = Get-Acl -Path 'HKLM:\SYSTEM\DriverDatabase\DeviceIds\USB\VID_054C&PID_0022'
$acl.AddAccessRule($rule)
$acl |Set-Acl
__EOF
delete create_key.ps1
move __createfile create_key.ps1
waithidden {pathname of file ((it as string) of value "Path" of key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" of native registry)} -ExecutionPolicy Bypass -File create_key.ps1