2012-09-28 89 views
1

因此,我的老闆希望我們使用Polymon監控來觀察服務器的打印假脫機程序,因爲它最近一直無緣無故地自行關閉。當Polymon看到假脫機程序關閉時,我們在服務器的桌面上有一個簡單的bat腳本來運行「net start spooler」。不過,我使用的是不運行的批處理文件腳本...這是什麼Polymon說:Powershell/Polymon監控

監視狀態可通過以下$狀態對象 屬性:$ Status.StatusID,$ Status.Status以下StatusID 值具有相應的狀態值:1 = OK,2 = WARN,3 =失敗

監視計數器可通過$ Counters集合獲得。 這個集合公開了一個默認的Item屬性,它通過索引值檢索一個 計數器,例如, $計數器(0),並且還暴露了一個計數器 屬性,其通過名稱(例如)檢索計數器。 Counters.Counter( 「MyCounterName」)

計數器對象公開以下屬性:CounterName, 的對價

我的腳本是:

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

Polymon說,腳本檢查出來,但是當我手動關閉假脫機程序服務,我得到的只是通知,並且假脫機程序不會重新打開。思考?我是一個Powershell的新手......並且Polymon需要動作腳本才能在Powershell或VB中,所以我對任何一個都會開放。

回答

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" 
+0

仍然無法啓動無論出於何種原因後臺打印程序。 Polymon不喜歡&,但它花了cmd/c和引號,但仍然沒有啓動後臺打印程序服務。 – user1707042