Skip to content

Instantly share code, notes, and snippets.

@cchamberlain
Last active February 9, 2017 11:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cchamberlain/6fbf21c0f5e4734c8c75 to your computer and use it in GitHub Desktop.
Save cchamberlain/6fbf21c0f5e4734c8c75 to your computer and use it in GitHub Desktop.
PowerShell script to automate getting the latest version of NuGet and installing to a configurable location with good defaults.
powershell -encodedcommand W0NtZGxldEJpbmRpbmcoDQogIFN1cHBvcnRzU2hvdWxkUHJvY2Vzcz0kVFJVRSwNCiAgQ29uZmlybUltcGFjdD0iSGlnaCINCildDQpQQVJBTSgNCiAgW3BhcmFtZXRlcihQb3NpdGlvbj0wLEhlbHBNZXNzYWdlPSJEaXJlY3RvcnkgdG8gaW5zdGFsbCAvIHVwZGF0ZSBOdUdldC4iKV0NCiAgW2FsaWFzKCJyIildDQogIFtzdHJpbmddJE5VR0VUX1JPT1Q9IiQoSm9pbi1QYXRoICRFbnY6UHJvZ3JhbUZpbGVzIE51R2V0KSINCikNClBST0NFU1Mgew0KICBOZXctSXRlbSAtcGF0aCAiJE5VR0VUX1JPT1QiIC1pdGVtdHlwZSBEaXJlY3RvcnkgLWZvcmNlIHwgT3V0LU51bGwNCiAgIyAkc291cmNlTnVnZXRFeGUgPSAiaHR0cHM6Ly93d3cubnVnZXQub3JnL2FwaS92Mi9wYWNrYWdlL051R2V0LkNsaWVudC8zLjIuMCINCiAgJHNvdXJjZU51Z2V0RXhlID0gImh0dHBzOi8vbnVnZXQub3JnL251Z2V0LmV4ZSINCiAgJHRhcmdldE51Z2V0RXhlID0gSm9pbi1QYXRoICIkTlVHRVRfUk9PVCIgbnVnZXQuZXhlDQogIEludm9rZS1XZWJSZXF1ZXN0ICIkc291cmNlTnVnZXRFeGUiIC1PdXRGaWxlICIkdGFyZ2V0TnVnZXRFeGUiDQogIFNldC1BbGlhcyBudWdldCAiJHRhcmdldE51Z2V0RXhlIiAtU2NvcGUgR2xvYmFsIC1WZXJib3NlIC1mb3JjZQ0KfQ==
[CmdletBinding(
SupportsShouldProcess=$TRUE,
ConfirmImpact="High"
)]
PARAM(
[parameter(Position=0,HelpMessage="Directory to install / update NuGet.")]
[alias("r")]
[string]$NUGET_ROOT="$(Join-Path $Env:ProgramFiles NuGet)"
)
PROCESS {
New-Item -path "$NUGET_ROOT" -itemtype Directory -force | Out-Null
# $sourceNugetExe = "https://www.nuget.org/api/v2/package/NuGet.Client/3.2.0"
$sourceNugetExe = "https://nuget.org/nuget.exe"
$targetNugetExe = Join-Path "$NUGET_ROOT" nuget.exe
Invoke-WebRequest "$sourceNugetExe" -OutFile "$targetNugetExe"
Set-Alias nuget "$targetNugetExe" -Scope Global -Verbose -force
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment