I am looking for a way to read a MOF file in a structured way within PowerShell. Specifically I am looking to find all the module references within a given MOF file. I’m assuming there might be something built in since DSC generates and reads/compiles MOFs.
I can’t speak for how well this works, but a quick web search turned up GitHub - KingslandConsulting/Kingsland.MofParser: A C# library for parsing the contents of Managed Object Format (MOF) files
I wrote up a pretty simple module for this as well.
I cheated a little, not really parsing but assuming that the instances are all sorta like a hashtable …
$Content = Get-Content -Path $Path | Out-String $Content = $Content -replace '/\*','' $Content = $Content -replace '= (NULL|TRUE|FALSE)','= $$$1' $Content = $Content -replace 'instance of .+\n','[PSCustomObject][Ordered]@' $Content = $Content -replace '\\\\','\' $Instances = @(Invoke-Expression -Command $Content)