IT Share you

Windows 작업 스케줄러를 사용하여 PowerShell 스크립트를 자동으로 실행하려면 어떻게해야합니까?

shareyou 2020. 11. 30. 20:15
반응형

Windows 작업 스케줄러를 사용하여 PowerShell 스크립트를 자동으로 실행하려면 어떻게해야합니까?


이메일을 보내는 PowerShell 스크립트가 하나 있습니다. 이 스크립트를 1 분마다 자동으로 실행하고 싶습니다. 작업 스케줄러를 사용하여 어떻게 할 수 있습니까?

현재 작업을 만들고 스크립트 경로를 제공했습니다. 그러나 그 스케줄러는 실행하는 대신 내 스크립트를 엽니 다.


예약 된 작업을 만들고 작업을 다음과 같이 설정합니다.

프로그램 / 스크립트 : Powershell.exe

인수 : -File "C:\Users\MyUser\Documents\ThisisMyFile.ps1"


다음은 PowerShell 3.0 또는 4.0 이상을 사용하는 예입니다 -RepeatIndefinitely.

# Trigger
$middayTrigger = New-JobTrigger -Daily -At "12:40 AM"
$midNightTrigger = New-JobTrigger -Daily -At "12:00 PM"
$atStartupeveryFiveMinutesTrigger = New-JobTrigger -once -At $(get-date) -RepetitionInterval $([timespan]::FromMinutes("1")) -RepeatIndefinitely

# Options
$option1 = New-ScheduledJobOption –StartIfIdle

$scriptPath1 = 'C:\Path and file name 1.PS1'
$scriptPath2 = "C:\Path and file name 2.PS1"

Register-ScheduledJob -Name ResetProdCache -FilePath $scriptPath1 -Trigger  $middayTrigger,$midNightTrigger -ScheduledJobOption $option1
Register-ScheduledJob -Name TestProdPing -FilePath $scriptPath2 -Trigger $atStartupeveryFiveMinutesTrigger

작업 스케줄러에서 스크립트 경로 만 사용하는 대신 작업 스케줄러에서 스크립트로 PowerShell을 시작해야합니다. 예 :

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -NonInteractive -File "C:\Path\To\Your\PS1File.ps1"

powershell /?해당 스위치에 대한 설명은를 참조하십시오 .

여전히 문제가 발생하면 이 질문을 읽어야 합니다 .


제 경우에는 스크립트에 매개 변수가 있으므로 다음을 설정합니다.

인수 :-Command "& C:\scripts\myscript.ps1 myParam1 myParam2"


인터넷을 통한 몇 시간의 테스트 및 조사 끝에 Jack Fruh @sharepointjack의 Windows 작업 스케줄러를 사용하여 PowerShell 스크립트 예약 비디오 덕분에 작업 스케줄러로 PowerShell 스크립트를 시작하는 방법을 마침내 찾았 습니다 .

프로그램 / 스크립트-> powershell.exe를 통해 전체 경로 입력

C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe

인수 추가-> ""없이 스크립트 및 스크립트에 대한 전체 경로.

시작 위치 (선택 사항)-> ""없이 스크립트가있는 디렉토리.


Unblock-File cmdlet을 사용하여이 특정 스크립트의 실행을 차단 해제 할 수 있습니다. 이렇게하면 보안 문제로 인해 원하지 않는 영구적 인 정책 변경을 수행 할 수 없습니다.

Unblock-File path_to_your_script

출처 : Unblock-File

참고 URL : https://stackoverflow.com/questions/23953926/how-do-i-execute-a-powershell-script-automatically-using-windows-task-scheduler

반응형