Public/DotNet/Get-DotNetCoreVersion.ps1
function Get-DotNetCoreVersion { param( [validateset("Runtime", "SDK")] [string]$Type ) if ($type -eq "Runtime") { dotnet --list-runtimes|ForEach-Object { $r = new-object Regex ("(?<Name>[^ ]*) (?<Version>[^ ]*) \[(?<Path>[^\]]*)") $m = $r.Match($_) [PSCustomObject]@{ Name = $m.Groups["Name"].Value Version = $m.Groups["Version"].Value Path = $m.Groups["Path"].Value } } } else { dotnet --list-sdks|ForEach-Object { $r = new-object Regex ("(?<Name>[^ ]*) \[(?<Path>[^\]]*)") $m = $r.Match($_) [PSCustomObject]@{ Name = $m.Groups["Name"].Value Version = $m.Groups["Name"].Value Path = $m.Groups["Path"].Value } } } } |