I've updated the Google Cloud SDK (gcloud), both in general with:
gcloud components update
And just for PowerShell with:
gcloud components update powershell
Running gcloud --version
shows:
Google Cloud SDK 122.0.0
beta 2016.01.12
bq 2.0.24
bq-win 2.0.24
bundled-python 2.7.10
core 2016.08.16
core-win 2016.08.05
gcloud
gsutil 4.20
gsutil-win 4.20
powershell 0.1.3
windows-ssh-tools 2016.05.13
When I open PowerShell and try Get-GcsBucket
though, I see this error:
Get-GcsBucket : The term 'Get-GcsBucket' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
How can I get PowerShell to recognize the gcloud cmdlets?
Unfortunately the PSModulePath
modification required to make the cmdlets available to PowerShell only happens when the Google Cloud SDK is installed - not when it's just updated.
The simplest fix for most people will be to uninstall and reinstall the Google Cloud SDK. This doesn't lose any configuration information, so you don't need to run gcloud init
or gcloud auth
afterwards.
As an alternative, you can run the command that the installer would normally run. Find your Google Cloud SDK installation directory (e.g. %AppData%\..\Local\Google\Cloud SDK
or %ProgramFiles(x86)%\Google\Cloud SDK
). Within that directory, find google-cloud-sdk\platform\GoogleCloudPowerShell
. In there, there's a script called AppendPsModulePath.ps1
. Run that, and it will modify the PSModulePath
environment variable for your current user. From then on, new PowerShell windows will have the cmdlets available.
See more on this question at Stackoverflow