使用32位启动器运行.cmd?

时间:2019-05-22 20:56:20

标签: sccm

我花了很多时间试图弄清楚我想要完成的简单事情。我有一个.cmd文件,其中只有一行:sfc /scannow 我将其包装为一个软件包,并以命令行作为程序位于cmd /c sfc.cmd上,并将其设置为根据需要安装并隐藏。 (如果它确实运行,我可以查看cbs日志)。 因此,然后将其部署并下载到测试计算机,然后在ccmcache文件夹中看到它。查看execmgr.log,它执行以下操作:

"C:\Windows\system32\cmd.exe" /c sfc.cmd, Working Directory = C:\Windows\ccmcache\g\

Running "C:\Windows\system32\cmd.exe" /c sfc.cmd with 32bitLauncher

在下午4:43左右注意到了这两个指标。我看不到退出代码0或任何其他代码。然后查看cbs.log,最后一次写入时间是4:19 PM。我在做什么错了?

1 个答案:

答案 0 :(得分:2)

如果我尝试在64位Windows中从32位cmd运行sfc / scannow,则会出现错误,因此您可能必须使用技巧来运行64位sfc。

代替命令行

cmd /c sfc.cmd

使用

C:\windows\sysnative\cmd /c sfc.cmd

不幸的是,

Sysnative是一个别名,您看不到它,但是如果程序以32位进程启动,则可以访问它。它的作用是避免WoW64重定向,该重定向会拦截对system32的每个调用,并将其发送到syswow64,在您的情况下会导致问题。