使用 Azure Automation DSC 删除目录内容

Delete directory content using Azure Automation DSC

我正在使用 Azure Automation DSC 在我的 Azure VM 上部署一些基本配置。但是,我正在努力递归删除 C:/Temp 目录的所有内容并将目录保留为空文件夹。

我正在使用以下代码:

$temp_dir           = "C:\temp\"  

File "Clean Temp Folder" # Delete $temp_dir Directory 
        { 
            Ensure          = "Absent" 
            Type            = "Directory" 
            Recurse         = $true 
            DestinationPath = $temp_dir
            Force           = $true 
        }

一旦我将节点配置分配给 VM,C:/Temp/ 文件夹就会被完全删除,但如果我之后手动重新创建它,它不会在下一个 DSC 运行 上被删除,即使Force 参数设置为 true。
非常欢迎任何建议!

我建议先使用 Script resource or else if you want to go with File resource,然后再尝试如下所示的操作。

$temp_dir           = "C:\temp\"  

File "Clean Temp Folder" # Delete $temp_dir Directory 
        { 
            Ensure          = "Absent" 
            Type            = "Directory" 
            Recurse         = $true 
            DestinationPath = $temp_dir
            Force           = $true 
        }

$temp_dir           = "C:\temp\"  

File "Create empty Temp Folder" # Create empty $temp_dir Directory 
        { 
            Ensure          = "Present" 
            Type            = "Directory" 
            DestinationPath = $temp_dir
            Force           = $true 
        }

问题出在 Azure 端。当我在 DSC 中注册节点时,配置模式设置为 ApplyAndMonitor。 不好的是已经注册的节点设置不可见,但在 re-registering 之后问题解决了。

Screenshot