Powershell - Windows启动过程监控

时间:2015-04-11 07:41:57

标签: powershell

我想通过PowerShell脚本在Windows启动(用户登录后)后立即执行一些特定操作。但是,我不希望通过将我的PowerShell脚本添加到Windows Startup来实现这一点,因为这样我的脚本将在Windows启动过程中运行。因此,某些服务和应用程序可能尚未启动。 我想在启动所有Windows服务时运行脚本,运行Windows Startup部分的所有应用程序,并且HDD没有大量加载。是否可以使用PowerShell检测此类Windows状态?

我会感激任何帮助,因为我的想法已经不多了......

1 个答案:

答案 0 :(得分:0)

创建Powershell启动脚本。将其设置为监视系统via Perfmon counters并等待系统空闲。像这样,

$epsilon = 0.2
do { # sleep and loop untill cpu load is low enough
    start-sleep -seconds 5
    $counter = Get-Counter "\\computer\Process(Idle)\% Processor Time"
} while ($counter.CounterSamples.CookedValue -ge $epsilon)
# The system is now idle enough
# Start the real work after the loop

正确的计数器取决于你所追求的。当前的磁盘队列也可能很有用。

可以使用相同的方法来检查服务状态,运行进程等。