(PowerShell) 脚本如何确定它在启动时正在运行?

(PowerShell) 脚本如何确定它在启动时正在运行?

我正在构建一个 PoSh 启动脚本,用于初始化几个计划任务。一个任务在用户登录时触发,另一个任务在空闲时触发。两个任务都会再次运行脚本。启动时只需要脚本的第一部分,但其他时间应该运行整个脚本。

脚本如何确定是在启动时运行还是稍后运行?

答案1

我也推荐使用参数选项。创建两个计划任务,一个在启动时运行,调用开关-AtStartup。然后,您可以创建第二个任务来调用不使用开关的脚本。参数的开关类型就是为此目的而构建的。

Function Start-Task {
    [CmdletBinding()]
    Param(
       [Parameter(Mandatory=$True,Position=1)]
       [string]$paramOne,

       [Parameter(Mandatory=$True)]
       [string]$paramTwo,

       [switch]$AtStartup
    )

    if ($AtStartup) {
        #Do startup activities....
        Test-Connection -ComputerName Localhost
    }

    #Rest of script work
}

答案2

你可以使用

[System.Environment]::TickCount

获取系统启动以来经过的毫秒数。

相关内容