Regla con script
Las reglas con script permiten la creación de reglas personalizadas mediante PowerShell o VBScript para cumplir con requisitos complejos. Las aplicaciones se pueden permitir, bloquear o elevar dinámicamente en función de una amplia gama de condiciones de scripts, lo que proporciona un control potente y flexible sobre el comportamiento de las aplicaciones.
Las reglas con scripts pueden aprovechar cualquier interfaz accesible a través de PowerShell o VBScript, como COM (Modelo de objetos de componentes), y cada script se evalúa en las siguientes circunstancias:
-
Cuando se implementa una nueva configuración en el equipo
-
Cuando un usuario inicia sesión
Configurar regla con script
Puede configurar reglas con script cuando está configurando reglas de Control de aplicaciones en la página ¿Cuándo se asigna?. Para configurar reglas con scripts, siga estos pasos:
-
En la página ¿Cuándo se asigna esto?, seleccione la opción Scripted de la lista desplegable Seleccionar un origen.
Aparece la pestaña Script. -
Especifique un nombre para el script.
-
En la lista desplegable Idioma del script, seleccione las opciones PowerShell o VBScript según sus requisitos.
Para más información sobre el uso de los scripts, consulte los apartados siguientes.
Scripts de PowerShell
Si el script se devuelve (sale) con un valor de 0, pasará y se aplicarán las reglas. Si se devuelve cualquier valor distinto de cero, el script fallará y las reglas no se aplicarán.
Cada script de PowerShell se ejecuta en una instancia de PowerShell.exe y, como tal, Control de aplicaciones no aplica ni agrega ninguna sintaxis específica; todo PowerShell correctamente formado funcionará.
PowerShell debe instalarse en cualquier punto de conexión que vaya a utilizar el script.
VBScripts
Cada Script se ejecuta dentro de un motor de secuencias de Scripts, lo que permite un mayor control sobre la ejecución de los Scripts y proporciona un alto grado de control de entrada y salida.
-
No se utiliza ningún archivo VBS.
-
No se genera ningún proceso independiente.
Se debe escribir un script como función y puede contener muchas funciones, pero se debe especificar una función de inicio principal. La función de inicio es ejecutada por el agente de Control de aplicaciones y se puede utilizar para llamar a otras funciones.
El objeto COM de AMScriptRule está integrado en el motor de Scripts y proporciona acceso a los siguientes métodos:
-
strUsername = AMScriptRule.UserName
-
strUserdomain = AMScriptRule.UserDomain
-
strSessionid = AMScriptRule.SessionID
-
strStationname = AMScriptRule.WinStation
El estándar de Microsoft en esta instancia significa que WinStation devuelve el valor del nombre de la sesión de servicios terminales, que se determina por el tipo de sesión, siendo los valores típicos "Consola" o "RDP-Tcp#34", en lugar del nombre de Windows Station, que normalmente es WinSta0.
El objeto COM de AMScriptRule también incluye los siguientes métodos:
-
strLog = AMScriptRule.Log "Mi declaración de registro"
Le permite enviar cadenas de registro al archivo de registro del agente para usarlo con reglas con script depuradas.
-
strEnvironmentvar = AMScriptRule.ExpandEnvironment ("%MyEnvironmentVariables%")
Expande las variables de entorno del usuario que ejecuta el script.
Uso de WScript. shell para expandir las variables del entorno solo devuelve las variables del SISTEMA.
-
-
En la lista desplegable Función de entrada, seleccione ScriptedRule.
La opción Función de entrada solo está disponible para VBScript.
-
En el campo Script, agregue una PowerShell o VBScript.
-
Vaya a la pestaña Opciones para configurar las ejecuciones de script y el tiempo de espera.
-
En la pestaña Opciones, seleccione el método de ejecución de scripts de la lista desplegable Tipo de ejecución de la siguiente manera:
-
Por sesión como usuario: especifica que el script se ejecuta para cada usuario que inicia sesión. Los ajustes solo se aplican durante la sesión del usuario. Tenga en cuenta que el script también se ejecutará si el escritorio está desbloqueado.
-
Por sesión como sistema: especifica que el script se ejecuta con permisos de cuenta del sistema una vez para cada usuario que inicie sesión. Los ajustes solo se aplican durante la sesión del usuario.
-
Por equipo como sistema: especifica que el script se ejecuta con el permiso de cuenta del sistema una vez al inicio del equipo. Los ajustes se aplican a todas las sesiones de usuario hasta que el equipo se reinicia, el agente de Control de aplicaciones se reinicia o se produce un cambio de configuración.
-
-
Habilite la opción No ejecutar script hasta que el inicio de sesión del usuario haya completado para evitar que el script se ejecute hasta que se complete el inicio de sesión del usuario.
-
Especifique un tiempo en segundos a esperar o tiempo de espera de script para permitir que un script continúe ejecutándose antes de que se agote el tiempo de espera del script. Una una configuración de cero (0) segundos evita el tiempo de espera del script. Si se agota el tiempo de espera, el resultado falla y no se pueden aplicar los ajustes.
-
Haga clic en Agregar.