【发布时间】:2021-12-06 10:37:37
【问题描述】:
我正在过滤来自我的 vCenter 上的电源 cli 的导出。我需要从 Vmware 从 powercli 创建的导出中生成两个 csv 文件。当我导出时,Esxi 会创建一个名为 GUEST 的列,然后在该列中填充“servername.somedomain.com:Microsoft Windows Servers 2016”,并根据操作系统类型用分号分隔。
我需要生成包含所有具有相同操作系统的服务器和相关列的 csv 报告,以及所有类似域服务器和相关列的报告。
导入 csv 不支持通配符,因此我无法过滤出 somedomain.com 也无法在输入时过滤 2016。我不知道下一步该转向哪个方向,我会欣赏或简明阅读更好的 powershell 技术来操纵 csv 文件中的数据以供假人使用?以下是我用来进行大部分过滤的内容,但我被困在上述单元格上。
Import-CSV -Path "E:\esxi.csv | ? Folder -notlike *SharePoint*| ? Notes -notlike *Physical* | ? Notes -notlike *Sharepoint* | Export-Csv "E:\filtered.csv" -NoTypeInformation
这是一个示例 csv 的链接。
https://drive.google.com/file/d/1DdqtVFVcZ0aFnoUDqB2ErNX_yA9LBO8H/view?usp=sharing
【问题讨论】:
-
"导入 csv 不支持通配符,所以我无法过滤掉 somedomain.com" - 你不需要通配符,你只是说它在
GUEST专栏?Import-Csv ... |? GUEST -notlike *somedomain.com* -
请直接在问题中发布您的示例数据的代表性部分(顺便说一句:链接的文件不可公开访问)并描述所需的输出。
-
Mathias,我明白你的意思了,不要试图过滤“为”我想要的东西,而是过滤掉其他所有东西......我会试一试。
标签: powershell csv vmware