如何在使用 secedit 对文件应用安全性时解决 ProgramFile 文件夹 env 变量

How to address ProgramFile folder env variable while applying security on files using secedit

我有一个也在 64 位上运行的 32 位应用程序 machine.I 想使用安全模板 inf 文件和 secedit.exe.

将权限应用到我交付的文件

目前,我维护着两个 inf 文件,一个是 %ProgramFiles(x86)%%ProgramFiles%。 我决定根据 OS.

应用 inf
reg Query "HKLM\Hardware\Description\System\CentralProcessor[=10=]" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT

if %OS%==32BIT secedit /configure /db c:\WINDOWS\security\Database\template.sdb /cfg c:\WINDOWS\security\templates\template.inf /log c:\WINDOWS\security\logs\template.log /verbose

if %OS%==64BIT secedit /configure /db c:\WINDOWS\security\Database\template_x86.sdb /cfg c:\WINDOWS\security\templates\template_x86.inf /log c:\WINDOWS\security\logs\template_x86.log /verbose

有什么方法可以只维护一个文件吗?

我对 secedit.exe 进行了更多研究,发现如果我从 C:\Windows\Syswow64\secedit.exe 调用 secedit.exe,在 64 位机器的情况下 secedit.exe 将处理 %ProgramFiles%C:\ProgramFiles(x86)。 所以现在我只能有一个文件,在 if 条件下我将使用不同的 secedit.exe 来应用权限