Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Рекомендуется скомпилировать все постоянные подписки в пространство имен \root\subscription. Это предотвращает необходимость включения постоянного потребителя в каждое используемое пространство имен, это означает, что существует только одно пространство имен для поиска постоянных подписок. Используйте свойство EventNamespace для __EventFilter для реализации подписки между пространствами имен.
При использовании CommandLineEventConsumerважно защитить исполняемый файл, который вы запускаете. Если исполняемый файл не находится в безопасном расположении или защищен с помощью строгого списка управления доступом (ACL), любой пользователь может заменить исполняемый файл одним из своих собственных. Дополнительные сведения о списках управления доступом см. в разделе Создание дескриптора безопасности для нового объекта на C++.
В следующем примере кода в формате Managed Object Format (MOF) показана подписка между пространствами имен.
#pragma namespace("\\root\\subscription")
instance of __EventFilter as $FLT
{
Name = "Filter";
Query = "SELECT * FROM __InstanceModificationEvent "
"WHERE TargetInstance ISA \"Win32_LocalTime\" "
"AND TargetInstance.Hour = 8 "
"AND TargetInstance.Minute = 0 "
"AND TargetInstance.Second = 0 "
"AND TargetInstance.DayOfWeek = 6";
QueryLanguage = "WQL";
EventNamespace = "root\\cimv2";
};
instance of CommandLineEventConsumer as $CONS
{
ExecutablePath = "cmd.exe";
ShowWindowCommand = 7;
RunInteractively = true;
};
instance of __FilterToConsumerBinding
{
Consumer = $CONS;
Filter = $FLT;
};