我正在学习文件系统监控,以加快我的邮件服务器的第3次和第4次备份。我有一个漂亮的VB脚本,在驱动器D上完美地工作,但是当我查询驱动器C的更改时,如果使用通配符,则不会返回任何结果。为什么WQL LIKE操作符不能在驱动器c上工作,但在驱动器d上工作正常?
这里是我的查询:
这工作得很好C:\ SC,但不返回子文件夹的变化:
Select * From __InstanceOperationEvent Within 10 Where TargetInstance Isa 'CIM_DataFile' And ((TargetInstance.Drive='c:' And TargetInstance.Path = '\\sc\\'))
这对于d正常工作:\ SC,并不会返回子文件夹的变化:
Select * From __InstanceOperationEvent Within 10 Where TargetInstance Isa 'CIM_DataFile' And ((TargetInstance.Drive='d:' And TargetInstance.Path LIKE '\\sc\\%'))
这一个根本没有返回任何变化。没有错误消息被返回,并且脚本继续运行:
Select * From __InstanceOperationEvent Within 10 Where TargetInstance Isa 'CIM_DataFile' And ((TargetInstance.Drive='c:' And TargetInstance.Path LIKE '\\sc\\%'))
双括号使我可以添加与“OR”相关的类似查询。
我的系统驱动器是驱动器C.
驱动器D是一个可移动的USB驱动器。
我改变了我的系统驱动器上的一些设置,以防止这种情况发生?
或者查询返回的结果太多?
我一直在寻找这个几个小时。任何见解将不胜感激。
好吧,听起来可行,但纠正我,如果我错了 - 驱动器不被查询,而是事件日志。上面给出的第二个例子完美地适用于驱动器D:上的文件夹和子文件夹,顺便说一下,它备份了4个不同的服务器,使它既不小也不简单,所以显然可以使用LIKE来检索子文件夹更改,对?每个文件的创建,删除和更改都将记录到事件日志中,那么如何查询事件日志以查找文件夹上发生的事件以及驱动器c上的子文件夹:? – alfadog67
您的c和d驱动器中有多少个文件? – RRUZ
C驱动器是典型的Windows安装,D驱动器是3个典型的Windows安装和一个Linux。 – alfadog67