Tom*_*mer 3 powershell hashtable duplicates
例如,我有这个班轮:
get-process | select id, processname | %{$_.processname +"="+ $_.id} | ConvertFrom-StringData
它返回每个进程及其 id 的键和值对。我的目标是删除任何具有重复名称的进程,并只留下其中一个(例如,我想只留下一个 svchost 条目),放在一个班轮中。似乎没有什么对我有用,我不确定这ConvertFrom-StringData是正确的方向,并且不明白它如何成功将其转换为具有重复键的哈希表。
如果您希望获得每个进程一次但仍保留对 ID 的引用,您可以在 ProcessName 上使用 Group-Object,然后从中创建包含您想要的内容的自定义对象。
Get-Process | Group-Object ProcessName | ForEach-Object {
[pscustomobject]@{
ProcessName = $_.Name
IDs = $_.Group.Id
} }
Run Code Online (Sandbox Code Playgroud)
输出
ProcessName IDs
----------- ---
acumbrellaagent 7288
aesm_service 17512
ApplicationFrameHost 16704
armsvc 5240
assystResetService 5232
atmgr 18984
audiodg 15216
Calculator 6128
CamMute 5616
CcmExec 5252
chrome {3348, 3848, 4196, 4416...}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |