共用方式為


實作跨命名空間永久事件訂閱

建議將所有永久訂閱編譯成 \root\subscription 命名空間。 這可防止將永久消費者編譯到正在使用的每個命名空間,這意味著只需在一個命名空間中尋找永久訂閱。 使用 __EventFilterEventNamespace 屬性來實作跨命名空間訂用帳戶。

使用 CommandLineEventConsumer時,請務必保護您要啟動的可執行檔。 如果可執行檔不在安全的存放位置,或沒有使用強式存取控制清單(ACL)來保護,任何人都可以將可執行檔替換成他們自己的版本。 如需 ACL 的詳細資訊,請參閱在 C++ 中建立新物件的安全性描述元

下列 Managed 物件格式(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;
};