Compartir a través de


Win32_StartupCommand clase

La Win32_StartupCommandclase WMI representa un comando que se ejecuta automáticamente cuando un usuario inicia sesión en el sistema informático.

La siguiente sintaxis se simplifica desde el código de Managed Object Format (MOF) e incluye todas las propiedades heredadas. Las propiedades y los métodos están en orden alfabético, no en orden MOF.

Sintaxis

[Dynamic, Provider("CIMWin32"), Privileges("SeRestorePrivilege"), UUID("{8502C50A-5FBB-11D2-AAC1-006008C78BC7}"), AMENDMENT]
class Win32_StartupCommand : CIM_Setting
{
  string Caption;
  string Description;
  string SettingID;
  string Command;
  string Location;
  string Name;
  string User;
  string UserSID;
};

Miembros

La clase Win32_StartupCommand tiene estos tipos de miembros:

Propiedades

La clase Win32_StartupCommand tiene estas propiedades.

Caption

Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: MaxLen (64)

Breve descripción textual del objeto actual.

Esta propiedad se hereda de CIM_Setting.

Comando

Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: key, MappingStrings ("Win32Registry| SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")

Comando ejecutado por el comando de inicio.

WMI obtiene estos datos de la clave del Registro.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Ejecutar

Ejemplo: "C:\Windows\notepad.exe myfile.txt"

Descripción

Tipo de datos: cadena

Tipo de acceso: solo lectura

Descripción textual del objeto actual.

Esta propiedad se hereda de CIM_Setting.

Ubicación

Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: key, MappingStrings ("Win32Registry|\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\Windows")

Ruta de acceso en la que reside el comando de inicio en el sistema de archivos de disco.

Por ejemplo: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Inicio ("Inicio")

Inicio común ("Inicio común")

HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run ("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")

HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices ("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices")

Nombre

Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: key, MappingStrings ("Win32API| Estructuras de archivos| WIN32_FIND_DATA|cFileName")

Nombre de archivo del comando de inicio.

Ejemplo: "FindFast"

SettingID

Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: MaxLen (256)

Identificador por el que se conoce el objeto actual.

Esta propiedad se hereda de CIM_Setting.

User

Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: key, MappingStrings ("WMI")

Nombre de usuario para el que se ejecutará este comando de inicio.

Ejemplo: "mydomain\myname"

UserSID

Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: MappingStrings ("WMI")

La propiedad UserSID indica el SID del usuario para el que se ejecutará este comando de inicio. Esa propiedad User puede estar vacía, pero UserSID sigue teniendo un valor si el nombre de usuario no se puede resolver (como en el caso de un usuario eliminado). La propiedad es útil para distinguir entre los comandos asociados a dos usuarios diferentes con nombres sin resolver. Puede ser NULL cuando el comando está asociado a elementos que no identifican realmente a un usuario como Todos los usuarios.

Ejemplo: S-1-5-21-1579938362-1064596589-3161144252-1006

Comentarios

La clase Win32_StartupCommand se deriva de CIM_Setting.

El inicio del equipo no finaliza después de cargar el sistema operativo. En su lugar, el sistema operativo Windows se puede configurar para que los comandos de inicio se ejecuten cada vez que se inicie Windows. Los comandos de inicio se almacenan en el registro o como parte del perfil de usuario y se usan para iniciar automáticamente scripts o aplicaciones especificados cada vez que se carga Windows.

En la mayoría de los casos, los programas de inicio automático son útiles; garantizan que determinadas aplicaciones, como las herramientas antivirus, se inician automáticamente y se ejecutan cada vez que se carga Windows. Sin embargo, los programas de inicio automático también pueden ser responsables de problemas como:

  • Equipos que tardan mucho tiempo en iniciarse. Esto puede ser el resultado de un gran número de aplicaciones que se deben iniciar cada vez que se inicia Windows.
  • Aplicaciones que se representan en la barra de tareas o en el Administrador de tareas, aunque el usuario no las haya iniciado. Aunque estas aplicaciones no causan necesariamente problemas, pueden dar lugar a llamadas del departamento de soporte técnico de los usuarios que se confunden con respecto a dónde proceden estos programas y por qué se ejecutan.
  • Los equipos experimentan problemas incluso cuando parecen inactivos. A menudo, estos problemas se rastrean a los comandos de inicio que se ejecutan cuando nadie es consciente de que se están ejecutando.

Identificar las aplicaciones y scripts que se ejecutan automáticamente en el inicio es una tarea administrativa importante pero difícil, ya que los comandos de inicio se pueden almacenar en muchas ubicaciones diferentes:

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  • HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKCU\Software\Microsoft\Windows\CurrentVersion\Run
  • HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKU\ProgID\Software\Microsoft\Windows\CurrentVersion\Run
  • systemdrive\Documents and Settings\All Users\Start Menu\Programs\Startup
  • systemdrive\Documents and Settings\username\Start Menu\Programs\Startup

Puede usar la clase Win32_StartupCommand WMI para enumerar programas de inicio automático independientemente de dónde se almacene la información.

El proceso de llamada que usa esta clase debe tener el privilegio SE_RESTORE_NAME en el equipo en el que reside el Registro. Por ejemplo, si enumera esta clase en el equipo local, la cuenta con la que se ejecuta la aplicación debe tener este privilegio. Para más información, vea Ejecución de operaciones con privilegios.

Puede cambiar los valores del Registro en los que Win32_StartupCommand obtiene datos llamando a los métodos del proveedor de registro del sistema WMI en el script o en C++. Para obtener más información, consulte Modificación del Registro del sistema.

Ejemplos

En el siguiente VBScript se enumeran los comandos de inicio de un equipo.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colStartupCommands = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_StartupCommand")
For Each objStartupCommand in colStartupCommands
 Wscript.Echo "Command: " & objStartupCommand.Command
 Wscript.Echo "Description: " & objStartupCommand.Description
 Wscript.Echo "Location: " & objStartupCommand.Location
 Wscript.Echo "Name: " & objStartupCommand.Name
 Wscript.Echo "SettingID: " & objStartupCommand.SettingID
 Wscript.Echo "User: " & objStartupCommand.User
Next

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008
Espacio de nombres
Root\CIMV2
MOF
CIMWin32.mof
Archivo DLL
CIMWin32.dll

Consulte también

CIM_Setting

Clases de sistema operativo