從 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