Puntos clave
- Separa los datos sensibles de los scripts: evita escribir credenciales directamente en el código y utiliza almacenamiento seguro, como variables de entorno o campos cifrados.
- Guarda los secretos en el Registro de Windows: centraliza los valores sensibles y restringe su acceso para ejecutar los scripts con mayor seguridad.
- Usa variables de entorno para la formación: ofrece datos de ejemplo seguros para que los técnicos aprendan sin ver credenciales reales.
- Crea scripts de formación y scripts de producción por separado: marcadores de posición en los de formación y fuentes seguras en los que se ejecutan en real.
- Audita la actividad de los scripts: registra su uso y sus cambios para garantizar la seguridad, la trazabilidad y unas buenas prácticas de formación.
Una formación adecuada de los técnicos IT es fundamental para escalar las operaciones de IT, sobre todo cuando entra en juego la automatización. Los scripts contienen variables sensibles escritas directamente en el código o expuestas durante la ejecución. Si no se gestionan bien, aumenta la probabilidad de fugas de datos y se pueden generar malos hábitos entre los técnicos junior.
Contar con un proceso estructurado de formación y gestión de scripts es clave para que cualquier equipo de IT proteja sus datos y gane confianza en el trabajo diario.
Cómo formar a nuevos técnicos en el uso de scripts sin exponer datos sensibles
Una formación adecuada de los técnicos IT consiste en separar las variables seguras de la lógica del script, guardar esas variables en el Registro de Windows, usar variables de entorno con datos de ejemplo seguros para la formación, crear versiones de formación de los scripts de producción y auditar los cambios y la ejecución de los scripts durante el aprendizaje.
📌 Requisitos previos:
- Plantillas de scripts estándar para el onboarding
- Permisos de administrador para desplegar los scripts de formación
- Un mecanismo de almacenamiento seguro para los valores protegidos
- Documentación definida sobre la estructura de los scripts y las prácticas de edición segura
📌 Estrategias de despliegue recomendadas:
| Haz clic para elegir un método | 💻 Mejor para usuarios individuales | 💻💻💻 Mejor para empresas |
| Método 1: separar las variables seguras de la lógica del script | ✓ | |
| Método 2: guardar las variables seguras en el Registro de Windows | ✓ | |
| Método 3: usar variables de entorno con datos de ejemplo seguros para la formación | ✓ | |
| Método 4: crear versiones de formación de los scripts de producción | ✓ | |
| Método 5: auditar los cambios y la ejecución de los scripts durante la formación | ✓ |
🎥 No te pierdas la guía en vídeo sobre cómo formar a nuevos técnicos en el uso de scripts sin exponer variables sensibles.
Método 1: separar las variables seguras de la lógica del script
Cuando incorporas nuevos técnicos IT, lo primero que debes hacer es separar las variables seguras de la lógica del script. Esta separación reduce los riesgos de seguridad y permite automatizar con mayor tranquilidad.
📌 Caso de uso: evita que los nuevos técnicos vean y compartan información sensible, ya que esta se obtiene de un almacenamiento seguro
Evita escribir directamente en el código datos sensibles como:
- Contraseñas de administrador
- Tokens de API
- Credenciales SMTP
- Claves de copia de seguridad
- Nombres de servidores internos
En su lugar, haz referencia a:
- Almacenes de credenciales cifrados
- Variables de entorno
- Rutas del registro
- Campos inyectados por NinjaOne o por tu RMM
Método 2: guardar las variables seguras en el Registro de Windows
Este método guarda los datos sensibles en el Registro de Windows, de modo que solo los procesos autorizados o los administradores puedan acceder a ellos.
📌 Caso de uso: da a varios scripts acceso seguro a valores sensibles manteniendo el acceso restringido
- Pulsa Win, escribe PowerShell y haz clic en Ejecutar como administrador.
- Copia y pega el siguiente código en la consola y pulsa Intro:
- Protege en HKLM los valores ocultos para los técnicos (HKEY_LOCAL_MACHINE):
New-Item -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SMTPHost" -Value "mail.domain.com"
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SecureToken" -Value "XYZ123"
💡 Nota: SMTPHost, mail.domain.com y XYZ123 son solo marcadores de posición. Sustitúyelos por tu servidor de correo y por el valor de SecureToken.
Este script centraliza la configuración: todos los scripts pueden consultar los mismos valores almacenados sin incluirlos en el código.
- Accede de forma segura desde los scripts de formación:
$smtp = Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SMTPHost"
$token = Get-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "SecureToken"
💡 Consejo: usa permisos NTFS (New Technology File System) o GPO para restringir el acceso a las claves del registro a procesos con privilegios de administrador
⚠️ Advertencia: antes de aplicar el cambio de configuración en varios endpoints, lo mejor es probarlo primero en un equipo local. (Para más información, consulta: Aspectos a tener en cuenta)
Método 3: usar variables de entorno con datos de ejemplo seguros para la formación
Este método define una variable para que todos los scripts puedan hacer referencia a una misma ruta sin tener que editarlos uno por uno.
📌 Caso de uso: estandariza rutas no sensibles en todos los equipos sin editar cada script
- Pulsa Win, escribe PowerShell o cmd y haz clic en Ejecutar como administrador.
- Copia y pega el siguiente código en la consola (según la herramienta que uses) y pulsa Intro:
- CMD:
setx NOC_SCRIPTS "C:\NOC\Scripts"
💡 Nota: C:\NOC\Scripts representa la ruta a un directorio de tu sistema. Es la carpeta que se guardará como valor de la variable NOC_SCRIPTS.
- PowerShell:
$path = $env:NOC_SCRIPTS
Los scripts anteriores son una forma práctica de dar a todos los scripts un punto de referencia común para rutas o valores que cualquiera puede ver.
⚠️ Advertencia: asegúrate de copiar y pegar el script correcto, ya que una sintaxis incorrecta puede provocar errores. (Para más información, consulta: Aspectos a tener en cuenta)
Método 4: crear versiones de formación de los scripts de producción
Con este método, el script de producción obtiene los valores sensibles de fuentes seguras, mientras que el de formación usa marcadores de posición inofensivos que se pueden compartir sin riesgo.
📌 Caso de uso: proporciona scripts de formación con marcadores de posición inofensivos
Antes de crear los scripts de producción, es fundamental tener dos versiones:
- Formación: este script debe incluir marcadores de posición como «smtp.placeholder.local»
- Producción (protegido): en cambio, este script lee los valores de fuentes protegidas, archivos cifrados o gestores de credenciales.
También conviene aplicar estándares de scripting como estos:
- A continuación, incorpora los estándares de scripting pulsando Win + R, escribiendo PowerShell y haciendo clic en Ejecutar como administrador.
- Copia y pega el script de abajo en la consola y pulsa Intro.
# BEGIN: Do not edit
$APIKey = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Org\ScriptSecrets" -Name "ProdAPIKey"
# END: Do not edit
💡 Nota: el script anterior marca con comentarios las secciones restringidas y aplica permisos de solo lectura a los scripts.
⚠️ Advertencia: ten cuidado de no usar el script de formación para nada que no sea formación. (Para más información, consulta: Aspectos a tener en cuenta)
Método 5: auditar los cambios y la ejecución de los scripts durante la formación
Este método registra en una clave del registro quién ejecuta los scripts críticos y cuándo, para que tengas un historial que puedas revisar.
📌 Caso de uso: mantiene un historial de quién ejecutó los scripts clave y cuándo, para facilitar la revisión
- Pulsa Win, escribe PowerShell y haz clic en Ejecutar como administrador.
- Copia y pega el siguiente código en la consola y pulsa Intro:
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\ScriptAudit"
-Name "LastRunBy" -Value "$env:USERNAME - $(Get-Date -Format u)"
También puedes validar los cambios siguiendo estos pasos:
- Pulsa Win, escribe cmd y haz clic en Ejecutar como administrador.
- Copia y pega el siguiente código en la consola y pulsa Intro:
reg query HKLM\SOFTWARE\Org\ScriptAudit
💡 Consejo: programa revisiones periódicas de los registros para garantizar un uso seguro de los scripts.
⚠️ Aspectos a tener en cuenta
| Riesgos | Posibles consecuencias | Cómo revertirlo |
| No hacer pruebas en un equipo local | Desplegar un script sin probar puede provocar fallos en los dispositivos por problemas como la incompatibilidad de claves del registro. | Aplica los cambios previstos en un equipo local y comprueba después si la configuración da el resultado esperado. |
| Sintaxis de comando incorrecta | Una sintaxis incorrecta puede corromper el registro, provocar un comportamiento anómalo del sistema o hacer que el código no haga nada. | Asegúrate de copiar y pegar el script correcto en la consola. También puedes usar herramientas como PSScriptAnalyzer para comprobar la calidad del código. |
| Usar por error el script de formación en producción | La ejecución en producción puede fallar por los valores de ejemplo. | Etiqueta los scripts con claridad para mantener el control de versiones. |
Otras consideraciones
Las siguientes buenas prácticas buscan reducir el riesgo sin perder eficiencia operativa.
Ejecución según el rol
Usa cuentas con privilegios mínimos o roles del RMM para controlar la ejecución de los scripts. Puedes hacerlo así:
- Asigna permisos para que cada cuenta ejecute solo los scripts que necesita.
- Restringe el acceso a los tipos de scripts sensibles, como los que modifican configuraciones del sistema.
Estas prácticas reducen el daño que puede causar una cuenta comprometida.
Depuración de la salida
Asegúrate de que los scripts nunca muestren secretos como contraseñas, tokens o claves de API en la consola ni en los registros. Para ello:
- Oculta los datos sensibles en la salida.
- Evita guardar credenciales en texto plano dentro de los registros.
- Revisa cómo se gestiona la salida del script antes de desplegarlo.
Parametrización
Usa bloques param() en PowerShell para gestionar las entradas de forma segura.
- Exige parámetros en lugar de escribir los valores sensibles en el código.
- Evita mostrar en la consola los valores de los parámetros.
- Añade atributos de validación para imponer formatos de entrada y prevenir ataques de inyección.
Firma de scripts
Firma digitalmente los scripts definitivos que uses en producción para evitar modificaciones: así solo se ejecutarán los de autores de confianza. Puedes combinarlo con políticas de ejecución para reforzar esa confianza.
Resolución de problemas habituales
Estos son los problemas de scripting más frecuentes que aparecen durante la formación de los técnicos IT y cómo resolverlos.
El técnico ve variables protegidas
Lo ideal es restringir los scripts que contienen variables sensibles. Puedes aplicar controles de acceso adecuados, como ACL del sistema de archivos que limiten quién puede leer o modificar los scripts. A veces es más seguro mover los valores confidenciales a gestores de credenciales o almacenes de parámetros cifrados para que no estén en el código fuente del script.
El script falla durante la formación
Los scripts pueden fallar en las fases de formación o de pruebas. Para evitarlo, implementa gestión de errores que detecte y responda a los recursos que falten. Envolver las consultas críticas en bloques try/catch evita los fallos.
También se recomienda usar comprobaciones como Test-Path o Get-ItemProperty antes de acceder a los archivos, para que el script confirme que existen.
La inyección de variables no funciona
La inyección de variables puede fallar por restricciones de la política de ejecución o por discrepancias en el script. Es importante comprobar la configuración de la política de ejecución con Get-ExecutionPolicy -List para verificar que el script tiene permiso para ejecutarse.
Servicios de NinjaOne que facilitan el onboarding de los técnicos IT
Con NinjaOne, los MSP pueden incorporar a nuevos técnicos a tareas de automatización sin renunciar a la seguridad ni exponer datos sensibles.
- Limita la edición y la ejecución de scripts a los roles de técnico asignados
- Inyecta valores seguros en tiempo de ejecución mediante campos personalizados o plantillas de políticas
- Registra la actividad y la salida de los scripts por dispositivo y por técnico
- Ofrece repositorios de scripts con control de versiones para separar los de formación de los de producción
- Permite flujos de revisión antes de poner un script en uso real
Evita fugas de datos accidentales con una buena formación de tus técnicos IT
Formar a los nuevos técnicos IT en el uso y la modificación de la información evita la exposición de datos sensibles. Para lograrlo, abstrae los valores con el registro y las GPO, crea versiones de formación seguras de tus scripts de automatización y aprovecha el control de acceso, ejecución e informes de scripts de NinjaOne.
Temas relacionados:
- Tres razones para aprender PowerShell (con recursos de formación en PowerShell)
- Por qué deberías aprender PowerShell (con recursos para empezar)
- Guía de gestión IT: cómo crear una cultura de aprendizaje en IT
- Guía para departamentos IT: formar a los empleados en nuevas herramientas IT
- Conviértete en un IT Ninja certificado
Guía de inicio rápido
NinjaOne ofrece varios recursos para formar a los técnicos en el uso de scripts:
- Opciones de formación:
- Minisesiones de formación: vídeos breves de 5 minutos sobre temas concretos
- Rutas de formación en Workramp: materiales de aprendizaje estructurados para técnicos
- Formación individual para técnicos de soporte: formación personalizada para desarrollar habilidades concretas
- Gestión de scripts y formación:
- La biblioteca de automatización incluye una amplia variedad de scripts ya creados
- Los técnicos pueden acceder a plantillas de scripts y aprender a utilizarlas
- NinjaOne ofrece recursos de la comunidad y la posibilidad de compartir scripts
- Protección de variables:
- NinjaOne incorpora mecanismos para proteger las variables sensibles:
- Campos seguros para información sensible
- Campos personalizados con acceso controlado
- Scripts con tokens seguros para gestionar credenciales
- NinjaOne incorpora mecanismos para proteger las variables sensibles:
- Tipos de variables en los scripts:
- Los scripts admiten varios tipos de variables
- Las variables se pueden configurar para crear formularios interactivos
- Los técnicos pueden aprender a usar variables de forma segura sin exponer información sensible
- Recursos de formación:
- Página de la comunidad para compartir scripts
- Biblioteca de minisesiones de formación
- Materiales de formación de Workramp
- Documentación con ejemplos de scripts
Para formar a nuevos técnicos, puedes aprovechar estos recursos y crear un programa de formación completo sobre scripts que ponga el foco en la seguridad y en el manejo correcto de las variables.

