1

所以我的老板希望我们使用 Polymon 监控来监视服务器的打印假脱机程序,因为它最近一直无缘无故地自行关闭。当 Polymon 看到 spooler 关闭时,我们在服务器桌面上有一个简单的 bat 脚本来运行“net start spooler”。但是,我使用的脚本没有运行 bat 文件……这是 Polymon 所说的:

监视器状态可通过以下 $Status 对象属性获得:$Status.StatusID、$Status.Status 以下 StatusID 值具有相应的状态值:1=OK、2=WARN、3=FAIL

监视器计数器可通过 $Counters 集合获得。此集合公开了一个默认 Item 属性,该属性按索引值检索 Counter,例如 $Counters(0),还公开了一个按名称检索 Counter 的 Counter 属性,例如 Counters.Counter("MyCounterName")

Counter 对象公开以下属性:CounterName、CounterValue

我的脚本是:

cmd /c C:\Documents and Settings\Username\Desktop\start_spooler1.bat

Polymon 说脚本签出,但是当我手动关闭后台处理程序服务时,我得到的只是通知,后台处理程序没有重新打开。想法?我是 Powershell 的新手……Polymon 要求动作脚本要么在 Powershell 要么在 VB 中,所以我愿意接受任何可以使它工作的脚本。

4

1 回答 1

0

我认为您的问题仅仅是由于批处理脚本路径中的空格。在路径周围加上引号,它可以工作:

cmd /c "C:\Documents and Settings\Username\Desktop\start_spooler1.bat"

但请注意,您不需要为此使用 cmd - powershell 将运行.bat.cmd自行归档。由于路径中的空格,您将再次需要一些引用,并且&操作符:

& "C:\Documents and Settings\Username\Desktop\start_spooler1.bat"
于 2012-09-29T00:01:44.920 回答