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 |
|
Archivo DLL |
|
Consulte también