2

Я создаю скрипт запуска PoSh, который инициализирует пару запланированных задач. Одна задача запускается при входе пользователя в систему, а другая - в режиме ожидания. Обе задачи запускают скрипт снова. При запуске требуется только первая часть скрипта, но весь скрипт должен запускаться все остальное время.

Как скрипт может определить, когда он запускается при запуске, а не в более позднее время?

2 ответа2

3

Я бы также порекомендовал параметр параметра. Создайте две запланированные задачи, одну для запуска при запуске, которая вызывает параметр -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

чтобы получить количество миллисекунд, прошедших с момента запуска системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .