CoreePower.Lib.Initialize.DevTools.Dotnet.ps1
if (-not($PSScriptRoot -eq $null -or $PSScriptRoot -eq "")) { . $PSScriptRoot\CoreePower.Lib.Includes.ps1 } function Initialize-DevToolsDotnet { [Diagnostics.CodeAnalysis.SuppressMessage("PSUseApprovedVerbs","")] param ( [ModuleScope]$Scope = [ModuleScope]::CurrentUser ) # Check if the current process can execute in the desired scope if (-not(CanExecuteInDesiredScope -Scope $Scope)) { return } $moduleName , $moduleVersion = Get-CurrentModule $updatesDone = $false $contentText = "dotnet (.NET)" Write-FormatedText -PrefixText "$moduleName" -ContentText "$contentText" -SuffixText "Check" if (-not(Get-Command "dotnet" -ErrorAction SilentlyContinue)) { Write-FormatedText -PrefixText "$moduleName" -ContentText "$contentText" -SuffixText "Deploy" #https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script &powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://dot.net/v1/dotnet-install.ps1'))) -Channel LTS -InstallDir `"$($global:CoreeDevToolsRoot)\dotnet`"" | Out-Null Write-FormatedText -PrefixText "$moduleName" -ContentText "$contentText" -SuffixText "Deploy Completed" Write-FormatedText -PrefixText "$moduleName" -ContentText "$contentText" -SuffixText "Adding envar" AddPathEnviromentVariable -Path "$($global:CoreeDevToolsRoot)\dotnet" -Scope CurrentUser Write-FormatedText -PrefixText "$moduleName" -ContentText "$contentText" -SuffixText "Adding envar Completed" Write-FormatedText -PrefixText "$moduleName" -ContentText "$contentText" -SuffixText "Available" } else { Write-FormatedText -PrefixText "$moduleName" -ContentText "$contentText" -SuffixText "Already available" } Write-FormatedText -PrefixText "$moduleName" -ContentText "$contentText" -SuffixText "Completed" return $updatesDone } |