PowerShell从远程PC删除桌面项目

时间:2013-12-18 20:00:21

标签: powershell powershell-v2.0 powershell-v3.0

我有200台PC需要删除一些特定的图标。

我使用ComputerName(每行1个名字)

创建了一个CSV文件

我有另一个文件,其中包含需要从桌面删除的图标文件名(Shortcut1.lnk等)。此其他文件也是CSV(每行1个文件名)。

如何运行PowerShell脚本来删除这些图标。 (请注意,并非我的CSV文件中的所有计算机都可能已打开。有些计算机可能已关闭或出现网络问题。)

$SOURCE = "C:\powershell\shortcuts"
$DESTINATION = "c$\Documents and Settings\All Users\Desktop"
$LOG = "C:\powershell\logs\logsremote_copy.log"
$REMOVE = Get-Content C:\powershell\shortcuts-removal.csv

Remove-Item $LOG -ErrorAction SilentlyContinue
$computerlist = Get-Content C:\powershell\computer-list.csv

foreach ($computer in $computerlist) {
  foreach ($file in $REMOVE) {
    Remove-Item "\\$computer\$DESTINATION\$file" -Recurse
  }
}

到目前为止,这是我的代码,但似乎没有从

中删除文件
\\computername\c$\Documents and Settings\All Users\Desktop

我收到错误和警告。日志文件似乎也没有创建。

无论如何要获得删除内容的报告。什么没被删除?

1 个答案:

答案 0 :(得分:4)

改变这一点,你已经在$ destination变量中指定了一个斜杠,你加倍了@ \\c$

Remove-Item "\\$computer$DESTINATION\$file" -Recurse

否则,您正试图删除此路径并失败。

\\computername\\c$\Documents and Settings\All Users\Desktop\$file