DSCResources/POSHOrigin_vSphere_VM/Helpers/_GetGuestOS.ps1
function _GetGuestOS{ [cmdletbinding()] param( [Parameter(Mandatory)] [ValidateNotNull()] $vm, [Parameter(Mandatory)] [pscredential]$Credential ) #Get guest operating system version try { $ip = _GetGuestVMIPAddress -VM $vm Write-Debug 'Quering system for OS version' if ($ip) { $opt = New-CimSessionOption -Protocol DCOM $cim = New-CimSession -ComputerName $ip -Credential $Credential -SessionOption $opt -Verbose:$false $os = (Get-CimInstance -ClassName Win32_OperatingSystem -CimSession $cim -Verbose:$false).Version $os = $os.Split(".") $os = ($os[0] + $os[1]).ToInt32($Null) Remove-CimSession -CimSession $cim -ErrorAction SilentlyContinue return $os } else { Write-Error -Message 'Error querying for OS version' } } catch { Remove-CimSession -CimSession $cim -ErrorAction SilentlyContinue Write-Error -Message 'There was a problem querying for the system OS version' Write-Error -Message "$($_.InvocationInfo.ScriptName)($($_.InvocationInfo.ScriptLineNumber)): $($_.InvocationInfo.Line)" write-Error -Exception $_ } } |