我正在使用厨师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
符号可能是您能做的最好的事情。