Chef 未使用文件资源删除 %systemroot%\system32 路径中的文件

Chef 未使用文件资源删除 %systemroot%\system32 路径中的文件

我正在使用厨师file用于%systemroot%\system32在 Windows 计算机中删除路径内的文件的资源。资源块如下,

file 'Delete_File' do
  path 'C:\\Windows\\System32\\my.dll'
  action :delete
end

我已确保在调用资源块dll之前,使用该服务的 Windows 服务已停止。file

但运行结束时文件仍未被删除chef-client。因此,我假设需要进行一些访问权限设置才能实现此目的。

任何指针都会有帮助。

答案1

我怀疑您在 W2K8R2 上使用 32 位版本chef-client,这是一个 x64 架构操作系统。据推测,您的chef-client进程“看到”的目录%systemroot%\system32实际上是%systemroot%\syswow64。我猜您的 DLL 不在那里,无法删除。

已在 Opscode 的票据中讨论过以及那里描述的解决方法,参考%systemroot%\sysnative符号可能是您能做的最好的事情。

相关内容