SetUpBasic.ps1
function PrivateSubUpdate{ Update-Module -Name SetUpBasic #Get-InstalledModule -Name SetUpBasic -AllVersions | Where-Object {$_.Version -ne $(Get-InstalledModule -Name SetUpBasic).Version} | Uninstall-Module -Verbose #Import-Module -Name SetUpBasic -Force Write-Host "To update your current shell session you need to reload the module with 'Import-Module -Name SetUpBasic -Force' " } function PrivateSubClean{ param ( [Parameter(Mandatory)] [string]$Name ) $LatestModuls = (Get-Module -ListAvailable $Name) | Sort-Object Version -Descending $LatestModul = $LatestModuls[0] foreach ($CurrentModul in $(Get-Module -ListAvailable $Name)) { if ($CurrentModul.Version -ne $LatestModul.Version) { Write-Host "Remove-Module -FullyQualifiedName @{ModuleName = """$Name"""; ModuleVersion = """$($CurrentModul.Version)"""}" Remove-Module -FullyQualifiedName @{ModuleName = "$Name"; ModuleVersion = "$($CurrentModul.Version)"} -ErrorAction SilentlyContinue Write-Host "Uninstall-Module -name $Name -RequiredVersion $($CurrentModul.Version)" Uninstall-Module -name $Name -RequiredVersion $CurrentModul.Version -ErrorAction SilentlyContinue } } Write-Host "Current: $($LatestModul) $($LatestModul.Version)" } function PrivateSubIsAdmin { $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) $result = $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) Write-Host "$result" } function DownloadString { param ( [Parameter(Mandatory)] [string]$url ) $uri = [uri]::new($url) try { $str = (New-Object Net.WebClient).DownloadString($uri.OriginalString) } catch { Write-Host "DownloadString thrown a exception" Write-Host "$($PSItem.Exception.Message)" $str = "" } return [string]$str } #SubOldModulCleanUp -ModulName "SetUpBasic" #$ret = DownloadString -url "https://github.com/microsoft/winget-cli/releases/latest" #ExtractLinks2 -html $ret -url "https://github.com/microsoft/winget-cli/releases/latest" |