如果我想多次運行PS腳本,我可以使用Windows調度程序,但是如果我需要運行幾次某些部分代碼而不是整個腳本,該怎麼辦?powershell - 如何多次運行代碼的特定部分
我有腳本來監視遠程服務器,我需要檢查每秒處理器時間和每分鐘的RAM數量。我不想將它分成更多獨立的腳本,因爲我正在監視數十個值。或者你有一些resolvint不同的想法?
謝謝!
如果我想多次運行PS腳本,我可以使用Windows調度程序,但是如果我需要運行幾次某些部分代碼而不是整個腳本,該怎麼辦?powershell - 如何多次運行代碼的特定部分
我有腳本來監視遠程服務器,我需要檢查每秒處理器時間和每分鐘的RAM數量。我不想將它分成更多獨立的腳本,因爲我正在監視數十個值。或者你有一些resolvint不同的想法?
謝謝!
您也許可以使用WMI計時器的
PS C:\> $iClsTimer = [wmiclass]"__IntervalTimerInstruction"
PS C:\> $iTimer = $iClsTimer.CreateInstance();
PS C:\> $iTimer.TimerId="MonEvtTimer"
PS C:\> $iTimer.IntervalBetweenEvents= 2000
PS C:\> $iTimer.SkipIfPassed=$true
PS C:\> $iTimer.Put()
Path : \\.\root\cimv2:__IntervalTimerInstruction.TimerId="MonEvtTimer"
RelativePath : __IntervalTimerInstruction.TimerId="MonEvtTimer"
Server : .
NamespacePath : root\cimv2
ClassName : __IntervalTimerInstruction
IsClass : False
IsInstance : True
IsSingleton : False
PS C:\silogix> $query = "Select * From __TimerEvent Where TimerID='MonEvtTimer'"
PS C:\silogix> Register-WMIEvent -Query $query -Action {write-host "Timer"}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
2 19e70483-2a0... NotStarted False write-host "Timer"
備註:另一種解決方案是使用定時器
你使用Get-計數器Windows窗體? http://technet.microsoft.com/en-us/library/hh849685.aspx – nimizen
是的,我使用Get-Counter來獲取處理器時間。 – culter