Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

 Síntoma

Un script que se puede ejecutar correctamente en el modo de asistencia no se ejecuta correctamente en el modo desatendida.

Por lo general, se produce un error con un mensaje como: "Se ha producido un problema al ejecutar la acción 'Hacer clic'. No se pudo hacer clic en el vínculo en la página web".

Causa

Los errores típicos en las ejecuciones desatendidas se deben a una de las siguientes causas:

  • Script no probado en modo de supervisión antes de cambiar a desatendida

  • Configuración diferente usada por la sesión desatendida

    • Una cuenta de Windows diferente usada por la ejecución desatendida que la que se usó para crear el flujo

    • Resolución de pantalla (consulta cómo cambiar la resolución de pantalla)

    • Configuración del explorador

      • Usuario

      • Bloqueador de elementos emergentes

      • Extensiones (faltan/no están activadas)

  • Las pantallas no se cargan por completo (faltan retrasos)

  • Mensaje de UAC que bloquea la automatización de la interfaz de usuario cuando se inicia la sesión

Solución

Como puede haber diferentes causas, la solución siguiente describe cómo agregar capturas de pantalla antes y después de una acción que no se pudo realizar para obtener algunos comentarios visuales. Analizar cuidadosamente las capturas de pantalla después de un error de script desatendida podría ayudar a encontrar una de las causas enumeradas anteriormente. También se describe cómo comparar la resolución de pantalla y la configuración de escala.

Si ya tiene capturas de pantalla en el flujo y no se ejecutan, es posible que tenga un cuadro de diálogo de Control de cuentas de usuario (UAC) que bloquee la ejecución del flujo. Inicia sesión en el equipo que está reproduciendo el problema con la cuenta que estás usando para ejecutar el flujo y ver si tienes un cuadro de diálogo de bloqueo de este tipo. Si es así, cambie la rutina de inicio para evitar que se produzca.

Agregar capturas de pantalla para solucionar problemas

Para empezar, inicie sesión en el equipo que reproduce el problema con la cuenta que está usando en su conexión. Comprueba que no haya ningún mensaje de UAC que esté bloqueando la automatización de la interfaz de usuario.

Si no hay nada que bloquee la automatización de la interfaz de usuario, realizar una captura de pantalla antes y después de un paso con errores en el modo desatendida puede ayudar a obtener comentarios visuales.

El paso de error debería continuar con el error para que se pueda realizar una captura de pantalla después del error.

1- Busca la acción "Tomar captura de pantalla"

Realizar una acción de captura de pantalla

 2- Arrastra y suelta la acción "Tomar captura de pantalla" en el lado del script

Arrastrar y colocar la acción de realizar captura de pantalla

3- Edita la acción, usa "Archivo" en lugar del Portapapeles y "antes" en la ubicación del nombre de archivo Rellenar las propiedades de acción de realizar captura de pantalla

4- A continuación, copiar y pegar, y cambiar el nombre del archivo de captura de pantalla con después de en él Duplicar y rellenar las propiedades de acción de realizar captura de pantalla

5- Rodear el paso de error con las capturas de pantalla

Rodear los pasos con errores con capturas de pantalla

6. Cambiar el comportamiento onError del paso de error

6a- Edita el paso y haz clic en "onError" en la parte inferior

Cambiar el comportamiento de error

6b: establezca la ejecución de flujo en "Continuar ejecución de flujo" y "Ir a la siguiente acción"

Continuar la ejecución del flujo e ir a la siguiente acción

7. Guarda, ejecuta localmente para probar que se producen capturas de pantalla y vuelve a iniciar una ejecución desatendida.

8- Compruebe los archivos de captura de pantalla desatendida

Comprobar la resolución de pantalla y las diferencias de escala

Para comparar la configuración de resolución entre ejecuciones de ejecución desatendidas y desatendidas, agregue las siguientes acciones en el script antes de ejecutarse en ambos modos:

  • Copie o pegue el fragmento de código siguiente en un diseñador PAD: esto creará los pasos necesarios para capturar la configuración de resolución y enviarla en un archivo con marca de tiempo.

DateTime.GetCurrentDateTime.Local DateTimeFormat: DateTime.DateTimeFormat.DateAndTime CurrentDateTime=> CurrentDateTime
Text.ConvertDateTimeToText.FromCustomDateTime DateTime: CurrentDateTime CustomFormat: $'''yyyy_MM_dd_hh_mm_ss''' Result=> FormattedDateTime
Workstation.GetScreenResolution MonitorNumber: 1 MonitorWidth=> MonitorWidth MonitorHeight=> MonitorHeight MonitorBitCount=> MonitorBitCount MonitorFrequency=> MonitorFrequency
@@copilotGeneratedAction: 'False'
Scripting.RunPowershellScript.RunPowershellScript Script: $'''Add-Type @\'
using System; 
using System.Runtime.InteropServices;
using System.Drawing;
public class DPI {  
  [DllImport(\"gdi32.dll\")]
  static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
  public enum DeviceCap {
  VERTRES = 10,
  DESKTOPVERTRES = 117
  }
  public static float scaling() {
  Graphics g = Graphics.FromHwnd(IntPtr.Zero);
  IntPtr desktop = g.GetHdc();
  int LogicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES);
  int PhysicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES);
  return (float)PhysicalScreenHeight / (float)LogicalScreenHeight;
  }
}
\'@ -ReferencedAssemblies \'System.Drawing.dll\' -ErrorAction Stop
Return [DPI]::scaling() * 100''' ScriptOutput=> MonitorScaleOutput
File.WriteText File: $'''c:\\test\\resolution_%FormattedDateTime%.txt''' TextToWrite: $'''height: %MonitorHeight% width: %MonitorWidth% frequency: %MonitorFrequency% bitCount: %MonitorBitCount% scale: %MonitorScaleOutput%''' AppendNewLine: True IfFileExists: File.IfFileExists.Overwrite Encoding: File.FileEncoding.Unicode
  • Revise la ruta del archivo de salida desde la última acción, compruebe que la ejecución local sea correcta y guarde.

  • Ejecute el script en los modos desatendida y desatendida y, a continuación, compruebe si la resolución y la salida de escala tienen los mismos valores en ambos modos.

Nota

Como se mencionó anteriormente, si se produce un error en la propia acción de capturas de pantalla, es posible que tenga un cuadro de diálogo de Control de cuentas de usuario (UAC) que bloquee la ejecución del flujo. Inicia sesión en el equipo que está reproduciendo el problema con la cuenta que estás usando para ejecutar el flujo y ver si tienes un cuadro de diálogo de bloqueo de este tipo. Si es así, cambie la rutina de inicio para evitar que se produzca.

Si el script tiene otros pasos, es posible que falle después, ya que el comportamiento se cambió para no generar errores para que podamos realizar una captura de pantalla. Por lo tanto, los errores después de la segunda captura de pantalla deberían pasarse por alto. 

Una vez que se entiende y corrige el problema, se restaura el comportamiento original del flujo para producir errores.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×