Compartilhar via


classe Win32_StartupCommand

A classe WMIWin32_StartupCommand representa um comando que é executado automaticamente quando um usuário faz logon no sistema do computador.

A sintaxe a seguir é simplificada do código MOF (Managed Object Format) e inclui todas as propriedades herdadas. Propriedades e métodos estão em ordem alfabética, não em ordem MOF.

Sintaxe

[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;
};

Membros

A classe Win32_StartupCommand tem estes tipos de membros:

Propriedades

A classe Win32_StartupCommand tem essas propriedades.

Legenda

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: MaxLen (64)

Descrição textual curta do objeto atual.

Essa propriedade é herdada de CIM_Setting.

Comando

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

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

Comando executado pelo comando de inicialização.

O WMI obtém esses dados da chave do Registro

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Executar

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

Descrição

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Descrição textual do objeto atual.

Essa propriedade é herdada de CIM_Setting.

Localidade

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

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

Caminho em que o comando de inicialização reside no sistema de arquivos de disco.

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

Inicialização ("Inicialização")

Inicialização comum ("Inicialização comum")

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 de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: key, MappingStrings ("Win32API| Estruturas de arquivo| WIN32_FIND_DATA|cFileName")

Nome do arquivo do comando de inicialização.

Exemplo: "FindFast"

Settingid

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: MaxLen (256)

Identificador pelo qual o objeto atual é conhecido.

Essa propriedade é herdada de CIM_Setting.

Usuário

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: key, MappingStrings ("WMI")

Nome de usuário para o qual este comando de inicialização será executado.

Exemplo: "mydomain\myname"

UserSID

Tipo de dados: cadeia de caracteres

Tipo de acesso: Somente leitura

Qualificadores: MappingStrings ("WMI")

A propriedade UserSID indica o SID do usuário para o qual esse comando de inicialização será executado. Essa propriedade User pode estar vazia, mas UserSID ainda terá um valor se o nome de usuário não puder ser resolvido (como no caso de um usuário excluído). A propriedade é útil para distinguir entre os comandos associados a dois usuários diferentes com nomes não resolvidos. Pode ser NULL quando o comando está associado a itens que não identificam realmente um usuário como Todos os Usuários.

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

Comentários

A classe Win32_StartupCommand é derivada de CIM_Setting.

A inicialização do computador não termina depois que o sistema operacional é carregado. Em vez disso, o sistema operacional Windows pode ser configurado para que os comandos de inicialização sejam executados sempre que o Windows for iniciado. Os comandos de inicialização são armazenados no registro ou como parte do perfil do usuário e são usados para iniciar automaticamente scripts ou aplicativos especificados sempre que o Windows é carregado.

Na maioria dos casos, os programas de início automático são úteis; eles garantem que determinados aplicativos, como ferramentas antivírus, sejam iniciados e executados automaticamente sempre que o Windows for carregado. No entanto, os programas de início automático também podem ser responsáveis por problemas como:

  • Computadores que levam um tempo excepcionalmente longo para serem iniciados. Isso pode ser o resultado de um grande número de aplicativos que devem ser iniciados sempre que o Windows é iniciado.
  • Aplicativos que são representados na Barra de Tarefas ou no Gerenciador de Tarefas, mesmo que o usuário não os tenha iniciado. Embora esses aplicativos não necessariamente causem problemas, eles podem resultar em chamadas de suporte técnico de usuários que estão confusos sobre a origem desses programas e por que eles estão em execução.
  • Computadores com problemas mesmo quando parecem ociosos. Esses problemas geralmente são rastreados para comandos de inicialização que estão em execução quando ninguém sabe que eles estão em execução.

Identificar os aplicativos e scripts executados automaticamente na inicialização é uma tarefa administrativa importante, mas difícil, porque os comandos de inicialização podem ser armazenados em muitos locais 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

Você pode usar a classe Win32_StartupCommand WMI para enumerar programas de início automático, independentemente de onde as informações estão armazenadas.

O processo de chamada que usa essa classe deve ter o privilégio SE_RESTORE_NAME no computador no qual o registro reside. Por exemplo, se você enumerar essa classe no computador local, a conta sob a qual o aplicativo é executado deverá ter esse privilégio. Para obter mais informações, consulte Executando operações privilegiadas.

Você pode alterar os valores do Registro em que Win32_StartupCommand obtém dados chamando os métodos do Provedor de Registro do Sistema WMI no script ou no C++. Para obter mais informações, consulte Modificando o registro do sistema.

Exemplos

O VBScript a seguir enumera os comandos de inicialização em um computador.

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 Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Confira também

CIM_Setting

Classes do sistema operacional