索引服务 (CISVC) 报告脚本






4.50/5 (3投票s)
一个 VBScript,用于生成关于索引服务 (CISVC) 目录状态/详细信息的 HTML 报告
引言
如果您在 Microsoft Windows 2000 中使用索引服务 (CISVC),您可能希望定期通过电子邮件从服务器接收报告。
在以前的工作中,我广泛使用索引服务 (CISVC) 进行数据库中的关键字搜索。您可能想知道为什么我没有直接使用 SQL 全文索引……我们确实使用了,但发现其性能和控制过程都不够理想。
详细说明
用于访问索引服务的关键组件是
AdminIndexServer
(ProgID:Microsoft.ISAdm
)
此组件提供对许多对象和方法的访问,这些对象和方法用于查询索引服务的状态及其目录。
使用的对象、方法和属性
AdminIndexServer
(ProgID:Microsoft.ISAdm
)GetCatalogByName
(返回CatAdm
对象)
CatAdm
CatalogName
(获取当前目录名称)IsUpToDate
IsCatalogRunning
IsCatalogPaused
IsCatalogStopped
IndexSize
TotalDocumentCount
DocumentsToFilter
PctMergeComplete
QueryCount
StateInfo (* 按位查找,如下所示)
我选择仅报告特定索引目录的状态,但您可以使用 FindFirstCatalog
和 FindNextCatalog
方法循环遍历所有索引目录。
请注意,目录的状态以这样一种方式给出,您可以利用按位运算从单个返回值中获取多个状态。以下是我用来获取索引服务目录状态的常量列表
CI_STATE_SHADOW_MERGE = 1 '0x1
CI_STATE_MASTER_MERGE = 2 '0x2
CI_STATE_CONTENT_SCAN_REQUIRED = 4 '0x4
CI_STATE_ANNEALING_MERGE = 8 '0x8
CI_STATE_RECOVERING = 32 '0x20
CI_STATE_INDEX_MIGRATION_MERGE = 64 '0x40
CI_STATE_LOW_MEMORY = 128 '0x80
CI_STATE_HIGH_IO = 256 '0x100
CI_STATE_MASTER_MERGE_PAUSED = 512 '0x200
CI_STATE_READ_ONLY = 1024 '0x400
CI_STATE_BATTERY_POWER = 2048 '0x800
CI_STATE_USER_ACTIVE = 4096 '0x1000
CI_STATE_STARTING = 8192 '0x2000
CI_STATE_READING_USNS = 16384 '0x4000
希望这对任何需要处理索引服务的人有所帮助。我为此花费了许多痛苦的时光,处理了一些奇怪的问题。
我认为它相当容易理解,我尽量保持简单(肯定有人会在这里插入一个诙谐的评论……关于简单 ;-))。
历史
- 2006 年 6 月 19 日:初始发布