[英]scan for and delete specific files using PS
我有一个用于升级的脚本。 我们发现,升级后,几个用户目录(Win7)中仍然有一个ini文件。 我们能够转到每台计算机,并在提升的cmd提示符下使用del /s "filename.ini"
(显然没有引号)。 由于有800-900台PC,这将使工作量过多。 试图在脚本中添加一行以查找和删除这些文件,但不起作用。
PC名称在一个csv文件中,因此有一个变量指向该文件:
# Read "Computers.csv" to get list of computers to upgrade.
$Computers = Get-Content Computers.csv
# Execute the upgrade process on computers in "Computers.csv sequentely.
ForEach ($Computer in $Computers)
然后试图添加此行:
foreach ($termreg in $termregs) {
remove-item $termreg.fullname
}
文件在哪里:
$termreg = gci $UsersPath -Recurse | Where {$_.name -like "test.txt"}
我想念什么?
很难确切地看到您的脚本在做什么错,因为零件失灵或丢失。 这是一种方法:
#This isn't a properly formatted csv if you are using Get-Content rather than Import-CSV
$Computers = Get-Content Computers.csv
#Invoke-Command runs in parallel when provided multiple systems to run on
Invoke-Command -ComputerName $Computers -Scriptblock {
#Use gwmi if not PS3+, can use -filter to exclude users
$UserDirectories = Get-CimInstance Win32_UserProfile |
Select-Object -ExpandProperty LocalPath
foreach ($UserDirectory in $UserDirectories) {
Get-ChildItem $UserDirectory -Recurse -Include "test.txt" |
Remove-Item -Force
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.