如何通过 PowerShell Cmdlet 从 schtasks.exe 获取所有可用信息?

How do I get all the information available from schtasks.exe via PowerShell Cmdlets?

当我在 Windows 服务器上使用 PowerShell Cmdlet Get-ScheduledTaskInfo 时,我得到以下数据

LastRunTime        : 22/04/1932 11:30:30
LastTaskResult     : 267011
NextRunTime        :
NumberOfMissedRuns : 0
TaskName           : \Microsoft\Windows\Workplace Join\Recovery-Check
TaskPath           :
PSComputerName     :

但是,当我使用 schtasks.exe 在同一个 Windows 服务器上查询同一个计划任务时,我得到了更多信息,如下所示。

HostName                             : ELT-W-PRD-AP-12
TaskName                             : \Microsoft\Windows\Workplace Join\Recovery-Check
Next Run Time                        : N/A
Status                               : Disabled
Logon Mode                           : Interactive/Background
Last Run Time                        : 30/11/1999 00:00:00
Last Result                          : 267011
Author                               : N/A
Task To Run                          : %SystemRoot%\System32\dsregcmd.exe /checkrecovery
Start In                             : N/A
Comment                              : Performs recovery check.
Scheduled Task State                 : Disabled
Idle Time                            : Disabled
Power Management                     :
Run As User                          : INTERACTIVE
Delete Task If Not Rescheduled       : Disabled
Stop Task If Runs X Hours and X Mins : 02:00:00
Schedule                             : Scheduling data is not available in this format.
Schedule Type                        : At logon time
Start Time                           : N/A
Start Date                           : N/A
End Date                             : N/A
Days                                 : N/A
Months                               : N/A
Repeat: Every                        : N/A
Repeat: Until: Time                  : N/A
Repeat: Until: Duration              : N/A
Repeat: Stop If Still Running        : N/A

如何使用 PowerShell Cmdlet 从计划任务中提取相同的信息,而不是依赖 schtasks.exe?

当您使用 schtasks 进行搜索时,您使用了 /Verbose 标志 - 您需要在这里做同样的事情,然后还要说您想要查看检索到的属性的整个列表。

$info = Get-ScheduledTask -TaskName Test -Verbose | select -Property *
$info
write-host "Task's actions are" $info.actions "and triggers are" $info.Triggers
$runtimeInfo = Get-ScheduledTaskInfo $info.TaskName | select -property *
write-host "Last runtime info is" $runtimeInfo

编辑:Get-ScheduledTaksInfo 将仅提供:

the last run-time information for a scheduled task.