Поделиться через


Класс Win32_StartupCommand

Класс WMIWin32_StartupCommand представляет команду, которая выполняется автоматически при входе пользователя в компьютерную систему.

Следующий пример синтаксиса — упрощенный MOF-код, который включает все наследуемые свойства. Свойства и методы находятся в алфавитном порядке, а не в порядке MOF.

Синтаксис

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

Члены

Класс Win32_StartupCommand имеет следующие типы членов:

Элемент Property

Класс Win32_StartupCommand имеет следующие свойства.

Caption

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: MaxLen (64)

Краткое текстовое описание текущего объекта.

Это свойство наследуется от CIM_Setting.

Command

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: key, MappingStrings ("Win32Registry| SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run")

Команда, выполняемая командой запуска.

WMI получает эти данные из раздела реестра

HKEY_LOCAL_MACHINE\ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ\Microsoft\Windows\CurrentVersion\Запустить

Пример: "C:\Windows\notepad.exe myfile.txt"

Описание

Тип данных: string

Тип доступа: только для чтения

Текстовое описание текущего объекта.

Это свойство наследуется от CIM_Setting.

Расположение

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: key, MappingStrings ("Win32Registry|\\SOFTWARE\\MICROSOFT\\WINDOWS\\CURRENTVERSION\\Windows")

Путь, по которому команда запуска находится в файловой системе диска.

Например: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Startup ("Startup")

Common Startup ("Common Startup")

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

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

имя;

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: key, MappingStrings ("Win32API| Структуры файлов | WIN32_FIND_DATA|cFileName")

Имя файла команды запуска.

Пример: "FindFast"

SettingID

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: MaxLen (256)

Идентификатор, по которому известен текущий объект.

Это свойство наследуется от CIM_Setting.

Пользователь

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: key, MappingStrings ("WMI")

Имя пользователя, для которого будет выполняться эта команда запуска.

Пример: "mydomain\myname"

UserSID

Тип данных: string

Тип доступа: только для чтения

Квалификаторы: MappingStrings ("WMI")

Свойство UserSID указывает идентификатор безопасности пользователя, для которого будет выполняться эта команда запуска. Это свойство User может быть пустым, но userSID по-прежнему имеет значение, если имя пользователя не может быть разрешено (например, в случае удаленного пользователя). Свойство помогает различать команды, связанные с двумя пользователями с неразрешенными именами. Если команда связана с элементами, которые фактически не идентифицируют пользователя, например Все пользователи, может иметь значение NULL.

Пример: S-1-5-21-1579938362-1064596589-3161144252-1006

Комментарии

Класс Win32_StartupCommand является производным от CIM_Setting.

Запуск компьютера не завершается после загрузки операционной системы. Вместо этого можно настроить операционную систему Windows таким образом, чтобы команды запускались при каждом запуске Windows. Команды запуска хранятся в реестре или в составе профиля пользователя и используются для автоматического запуска указанных скриптов или приложений при каждой загрузке Windows.

В большинстве случаев удобно использовать программы автозапуска; они гарантируют, что некоторые приложения, такие как антивирусные средства, автоматически запускаются и запускаются при каждой загрузке Windows. Однако программы автозапуска также могут отвечать за такие проблемы, как:

  • Компьютеры, для запуска которым требуется исключительно много времени. Это может быть результатом большого количества приложений, которые необходимо запускать при каждом запуске Windows.
  • Приложения, представленные на панели задач или в диспетчере задач, даже если пользователь не запускал их. Хотя эти приложения не обязательно вызывают проблемы, они могут привести к вызовам в службу поддержки от пользователей, которые путаются в том, откуда эти программы и почему они работают.
  • Компьютеры испытывают проблемы, даже если они кажутся бездействующими. Эти проблемы часто отслеживаются в командах запуска, которые выполняются, когда никто не знает, что они выполняются.

Определение приложений и скриптов, которые автоматически запускаются при запуске, является важной, но сложной административной задачей, так как команды запуска могут храниться в разных расположениях:

  • 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

Класс WMI Win32_StartupCommand можно использовать для перечисления программ автозапуска независимо от того, где хранятся сведения.

Вызывающий процесс, использующий этот класс, должен иметь привилегию SE_RESTORE_NAME на компьютере, на котором находится реестр. Например, при перечислении этого класса на локальном компьютере учетная запись, от которой выполняется приложение, должна иметь эту привилегию. Дополнительные сведения см. в разделе Выполнение привилегированных операций.

Вы можете изменить значения реестра , в которых Win32_StartupCommand получает данные, вызвав методы поставщика системных реестров WMI в скрипте или в C++. Дополнительные сведения см. в разделе Изменение системного реестра.

Примеры

Следующий VBScript перечисляет команды запуска на компьютере.

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

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Пространство имен
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

См. также раздел

CIM_Setting

Классы операционной системы