Control de cuentas de usuario y WMI

El Control de cuentas de usuario (UAC) afecta a los datos WMI que se devuelven desde una herramienta de línea de comandos, el acceso remoto y cómo se deben ejecutar los scripts. Para obtener más información sobre UAC, consulte Introducción con control de cuentas de usuario.

En las secciones siguientes se describe la funcionalidad de UAC:

Control de cuentas de usuario

En UAC, las cuentas del grupo administradores locales tienen dos tokens de acceso, uno con privilegios de usuario estándar y otro con privilegios de administrador. Debido al filtrado de tokens de acceso UAC, normalmente se ejecuta un script bajo el token de usuario estándar, a menos que se ejecute "como administrador" en modo de privilegios elevados. No todos los scripts requieren privilegios administrativos.

Los scripts no pueden determinar mediante programación si se ejecutan con un token de seguridad de usuario estándar o un token de administrador. El script puede producir un error de acceso denegado. Si el script requiere privilegios de administrador, debe ejecutarse en el modo con privilegios elevados. El acceso a los espacios de nombres WMI difiere en función de si el script se ejecuta en modo con privilegios elevados. Algunas operaciones de WMI, como obtener datos o ejecutar la mayoría de los métodos, no requieren que la cuenta se ejecute como administrador. Para obtener más información sobre los permisos de acceso predeterminados, vea Acceso a espacios de nombres WMI y Ejecución de operaciones con privilegios.

Debido al control de cuentas de usuario, la cuenta que ejecuta el script debe estar en el grupo Administradores del equipo local para tener la capacidad de ejecutarse con derechos elevados.

Puede ejecutar un script o una aplicación con derechos elevados realizando uno de los métodos siguientes:

Para ejecutar un script en modo con privilegios elevados

  1. Abra una ventana del símbolo del sistema; para ello, haga clic con el botón derecho en el símbolo del sistema en el menú Inicio y, a continuación, haga clic en Ejecutar como administrador.
  2. Programe el script para que se ejecute con privilegios elevados mediante el Programador de tareas. Para obtener más información, vea Contextos de seguridad para ejecutar tareas.
  3. Ejecute el script con la cuenta de administrador integrada.

Cuenta necesaria para ejecutar herramientas de WMI Command-Line

Para ejecutar el siguiente WMI Command-Line Tools, la cuenta debe estar en el grupo Administradores y la herramienta debe ejecutarse desde un símbolo del sistema con privilegios elevados. La cuenta de administrador integrada también puede ejecutar estas herramientas.

  • mofcomp

  • wmic

    La primera vez que ejecute Wmic después de la instalación del sistema, debe ejecutarse desde un símbolo del sistema con privilegios elevados. Es posible que el modo con privilegios elevados no sea necesario para las ejecuciones posteriores de Wmic, a menos que las operaciones de WMI requieran privilegios de administrador.

  • Winmgmt

  • wmiadap

Para ejecutar el control WMI (Wmimgmt.msc) y realizar cambios en la configuración de seguridad o auditoría del espacio de nombres WMI, la cuenta debe tener el derecho Editar seguridad concedido explícitamente o estar en el grupo administradores local. La cuenta de administrador integrada también puede cambiar la seguridad o auditoría de un espacio de nombres.

Wbemtest.exe, una herramienta de línea de comandos que no es compatible con los servicios de soporte técnico de Microsoft, se puede ejecutar mediante cuentas que no están en el grupo administradores locales, a menos que una operación específica requiera privilegios que normalmente se conceden a las cuentas de administrador.

Control de conexiones remotas en UAC

Tanto si se está conectando a un equipo remoto en un dominio como en un grupo de trabajo, se determina si se produce el filtrado de UAC.

Si el equipo forma parte de un dominio, conéctese al equipo de destino mediante una cuenta de dominio que se encuentra en el grupo administradores local del equipo remoto. A continuación, el filtrado de tokens de acceso UAC no afectará a las cuentas de dominio del grupo administradores local. No use una cuenta local de nondomain en el equipo remoto, incluso si la cuenta está en el grupo Administradores.

En un grupo de trabajo, la cuenta que se conecta al equipo remoto es un usuario local en ese equipo. Incluso si la cuenta está en el grupo Administradores, el filtrado de UAC significa que un script se ejecuta como usuario estándar. Un procedimiento recomendado es crear un grupo de usuarios local dedicado o una cuenta de usuario en el equipo de destino específicamente para conexiones remotas.

La seguridad debe ajustarse para poder usar esta cuenta porque la cuenta nunca ha tenido privilegios administrativos. Asigne al usuario local:

  • Inicio remoto y activación de derechos para acceder a DCOM. Para obtener más información, consulte Conexión a WMI en un equipo remoto (puede estar en inglés).
  • Derechos para acceder al espacio de nombres WMI de forma remota (Habilitar remoto). Para obtener más información, vea Acceso a espacios de nombres WMI.
  • Derecho a acceder al objeto protegible específico, en función de la seguridad requerida por el objeto.

Si usa una cuenta local, ya sea porque se encuentra en un grupo de trabajo o es una cuenta de equipo local, es posible que se le obligue a dar tareas específicas a un usuario local. Por ejemplo, puede conceder al usuario el derecho de detener o iniciar un servicio específico mediante el comando SC.exe, los métodos GetSecurityDescriptor y SetSecurityDescriptor de Win32_Service, o a través de directiva de grupo mediante Gpedit.msc. Es posible que algunos objetos protegibles no permitan que un usuario estándar realice tareas y no ofrezca ningún medio para modificar la seguridad predeterminada. En este caso, es posible que tenga que deshabilitar UAC para que la cuenta de usuario local no se filtre y, en su lugar, se convierta en un administrador completo. Tenga en cuenta que, por motivos de seguridad, deshabilitar UAC debe ser un último recurso.

No se recomienda deshabilitar UAC remoto cambiando la entrada del Registro que controla UAC remoto, pero puede ser necesario en un grupo de trabajo. La entrada del Registro es HKEY_LOCAL_MACHINE\SOFTWAREMicrosoft\\Windows\ CurrentVersionPoliciessystemLocalAccountTokenFilterPolicy\\\. Cuando el valor de esta entrada es cero (0), se habilita el filtrado de tokens de acceso del UAC remoto. Cuando el valor es 1, el UAC remoto está deshabilitado.

Efecto UAC en los datos WMI devueltos a scripts o aplicaciones

Si un script o una aplicación se ejecuta en una cuenta del grupo Administradores, pero no se ejecuta con privilegios elevados, es posible que no obtenga todos los datos devueltos porque esta cuenta se ejecuta como usuario estándar. Los proveedores de WMI para algunas clases no devuelven todas las instancias a una cuenta de usuario estándar o a una cuenta de administrador que no se ejecuta como administrador completo debido al filtrado de UAC.

Las clases siguientes no devuelven algunas instancias cuando UAC filtra la cuenta:

Las siguientes clases no devuelven algunas propiedades cuando UAC filtra la cuenta:

Acerca de WMI

Acceso a objetos protegibles de WMI

Cambiar la seguridad de acceso en objetos protegibles