繁体   English   中英

使用PS扫描并删除特定文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM