classe Win32_StartupCommand
La classe WMIWin32_StartupCommand rappresenta un comando che viene eseguito automaticamente quando un utente accede al sistema computer.
La sintassi seguente è semplificata dal codice MOF (Managed Object Format) e include tutte le proprietà ereditate. Le proprietà e i metodi sono in ordine alfabetico, non in ordine MOF.
Sintassi
[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;
};
Members
La classe Win32_StartupCommand include questi tipi di membri:
Proprietà
La classe Win32_StartupCommand include queste proprietà.
-
Didascalia
-
-
Tipo di dati: stringa
-
Tipo di accesso: sola lettura
-
Qualificatori: MaxLen (64)
Breve descrizione testuale dell'oggetto corrente.
Questa proprietà viene ereditata da CIM_Setting.
-
-
Comando
-
-
Tipo di dati: stringa
-
Tipo di accesso: sola lettura
-
Qualificatori: key, MappingStrings ("Win32Registry| SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")
Comando eseguito dal comando di avvio.
WMI ottiene questi dati dalla chiave del Registro di sistema
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Finestre\Currentversion\Correre
Esempio: "C:\Windows\notepad.exe myfile.txt"
-
-
Descrizione
-
-
Tipo di dati: stringa
-
Tipo di accesso: sola lettura
Descrizione testuale dell'oggetto corrente.
Questa proprietà viene ereditata da CIM_Setting.
-
-
Posizione
-
-
Tipo di dati: stringa
-
Tipo di accesso: sola lettura
-
Qualificatori: key, MappingStrings ("Win32Registry|\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\Windows")
Percorso in cui risiede il comando di avvio nel file system del disco.
Ad esempio: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
-
-
Avvio ("Avvio ")
-
Avvio comune ("Avvio comune ")
-
HKLM \\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run ("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")
-
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices ("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunServices")
Nome
-
Tipo di dati: stringa
-
Tipo di accesso: sola lettura
-
Qualificatori: key, MappingStrings ("Win32API| Strutture file | WIN32_FIND_DATA|cFileName")
Nome file del comando di avvio.
Esempio: "FindFast"
SettingID
-
Tipo di dati: stringa
-
Tipo di accesso: sola lettura
-
Qualificatori: MaxLen (256)
Identificatore in base al quale l'oggetto corrente è noto.
Questa proprietà viene ereditata da CIM_Setting.
Utente
-
Tipo di dati: stringa
-
Tipo di accesso: sola lettura
-
Qualificatori: key, MappingStrings ("WMI")
Nome utente per il quale verrà eseguito questo comando di avvio.
Esempio: "mydomain\myname"
UserSID
-
Tipo di dati: stringa
-
Tipo di accesso: sola lettura
-
Qualificatori: MappingStrings ("WMI")
La proprietà UserSID indica il SID dell'utente per cui verrà eseguito questo comando di avvio. La proprietà User può essere vuota ma UserSID ha ancora un valore se il nome utente non può essere risolto (ad esempio nel caso di un utente eliminato). La proprietà è utile per distinguere tra i comandi associati w/ due utenti diversi con nomi non risolti. Può essere NULL quando il comando è associato agli elementi che non identificano effettivamente un utente come Tutti gli utenti.
Esempio:S-1-5-21-1579938362-1064596589-3161144252-1006
Commenti
La classe Win32_StartupCommand deriva da CIM_Setting.
L'avvio del computer non termina dopo il caricamento del sistema operativo. È invece possibile configurare il sistema operativo Windows in modo che i comandi di avvio vengano eseguiti ogni volta che Viene avviato Windows. I comandi di avvio vengono archiviati nel Registro di sistema o come parte del profilo utente e vengono usati per avviare automaticamente script o applicazioni specificati ogni volta che Viene caricato Windows.
Nella maggior parte dei casi, i programmi di avvio automatico sono utili; garantiscono che determinate applicazioni, ad esempio strumenti antivirus, vengano avviate automaticamente ed eseguite ogni volta che Windows viene caricato. Tuttavia, i programmi di avvio automatico possono anche essere responsabili di problemi come:
- I computer che richiedono un tempo eccezionale per iniziare. Questo potrebbe essere il risultato di un numero elevato di applicazioni che devono essere avviate ogni volta che Viene avviato Windows.
- Applicazioni rappresentate nella barra delle applicazioni o in Gestione attività, anche se l'utente non li ha avviati. Anche se queste applicazioni non causano necessariamente problemi, possono causare chiamate help desk da parte degli utenti che sono confusi come dove questi programmi provengono e perché sono in esecuzione.
- I computer che riscontrano problemi anche quando sembrano inattive. Questi problemi vengono spesso tracciati ai comandi di avvio in esecuzione quando nessuno è consapevole che sono in esecuzione.
L'identificazione delle applicazioni e degli script eseguiti automaticamente all'avvio è un'attività amministrativa importante ma difficile, perché i comandi di avvio possono essere archiviati in molte posizioni diverse:
- 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\Programmi\Startup
- systemdrive\Documents and Settings\username\Start Menu\Programmi\Startup
È possibile usare la classe WMI Win32_StartupCommand per enumerare i programmi di avvio automatico indipendentemente dalla posizione in cui vengono archiviate le informazioni.
Il processo di chiamata che usa questa classe deve avere il privilegio SE_RESTORE_NAME nel computer in cui risiede il Registro di sistema. Ad esempio, se si enumera questa classe nel computer locale, l'account in cui viene eseguita l'applicazione deve avere questo privilegio. Per altre informazioni, vedere Esecuzione di operazioni con privilegi.
È possibile modificare i valori del Registro di sistema in cui Win32_StartupCommand ottiene i dati chiamando i metodi del provider del Registro di sistema WMI nello script o in C++. Per altre informazioni, vedere Modifica del Registro di sistema.
Esempio
Il codice VBScript seguente enumera i comandi di avvio in un computer.
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
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Spazio dei nomi |
Radice\CIMV2 |
MOF |
|
DLL |
|
Vedi anche