從 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