26

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?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Jon Skeet
  • 1,421,763
  • 867
  • 9,128
  • 9,194

1 Answers1

28

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.

Jon Skeet
  • 1,421,763
  • 867
  • 9,128
  • 9,194
  • Seems like first link(`PSModulePath`) is no longer available!. – Abdul Niyas P M Oct 26 '21 at 09:39
  • @AbdulNiyasPM: Mmm... sorry about that. I'll remove the first paragraph. Although I'd also note that the PowerShell cmdlets are basically deprecated at this stage. (I don't know if they're even still shipping.) – Jon Skeet Oct 26 '21 at 09:41