The issue looks to be that you are using 32 bit 7z sfx. This results in a 32 bit environment/cmd prompt being used and in turn the calls to (System32, Program Files, PowerShell modules, registry, etc...) get redirected to the 32 environment equivalents (SysWOW64, Program Files (x86), etc...). There are 2 options I can recommend.
- Switch to the 64 bit sfx module.
- This is the most thorough but the sfx will not work on 32 bit systems.
- for the" System32" issue, you can use a reference called "%sysNative%". This is a backdoor to the System32 dir for Windows 2008 x64 and newer.
- The sfx command will not run on 32 bit systems since "%sysNative%" does not exist there (though the sfx will be runable).
- If creative enough, you may be able to call the 64 bit cmd.exe and execute a separate bat. Though tracking and or interacting with activities may be hard.
- The "Program Files" issue can be addressed by using "%SYSTEMDRIVE%\Program Files".
I hope this helps,