Подписка MofComp не работает, а сохраненный файл ведет себя странно

Я пытаюсь зарегистрировать этот файл (mytest3.mof):

#PRAGMA AUTORECOVER
#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $EventFilter
{
    Name  = "Event Filter Instance Name";
    EventNamespace = "Root\\Cimv2";
    Query = "Select * From __InstanceCreationEvent Within 1 "
            "Where TargetInstance Isa \"Cim_DirectoryContainsFile\" "
            "and TargetInstance.GroupComponent=\"Win32_Directory.Name=\'C:\\\\test\'\"";
    QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as $Consumer
{
    Name = "TestConsumer";
    ScriptingEngine = "VBScript";
    ScriptFileName = "C:\\test\\test.vbs";  
};

instance of __FilterToConsumerBinding
{
    Filter = $EventFilter;
    Consumer = $Consumer;
}; 

используя команду PS C:\windows\system32\wbem> mofcomp mytest3.mof

И получив этот вывод:

Microsoft (R) MOF Compiler Version 6.2.9200.16398
Copyright (c) Microsoft Corp. 1997-2006. All rights reserved.
Parsing MOF file: mytest3.mof
MOF file has been successfully parsed
Storing data in the repository...
WARNING: File mytest3.mof does not contain #PRAGMA AUTORECOVER.
If the WMI repository is rebuilt in the future, the contents of this MOF file w
ill not be included in the new WMI repository.
To include this MOF file when the WMI Repository is automatically reconstructed
, place the #PRAGMA AUTORECOVER statement on the first line of the MOF file.
Done!

Это произошло несколько раз, и я вижу, что событие не регистрируется.

Кто-нибудь знает, почему я вижу сообщение о #PRAGMA AUTORECROVER? Вы ясно видите, что эта строка была включена в файл, но система все еще жалуется, что ее там нет ... Я не уверен, что это часть причины, по которой событие не регистрируется, но похоже, они могут быть связаны.

В качестве дополнительной детали, которая может помочь объяснить - когда я сохраняю mytset3.mof в папке wbem, файл не может быть найден там, пока я не войду в папку, не создам новый пустой текстовый файл и не сохраню его как mytest3.mof. Пока я этого не сделаю (хоть я и сохранил документ), ПК ведет себя так, как будто этого файла не существует... Что тут происходит? Может ли это быть связано с правами доступа к папке?


person Bassie    schedule 27.04.2016    source источник


Ответы (1)


Похоже, что эта проблема каким-то образом вызвана Notepad++

При сохранении файла из Notepad++ я должен выполнить описанный выше процесс создания нового пустого файла, прежде чем он станет доступным для системы, и запуск mofcomp, похоже, ничего не делает (хотя он говорит, что данные были сохранены в хранилище) и жалуется о #PRAGMA AUTORECOVER.

После вставки точно такого же содержимого файла в обычный экземпляр Notepad.exe и его сохранения никаких проблем не возникает. Файл создается после сохранения, и запуск mofcomp mytest4.mof не только возвращает успешное сообщение в терминале, но я также вижу, что событие теперь зарегистрировано для мониторинга папки C:\test.

Не совсем уверен, что здесь происходит с Notepad++, но если бы кто-нибудь мог пролить свет, это было бы здорово!

person Bassie    schedule 27.04.2016