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
CIMWin32.mof
DLL
CIMWin32.dll

Vedi anche

CIM_Setting

Classi del sistema operativo