Windows PowerShell의 예약된 작업에서 결과 검색
예약된 작업은 Windows PowerShell이 실행되지 않을 때 실행될 수 있으므로 결과는 XML 파일의 디스크에 저장됩니다. –MaxResultCount 매개 변수를 사용하여 작업을 만드는 경우 셸은 이전 XML 파일을 자동으로 삭제하여 새 파일을 위한 공간을 만듭니다. 이렇게 삭제하면 –MaxResultCount 매개 변수에 지정된 것보다 더 많은 XML 파일이 존재하지 않습니다.
예약된 작업이 완료되면 Windows PowerShell의 Get-Job을 실행하여 예약된 작업의 결과가 작업 개체로 표시합니다.
예를 들면 다음과 같습니다.
PS C:\> Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
6 LocalDir PSScheduledJob Completed True localhost Dir C:\
Receive-Job을 사용하여 예약된 작업의 결과를 가져올 수 있습니다. –Keep을 지정하지 않으면 Windows PowerShell 세션당 한 번만 작업의 결과를 받을 수 있습니다. 그러나 결과가 디스크에 저장되므로 새 Windows PowerShell 세션을 열고 결과를 다시 받을 수 있습니다. 예를 들면 다음과 같습니다.
PS C:\> Receive-Job -id 6 -Keep
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/26/2021 12:33 AM PerfLogs
d-r-- 11/28/2021 1:54 PM Program Files
d-r-- 12/28/2021 2:22 PM Program Files (x86)
d---- 11/16/2021 9:33 AM reports
d---- 9/18/2021 7:28 AM Review
d---- 1/5/2022 7:49 AM scr
d---- 1/5/2022 7:50 AM scrx
d-r-- 9/15/2021 8:16 AM Users
d---- 12/19/2021 3:24 AM Windows
-a--- 1/1/2022 9:39 AM 2892628 EventReport.html
-a--- 1/2/2022 12:37 PM 82 Get-DiskInfo.ps1
-a--- 12/30/2021 12:33 PM 246 test.ps1
예약된 작업이 실행될 때마다 Windows PowerShell은 실행된 가장 최근 작업의 결과를 나타내는 새 작업 개체를 만듭니다. 다음 예제와 같이 Remove-Job을 사용하여 작업을 제거하고 디스크에서 결과 파일을 삭제할 수 있습니다.
PS C:\> Get-Job -id 6 | Remove-Job