Avatar of Dave Scott
Dave Scott
 asked on

Collect file properties from running processes and append to variable for export to CSV

Hi,

I'm trying to export particular meta data from exe files running processes. Ideally everything listed in the VersionInfo tabbed in section., plus the dates. I've been finding PowerShell pretty logical and straight forward so far, but this has me stumped.

I've been trying a whole host of different ways to do this,. And it works if I use out-file, but I'd like the data to be exported as a csv.

I guess I have 2 problems, 1 the Select-Object doesn't seem to access the VersionInfo sub-properties and when ever I try to export it to CSV it fails.

Is there a way of appending objects together, so that they can be handled correctly by the export-csv? Or selecting the data and converting to csv, before appending?

Thank you

$arr = Get-WmiObject Win32_Process -Computer $MachineName  | select ExecutablePath -ExpandProperty ExecutablePath
$data = $null

foreach ($File in $arr)
{
    if (-Not ([string]::IsNullOrWhitespace($file)))
    {
      $Data += Get-ItemProperty -Path $File | Format-list -Property * -Force
      #$Data += Get-ItemProperty -Path $File | Select-Object VersionInfo | ConvertTo-Csv
    }

}

$Data | export-csv $FullPath

Open in new window


This kind of data, but in a single CSV for all files.
VersionInfo       : File:             C:\Windows\system32\taskhostex.exe
                    InternalName:     taskhostex.exe
                    OriginalFilename: taskhostex.exe.mui
                    FileVersion:      6.3.9600.16384 (winblue_rtm.130821-1623)
                    FileDescription:  Host Process for Windows Tasks
                    Product:          Microsoft® Windows® Operating System
                    ProductVersion:   6.3.9600.16384
                    Debug:            False
                    Patched:          False
                    PreRelease:       False
                    PrivateBuild:     False
                    SpecialBuild:     False
                    Language:         English (United States)
CreationTime      : 22/11/2014 12:44:54 PM
CreationTimeUtc   : 22/11/2014 1:44:54 AM
LastAccessTime    : 25/08/2016 1:51:39 PM
LastAccessTimeUtc : 25/08/2016 3:51:39 AM
LastWriteTime     : 22/11/2014 12:44:54 PM
LastWriteTimeUtc  : 22/11/2014 1:44:54 AM
Powershell

Avatar of undefined
Last Comment
oBdA

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
oBdA

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Dave Scott

ASKER
Awesome thank you.

I would never have gotten that, I didn't even know that   `    was a character in use in powershell or any different from '
oBdA

The backtick is Powershell's Escape character, and it can be used for line continuation as well.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck