簡體   English   中英

powershell-如何多次運行代碼的特定部分

[英]powershell - how to run specific part of code several times

如果我想多次運行PS腳本,則可以使用Windows Scheduler,但是如果我需要多次運行某些部分代碼而不是整個腳本,該怎么辦?

我有監視遠程服務器的腳本,我需要每秒檢查處理器時間和每分鍾ram的數量。 我不想將其拆分為更多單獨的腳本,因為我正在監視數十個值。 還是您對此有不同的想法?

謝謝!

您也許可以為此使用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"

備注 :另一個解決方案是使用Windows Forms計時器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM