列出域内远程计算机的硬盘信息
List hard Disk Information on remote computers within a domain
我正在尝试获取硬盘信息列表。目前我只想让列表显示每台计算机包含的硬盘型号。
我有以下
Get-WMIObject win32_diskdrive -computer (Get-Content C:\Temp\DiskDrives\Computers.txt) | Select model | Export- CSV "C:\Temp\DiskDrives\Machines.csv"
computers.txt 文件包含代码逐一经过的计算机列表。上面的工作在一定程度上会列出它可以为机器找到的驱动器,但 csv 文件的格式不太好。
能否将 csv 格式化为包含 txt 文件中的计算机名称?还只挑出硬盘而不是usb,sd设备等?
感谢任何想法/建议。
非常感谢,
克里斯
只需选择系统名称属性,您将得到这样的结果。
Get-WMIObject win32_diskdrive -computer (Get-Content C:\Temp\DiskDrives\Computers.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 闪存驱动器。您提到只想包含固定磁盘,而不是 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 属性 除以 1GB 的整数(整数)形式填充它:
Select SystemName,Model,@{Name='Size(GB)';Exp={$_.Size /1gb -as [int]}}`
完成一行
只需将您的 Export-CSV 添加到管道的末尾即可完成一个 -
像这样的班轮应该会给你你正在寻找的结果:
Get-WMIObject win32_diskdrive -computer (Get-Content C:\Temp\DiskDrives\Computers.txt) |
Where-Object MediaType -eq 'Fixed hard disk media' |
Select SystemName,Model,@{Name='Size(GB)';Exp={$_.Size /1gb -as [int]}} |
Export- CSV "C:\Temp\DiskDrives\Machines.csv"
啊,PowerShell 的强大功能。
我正在尝试获取硬盘信息列表。目前我只想让列表显示每台计算机包含的硬盘型号。
我有以下
Get-WMIObject win32_diskdrive -computer (Get-Content C:\Temp\DiskDrives\Computers.txt) | Select model | Export- CSV "C:\Temp\DiskDrives\Machines.csv"
computers.txt 文件包含代码逐一经过的计算机列表。上面的工作在一定程度上会列出它可以为机器找到的驱动器,但 csv 文件的格式不太好。
能否将 csv 格式化为包含 txt 文件中的计算机名称?还只挑出硬盘而不是usb,sd设备等?
感谢任何想法/建议。
非常感谢, 克里斯
只需选择系统名称属性,您将得到这样的结果。
Get-WMIObject win32_diskdrive -computer (Get-Content C:\Temp\DiskDrives\Computers.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 闪存驱动器。您提到只想包含固定磁盘,而不是 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 属性 除以 1GB 的整数(整数)形式填充它:
Select SystemName,Model,@{Name='Size(GB)';Exp={$_.Size /1gb -as [int]}}`
完成一行
只需将您的 Export-CSV 添加到管道的末尾即可完成一个 - 像这样的班轮应该会给你你正在寻找的结果:
Get-WMIObject win32_diskdrive -computer (Get-Content C:\Temp\DiskDrives\Computers.txt) |
Where-Object MediaType -eq 'Fixed hard disk media' |
Select SystemName,Model,@{Name='Size(GB)';Exp={$_.Size /1gb -as [int]}} |
Export- CSV "C:\Temp\DiskDrives\Machines.csv"
啊,PowerShell 的强大功能。