Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporcionan instrucciones sobre cómo diagnosticar y resolver problemas de ejecución de runbook que se producen al usar scripts o cmdlets de PowerShell en Azure Automation.
Nota:
Azure Automation permite la recuperación de runbooks eliminados en los últimos 29 días. Puede restaurar un runbook eliminado mediante la ejecución de un script de PowerShell como trabajo en la cuenta de Automation. Para obtener más información, consulte restauración de runbook eliminado.
Limitaciones y problemas conocidos con runbooks de PowerShell
Los runbooks de PowerShell se basan en Windows PowerShell. Puede editar su código directamente mediante el editor de texto en Azure Portal. También puede usar un editor de texto sin conexión y, a continuación, importar los runbooks en Azure Automation. La versión de PowerShell viene determinada por la versión en tiempo de ejecución especificada.
Limitaciones:
- Para la versión del entorno de ejecución de PowerShell 7, las actividades del módulo no se extraen para los módulos importados.
- El tipo de parámetro de runbook
PSCredentialno se admite en la versión en tiempo de ejecución de PowerShell 7. - PowerShell 7.x no admite runbooks de flujos de trabajo. Para más información, consulte Flujo de trabajo de PowerShell.
- PowerShell 7.x no admite actualmente runbooks firmados.
- La integración del control de código fuente no admite PowerShell 7.2. Los runbooks de PowerShell 7.2 del control de código fuente se crean en una cuenta de Automation como runtime 5.1.
- Actualmente, solo se admiten trabajos en la nube para la versión en tiempo de ejecución de PowerShell 7.2.
- No se admite el uso de módulos Az y módulos AzureRM en la misma cuenta de Automation. Para más información, consulte Actualización de módulos de Azure PowerShell en Automation.
Problemas conocidos:
Las propiedades de runbook que definen la preferencia de registro no se admiten en el entorno de ejecución de PowerShell 7.
Para solucionar este problema, establezca de forma explícita la preferencia al principio del runbook de la siguiente manera:
$VerbosePreference = "Continue" $ProgressPreference = "Continue"Al usar la versión 3.0.0 o posterior del módulo ExchangeOnlineManagement , es posible que experimente errores.
Para resolver este problema, asegúrese de cargar explícitamente los módulos
PowerShellGetyPackageManagement.
Antes de solucionar problemas
Siga estos pasos para identificar y resolver errores comunes antes de solucionar más problemas:
- Compruebe que el script de PowerShell funciona fuera de Azure Automation.
- Compruebe que los módulos necesarios se importan en la cuenta de Azure Automation.
Problema 1: Se produce un error en la ejecución del runbook debido a un objeto deserializado
Síntomas:
Al ejecutar un runbook, es posible que se muestre el siguiente mensaje de error:
No se puede enlazar el parámetro <ParameterName>.
No se puede convertir el <valor ParameterType> de tipo Deserialized <ParameterType> al tipo <ParameterType>.
Causa:
Este error ocurre con los runbooks de PowerShell Workflow porque PowerShell Workflow almacena los objetos complejos en formato deserializado para persistir y conservar el estado de su runbook cuando el flujo de trabajo se suspende.
Resolución:
Para resolver este problema, use uno de los métodos siguientes:
- Si rediriges objetos complejos de un cmdlet de PowerShell a otro, envuelve estos cmdlets en una
InlineScriptactividad. - En lugar de pasar el objeto complejo entero, pase solamente el nombre o valor del mismo que necesite.
- Use un runbook de PowerShell en lugar de un runbook de flujo de trabajo de PowerShell.
Problema 2: Los trabajos de PowerShell producen un error "No se puede invocar el método"
Síntomas:
Al iniciar un trabajo de PowerShell en un runbook que se ejecuta en un espacio aislado de Azure, recibirá el siguiente mensaje de error:
Se lanzó una excepción: no se puede invocar el método. La invocación de método solo se admite en tipos principales en este modo de lenguaje.
Causa:
Este error puede producirse porque el runbook no se puede ejecutar en el modo de lenguaje completo.
Resolución:
Para resolver este error, use uno de los métodos siguientes:
- Use Start-AzAutomationRunbook en lugar de Start-Job para iniciar el runbook.
- Pruebe a ejecutar el runbook en un servidor de Hybrid Runbook Worker.