Te recomiendo otra forma mas facil de usar, entendiendo que no sabes mucho sobre el manejo de registros o de comandos.
La idea es que vas a marcar como registro de solo lectura para que ningun software lo sobreescriba.
1. Ejecuta tu archivo de registros para que se fabriquen todas las entradas.
2. Despues vas al menu de inicio y escribes "regedit", buscas los registros creados y seleccionas la carpeta que esablece el uso de cada extension, por ejemplo "HKEY_CLASSES_ROOT\SystemFileAssociations\.3g2".
3. Le das click derecho y te aparecera un menu, le das en "Permisos".
4. Luego veras una ventana donde indica que usuario o grupo tiene acceso a que cosa.
5. Ahora vas a permisos avanzados y aparecera una ventana buen ancha con el listado de usuarios y permisos en forma de tabla.
6. Le das click donde dice Deshabilitar inheritancia, es el boton largo que esta abajo de los botones agregar/remover/editar. Luego te va a preguntar que tipo de permisos quieres utilizar y le seleccionas la opcion explicita. Con este cambio haras que puedas controlar los permisos de registros de forma manual.
7. Selecciona todos los usuarios uno por uno y quitales el permiso que dice control total y dejales solamente el permiso de lectura.
Esto por cada registro, es largo, talves se pueda automatizar en algun archivo .bat, pero lo bueno es que solo tendras que hacerlo una ves, despues de eso ya no tendras problemas con las sobreescrituras.
Prueba con un solo registro, si lo hiciste bien y no sufre cambios despues de reiniciar entonces lo aplicas para todo el resto.
Si quieres automatizar esto puedes leer un poco mas sobre el comando acl para cambiar los permisos de los registros:
https://learn.microsoft.com/es-es/powershell/module/microsoft.powershell.security/set-acl?view=powershell-7.4Por otro lado, desde mi punto de vista personal, puede que sea mas facil como dice MCKSys Argentina, pero creo que tu problema de raiz no es el ejecutar siempre tu script de registros, lo veo como una solucion parche para un problema que talves deberia tener otro tipo de solucion, por ejemplo, saber porque la asociacion de archivos esta cambiando cada ves que reinicias el equipo, detectar que ejecutable esta haciendo eso y buscar la manera de impedir que lo siga haciendo, creo que eso va a ser mucho mas facil que estar creando y manipulando registros.
Saludos.