我正在针对 Windows VM 运行剧本以删除回收站的内容,并且该任务成功运行,表明已进行了更改。但是,在服务器本身上查看时,回收站的内容仍然存在。
有几种方法可以删除回收站的内容。以下是我尝试过的以下方法:
使用了不同的 Ansible 剧本:
- name: Clean recycle bin
win_shell: |
$recycleBin = (New-Object -ComObject Shell.Application).NameSpace(0xa)
$recycleBin.Items() | ForEach-Object -Process { Remove-Item -Path $_.Path -Force -Recurse }
- name: Clean recycle bin
win_shell: Clear-RecycleBin -Force
- name: Clean recycle bin
win_command: cmd.exe /k rd /s /q %systemdrive%\$Recycle.Bin
使用 powershell 命令,它会在不提示我确认的情况下删除所有内容。我不想运行该cmd.exe
命令,因为它只会删除与 C:\ 驱动器相关的内容,除非我指定驱动器号。
所有这些命令在服务器本身上运行时都成功删除了回收站的内容,但在使用 Ansible 时,回收站的内容仍然存在。