【发布时间】:2019-03-22 21:12:32
【问题描述】:
我正在针对 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 时,回收站的内容仍然存在。
【问题讨论】:
-
您在 ansible 连接中验证的用户是什么?该用户在服务器上是否具有必要的权限?
-
是的,用户是服务器上的本地管理员。我还以用户身份登录服务器,并能够成功运行命令。
-
您可能忘记注册输出了。
标签: powershell recycle-bin ansible-awx