列出域中远程计算机上的硬盘信息 [英] List hard Disk Information on remote computers within a domain

查看:13
本文介绍了列出域中远程计算机上的硬盘信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试获取硬盘信息列表。目前,我只想让列表显示每台计算机所包含的硬盘型号。

我有以下内容

Get-WMIObject win32_diskdrive -computer (Get-Content C:TempDiskDrivesComputers.txt) | Select model | Export- CSV "C:TempDiskDrivesMachines.csv" 

Computers.txt文件包含代码逐个经过的计算机列表。在某种程度上,上面将列出它可以为计算机找到的驱动器,但CSV文件的格式不是太好。

是否可以将CSV格式化为包括txt文件中的计算机名称?还要只挑出硬盘而不挑USB、SD设备等吗?

感谢您的任何想法/建议。

非常感谢, 克里斯

推荐答案

只需同时选择SystemName属性,您就会得到如下所示的结果。

Get-WMIObject win32_diskdrive -computer (Get-Content C:TempDiskDrivesComputers.txt) | `
  Select SystemName,model 

>SystemName Model                              Size(GB)
---------- -----                              --------
BEHEMOTH   OCZ-VERTEX PLUS R2                       58
BEHEMOTH   JetFlash Transcend 32GB USB Device       29
BEHEMOTH   INTEL SSDSC2CT180A3                     168
BEHEMOTH   SAMSUNG HD103SJ                         932
BEHEMOTH   OCZ-VERTEX                               60
BEHEMOTH   ST3000DM001-1CH166                     2795
BEHEMOTH   OCZ-VERTEX PLUS R2                       58
BEHEMOTH   JetFlash Transcend 32GB USB Device       29
BEHEMOTH   INTEL SSDSC2CT180A3                     168
BEHEMOTH   SAMSUNG HD103SJ                         932
BEHEMOTH   OCZ-VERTEX                               60
BEHEMOTH   ST3000DM001-1CH166                     2795

只要您对多台计算机运行一个WMI查询,您就会同时获得SystemName参数,这将使操作变得简单!

请注意,在上面的结果中,我得到了一个名为Transcend的小驱动器,它是一个32 GB的USB 3 FlashDrive。您提到希望只包括固定磁盘,而不是USB,因此我们只需添加一条WHERE语句即可,如下所示:

PS C:> Get-WMIObject win32_diskdrive -ComputerName behemoth,localhost | 
Where-Object MediaType -eq 'Fixed hard disk media' | Select SystemName,Model

>SystemName Model               Size(GB)
---------- -----               --------
BEHEMOTH   OCZ-VERTEX PLUS R2        58
BEHEMOTH   INTEL SSDSC2CT180A3      168
BEHEMOTH   SAMSUNG HD103SJ          932
BEHEMOTH   OCZ-VERTEX                60
BEHEMOTH   ST3000DM001-1CH166      2795
BEHEMOTH   OCZ-VERTEX PLUS R2        58
BEHEMOTH   INTEL SSDSC2CT180A3      168
BEHEMOTH   SAMSUNG HD103SJ          932
BEHEMOTH   OCZ-VERTEX                60
BEHEMOTH   ST3000DM001-1CH166      2795

加分,如果您想以GB为单位显示磁盘大小,请将SELECT语句更改为以下内容,该语句使用一个已计算的属性创建一个名为SIZE(GB)的新列,并用$_.Size属性除以1 GB的整数(整数)形式填充该列:

Select SystemName,Model,@{Name='Size(GB)';Exp={$_.Size /1gb -as [int]}}`

已完成一行

只需将您的Export-CSV添加到管道的末尾,即可获得一个完整的- 这样的眼线应该会给你想要的结果:

Get-WMIObject win32_diskdrive -computer (Get-Content C:TempDiskDrivesComputers.txt) | 
Where-Object MediaType -eq 'Fixed hard disk media' | 
Select SystemName,Model,@{Name='Size(GB)';Exp={$_.Size /1gb -as [int]}} |
Export- CSV "C:TempDiskDrivesMachines.csv" 

啊,PowerShell的力量。

这篇关于列出域中远程计算机上的硬盘信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆