Powershell 我需要编写一个脚本,使其与Windows中运行的服务和进程相关联。将结果放入哈希表

Powershell 我需要编写一个脚本,使其与Windows中运行的服务和进程相关联。将结果放入哈希表,powershell,devops,Powershell,Devops,与Windows中运行的服务和进程关联的脚本: Get-WmiObject Win32_Service | Foreach-Object { $_ | Add-Member -MemberType NoteProperty -Name Processes -Value (Get-Process -Id $_.ProcessId ) -Passthru | Select-Object ProcessId, Name, State, Processes | Where-Object {$_.S

与Windows中运行的服务和进程关联的脚本:

Get-WmiObject Win32_Service | Foreach-Object {
$_ | Add-Member -MemberType NoteProperty -Name Processes -Value (Get-Process -Id $_.ProcessId ) -Passthru
   | Select-Object ProcessId, Name, State, Processes | Where-Object {$_.State -eq "Running"}   }

但我不知道如何将所有结果放入哈希表中。如果你能帮助我,我将不胜感激。提前感谢:)

将此添加到末尾将输出哈希表列表:

 | foreach-object {
    $hash = @{}
    $object = $_
    $_ | Get-Member -MemberType noteproperty | Foreach-object { 
        $hash.($_.name) = $object.($_.name)
    }
    $hash
}
或者,您可以创建一个以进程ID为键的哈希表:

$bigHash = @{}
{your code} | foreach-object {
        $hash = @{}
        $object = $_
        $_ | Get-Member -MemberType noteproperty | Foreach-object { 
            $hash.($_.name) = $object.($_.name)
        }
        $bighash.([int]$hash.ProcessId) = $hash
    }