powershell google-cloud-sdk google-cloud-powershell

¿Por qué PowerShell no puede encontrar los cmdlets de gcloud?



google-cloud-sdk google-cloud-powershell (1)

He actualizado el SDK de Google Cloud (gcloud), ambos en general con:

gcloud components update

Y solo para PowerShell con:

gcloud components update powershell

Ejecutando gcloud --version muestra:

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

Cuando abro PowerShell e intento Get-GcsBucket , veo este error:

Get-GcsBucket: el término ''Get-GcsBucket'' no se reconoce como el nombre de un cmdlet, función, archivo de secuencia de comandos o programa operable. Verifique la ortografía del nombre, o si se incluyó una ruta, verifique que la ruta sea correcta e intente nuevamente.

¿Cómo puedo hacer que PowerShell reconozca los cmdlets de gcloud?


Desafortunadamente, la modificación de PSModulePath necesaria para que los cmdlets estén disponibles para PowerShell solo ocurre cuando se instala el Google Cloud SDK, no solo cuando se actualiza.

La solución más sencilla para la mayoría de las personas será desinstalar y volver a instalar el SDK de Google Cloud. Esto no pierde ninguna información de configuración, por lo que no es necesario ejecutar gcloud init o gcloud auth después.

Como alternativa, puede ejecutar el comando que normalmente ejecutaría el instalador. Encuentre su directorio de instalación de Google Cloud SDK (por ejemplo, %AppData%/../Local/Google/Cloud SDK o %ProgramFiles(x86)%/Google/Cloud SDK ). Dentro de ese directorio, busque google-cloud-sdk/platform/GoogleCloudPowerShell . Allí, hay un script llamado AppendPsModulePath.ps1 . Ejecute eso y modificará la PSModulePath entorno PSModulePath para su usuario actual. A partir de entonces, las nuevas ventanas de PowerShell tendrán los cmdlets disponibles.