Класс 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 |
|
DLL |
|
См. также раздел