我有以下代码从文本文件中提取一些服务器信息并将其吐出到哈希表中。
Get-Content $serverfile | Foreach-Object {
if($_ -match '^([^\W+]+)\s+([^\.+]+)')
{
$sh[$matches[1]] = $matches[2]
}
}
$sh.GetEnumerator()| sort -Property Name
这会产生以下结果:
Name Value
---- -----
Disk0 40
Disk1 40
Disk2 38
Disk3 43
Memory 4096
Name Value
Number_of_disks 1
Number_of_network_cards 2
Number_of_processors 1
ServerName WIN02
根据服务器的不同,可能有一个 Disk0 或更多。
我的挑战是从每个不同数量的 Disk 键中提取每个 Disk* 值,并以逗号分隔的列表返回值,例如;
$disks = 40,40,38,43
我已经尝试了不同的方法来解决这个问题,但是没有一个符合动态的标准,并且在每个磁盘之后都包含“,”。
任何帮助,将不胜感激。