Parse MOF with PowerShell

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 https://github.com/mikeclayton/MofParser

I wrote up a pretty simple module for this as well.
https://gist.github.com/jeffpatton1971/6eb4479dd6ab4e4edfe0

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)