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