2013-12-18 24 views
2

我有200臺PC需要刪除一些特定的圖標。PowerShell從遠程PC刪除桌面項目

我創建與計算機名(每行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 

刪除這些文件我得到錯誤和警告。日誌文件似乎也沒有創建。

無論如何得到什麼被刪除的報告。什麼沒有刪除?

回答

4

改變這種情況,您已經在$目標變量指定一個斜線,你是翻倍@\\c$

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

否則,您要刪除這條道路和失敗。

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

謝謝。我錯過了,但我收到警告說刪除項目:找不到路徑'\\ COMPUTERNAME \ c $ \ Documents and Settings \所有用戶\桌面\ SCANNER.lnk',因爲它不存在。 在C:\ powershell \ powerdelete.ps1:11 char:16 +刪除項目<<<<「\\ $ computer \ $ DESTINATION \ $ file」-Recurse + CategoryInfo:ObjectNotFound:(\\ COMPUTERNAME \ c $ \ D ... top \ SCANNER.lnk:String)[Remove-Item],ItemNotFoundException + FullyQualifiedErrorId:PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand –

+0

嘗試在測試路徑語句周圍包裝if子句以驗證文件在嘗試刪除之前存在。這裏是種類的語法http://serverfault.com/questions/560505/suppressing-the-reason-for-shutdown-on-windows-server/561003#561003 –