Control de cuentas de usuario y WMI

El Control de cuentas de usuario (UAC) afecta a los datos de WMI que se devuelven desde una herramienta de línea de comandos, el acceso remoto y cómo se deben ejecutar los scripts. Para más información sobre UAC, consulte Introducción al 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 de 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 de 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 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 haciendo clic con el botón derecho en Símbolo del sistema en el menú Inicio y después en Ejecutar como administrador.
  2. Programe el script para que se ejecute con privilegios elevados mediante el Programador de tareas. Para 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 línea de comandos de WMI

Para ejecutar las siguiente herramientas de línea de comandos de WMI, 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 de administradores local. La cuenta de administrador integrada también puede cambiar la seguridad o la 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 de administradores local del equipo remoto. Entonces, el filtrado de tokens de acceso de UAC no afectará a las cuentas de dominio del grupo de administradores local. No use una cuenta local, ajena al dominio, en el equipo remoto, aunque la cuenta pertenezca al grupo de 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 de WMI de forma remota (Habilitar remoto). Para más información, vea Acceso a espacios de nombres de 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.

Aunque no se recomienda deshabilitar el UAC remoto cambiando la entrada de registro que lo controla, puede que sea necesario en un grupo de trabajo. La entrada del registro es HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy.La entrada de registro es HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy. 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 de UAC en los datos WMI devueltos a scripts o aplicaciones

Si un script o una aplicación se ejecuta en una cuenta del grupo de 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 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

Cambio de la seguridad de acceso en objetos protegibles