PowerShell Get-ChildItem 并不总是返回目录名称

问题描述 投票:0回答:1

我正在多个服务器的驱动器中搜索特定文件。代码看起来像这样......

$servers = Get-ADComputer -filter {Name -like "SERVER-*"}
foreach ($server in $Servers){
    $Server.Name
    Invoke-Command -ComputerName $server.Name -ScriptBlock {
        $filename="db2cmd.exe"
        $listOfDrives=(get-psdrive | ? { $_.provider -match 'FileSystem'}).root
        foreach ($Drive in $listOfDrives){
            If ($Drive -ne "C:\" -and $Drive -ne "A:\") {
                Get-ChildItem -Path $Drive -Filter $filename -Recurse -ErrorAction SilentlyContinue -Force
            } 
        }
    }
}

当我运行它时,在大多数情况下,当遇到该文件时,它会返回找到该文件的目录..

   Directory: E:\IBM\DB2\SQLLIB\BIN


Mode                LastWriteTime         Length Name                                                                                       PSComputerName                                                                           
----                -------------         ------ ----                                                                                       --------------                                                                           
-a----         1/5/2024  11:32 AM          55888 db2cmd.exe                                                                                 ServerA 

然而,在其他服务器上,既不显示目录,也不显示列标题。

-a----         1/5/2024  11:32 AM          55888 db2cmd.exe                                                                                 ServerB

我真的不明白这样做的原因,因为它在每台服务器上运行相同的命令。如果您能提供任何帮助,我们将不胜感激。

我尝试了不同的参数,但它们似乎改变了 Get-ChildItems 正在寻找的位置和内容,而不是结果的输出方式。

powershell get-childitem
1个回答
0
投票
$servers = Get-ADComputer -filter {Name -like "SERVER-*"}
foreach ($server in $Servers){
    $Server.Name
    Invoke-Command -ComputerName $server.Name -ScriptBlock {
        $filename="db2cmd.exe"
        $listOfDrives=(get-psdrive | ? { $_.provider -match 'FileSystem'}).root
        foreach ($Drive in $listOfDrives){
            If ($Drive -ne "C:\" -and $Drive -ne "A:\") {
                Get-ChildItem -Path $Drive -Filter $filename -Recurse -ErrorAction SilentlyContinue -Force
            } 
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.