【问题标题】:Scan multiple servers, all drives per server for a certain file type扫描多台服务器,每台服务器的所有驱动器以查找特定文件类型
【发布时间】:2016-02-25 19:32:46
【问题描述】:

目前我正在使用以下脚本轮询域中所有服务器的 AD,然后扫描每个服务器的物理驱动器,然后扫描每个驱动器的特定文件类型。

$servers = Get-ADComputer -SearchBase "OU=Servers,dc=domain,dc=local" -Filter * | Select -Exp Name | sort
$result = $servers | 
% { 
    write-host "$_"
    gwmi win32_logicaldisk -filter "DriveType = 3" |
    select-object DeviceID |
    % {
    write-host "$_"
        gci . -recurse -filter *.txt | select fullname,length,lastWriteTime
   }
}
$result | export-csv c:\files.csv -notype

这确实抓取了每台服务器,但似乎只抓取了第一台服务器的 C 和 D 驱动器并为每个服务器重复该操作。那里有一些服务器的 E: 和 M: 驱动器没有被拾取。

屏幕上会输出服务器名称和看似不正确的驱动器,但 csv 文件是空的。

【问题讨论】:

  • 嗨,用gci $_ 替换gci . 怎么样?我不明白. 在这里如何工作。
  • 你确定驱动器 M: 和 E: 有 DriveType = 3

标签: powershell


【解决方案1】:

对于网络驱动器或未知、ramdisk 和其他驱动器类型,DriveType 将不同于 3。

可以在 win32_logicaldisk 中找到以下 DriveType:

  • 未知 (0)
  • 无根目录 ​​(1)
  • 可移动磁盘 (2)
  • 本地磁盘 (3)
  • 网络驱动器 (4)
  • 光盘 (5)
  • 内存盘 (6)

我建议您尝试删除过滤器并按以下方式获取磁盘:

gwmi win32_logicaldisk 

有关 win32_logicaldisk 的更多信息 - 请参阅:https://msdn.microsoft.com/en-us/library/windows/desktop/aa394173(v=vs.85).aspx

【讨论】:

    猜你喜欢
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 2021-04-29
    • 2022-10-17
    相关资源
    最近更新 更多