Ejecución de comandos de Azure PowerShell desde un trabajo web

Actualizar: ¡Utilicé Azure Automation según la sugerencia de BenV a continuación y funcionó! Más información se puede encontraraquí.

Tengo un script de PowerShell que necesita ejecutar algunos comandos de Azure comoNew-AzureStorageContext, Get-AzureStorageContainer, Set-AzureStorageBlobContent, etc. Me gustaría ejecutar el script como trabajo web.

Cuando ejecuto este script como trabajo web, recibo los siguientes errores en los comandos de Azure. Otros comandos de PS se ejecutan correctamente desde el trabajo web.

Busqué en StackOverflow y no pude encontrar publicaciones para estos errores generados cuando los comandos de Azure se ejecutan desde un webjob. Publicaciones algo relacionadas mencionadas para usarImport-Module que es similar al consejo que se da a continuación.

Una publicación de blog anterior de MSDN sugirió agregar "Import-Module Azure.ps1" en el script de PS e incluir Azure.ps1 dentro del archivo zip de webjob. (Realmente es Azure.psd1 de mi C: \ Archivos de programa locales (x86) \ Microsoft SDKs \ Azure \ PowerShell \ ServiceManagement \ Azure). Por separado, probé Import-Module con Azure.psd1 y luego Azure.ps1 pensando que los errores podrían estar relacionados con la extensión del archivo, pero no fue así.

Mi archivo webjob .zip solo tiene mi archivo .CMD, GetLinks.ps1 y Azure.ps1.

Mi archivo .CMD inicia mi script PS con: PowerShell.exe -ExecutionPolicy RemoteSigned -File GetLinks.ps1

En la parte superior de este archivo .ps1 tengo: "Import-Module. \ Azure.ps1". Esto se ejecuta con éxito ya que veo declaraciones "INFO" en mi registro de ejecución de WebJob.

A continuación, mi script PS intenta ejecutar los comandos de Azure PS y sigo teniendo los mismos errores, como el siguiente error de ejemplo.

New-AzureStorageContext : The term 'New-AzureStorageContext' 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.
At D:\local\Temp\jobs\triggered\getlinks2\b2025qk5.ddj\GetLinks.ps1:75 char:19
+ $storageContext = New-AzureStorageContext -StorageAccountName $storageAccountNam ...
+  ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (New-AzureStorageContext:String) [], CommandNotFoundException
+ FullyQualifiedErrorId: CommandNotFoundException

Respuestas a la pregunta(2)

Su respuesta a la pregunta