【发布时间】:2017-03-28 21:29:35
【问题描述】:
我正在使用软件列表和 Import-Excel 模块 (Link),尝试创建软件名称和版本号的哈希表,每个主机都导出为自己的工作表。我在模块中使用 Export-MultipleExcelSheets cmdlet。
这是我的 $Inventory 变量的示例:
计数名称组 ----- ---- ----- 103 10.105.122.27 {@{主机=10.105.122.27;名称 = Exchange Server 2010 Service Pack 3 (KB3049853) 的更新汇总 10;版本=1},@{主机=10.105.122.27;名称 = Exchange Server 2010 Service Pack 3 的更新汇总 14 (K... 103 10.105.122.28 {@{主机=10.105.122.28;名称 = Exchange Server 2010 Service Pack 3 (KB3049853) 的更新汇总 10;版本=1},@{主机=10.105.122.28;名称 = Exchange Server 2010 Service Pack 3 的更新汇总 14 (K... 119 10.105.76.221 {@{主机=10.105.76.221;名称 = Exchange Server 2010 Service Pack 3 (KB3049853) 的更新汇总 10;版本=1},@{主机=10.105.76.221;名称 = Exchange Server 2010 Service Pack 3 的更新汇总 15 (K... 116 10.105.76.222 {@{主机=10.105.76.222;名称 = Exchange Server 2010 Service Pack 3 (KB3184728) 的更新汇总 15;版本=1},@{主机=10.105.76.222;名称 = Exchange Server 2010 Service Pack 3 的更新汇总 16 (K...这是我尝试使用的代码:
Foreach ($I In $Inventory)
{
$DataToGather.Add($I.Name, {$I.Group | Select-Object Name, Version})
}
Export-MultipleExcelSheets -Show -Autosize -Path "C:\Path\To\Software Inventory.xlsx" $DataToGather
我没有收到此代码的错误,但它会导致 10 张具有相同软件列表的工作表(我知道这些机器没有完全相同的软件列表)。
有没有更好的方法来做我正在做的事情?
【问题讨论】:
标签: powershell hashtable