Поскольку вы говорите: « Я все еще хочу видеть имена задач относительно их действий » в комментарии, вы можете использовать приведенный ниже пример пакетного сценария, чтобы получить ожидаемый результат в Windows 7.
По сути это будет:
- Выполните команду запроса verbose schtasks, чтобы вывести вывод в файл csv
- С помощью встроенной команды Windows PowerShell convertfrom-csv она преобразует выходные данные csv в формат, подобный списку.
- Оттуда он будет использовать команду выбора PowerShell с параметром
-property
чтобы получить только значения из полей, которые вы хотите видеть только.
- Команда PowerShell где с оператором сравнения
-notcontains
отфильтровывает дополнительные объекты TaskName
которые по какой-либо причине выгружают в файл csv с помощью команд schtasks .
Примечание. Вы более ограничены возможностями, которые вы можете и не можете использовать для этой задачи в Windows 7, по сравнению с более новыми операционными системами Windows, такими как Windows 10 .
Пакетный сценарий Явный
Возможно, вам придется поиграть с параметром -Width 256
и использовать большее или меньшее значение int.
@ECHO ON
SET RptFile=C:\Folder\Path\TaskSchedReport.txt
SET TmpPSScript=%Temp%\~tmpScheduleTasks.ps1
IF EXIST "%TmpPSScript%" DEL /Q /F "%TmpPSScript%"
ECHO schtasks /query /v /fo csv ^| ConvertFrom-CSV ^| >> "%TmpPSScript%"
ECHO Select -Property "TaskName","Task To Run" ^| >> "%TmpPSScript%"
ECHO Where {$_.TaskName -notcontains "TaskName"} ^| >> "%TmpPSScript%"
ECHO Out-File "%RptFile%" -Width 256 >> "%TmpPSScript%"
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%TmpPSScript%'"
:: -- Below will open file to view content with the default text editor
explorer.exe "%RptFile%"
EXIT
Фрагмент пакетного вывода
TaskName Task To Run
-------- -----------
\Adobe Acrobat Update Task C:\Program Files\Common Files\Adobe\ARM\1.0\AdobeARM.exe
\Adobe Acrobat Update Task C:\Program Files\Common Files\Adobe\ARM\1.0\AdobeARM.exe
\GoogleUpdateTaskMachineCore C:\Program Files\Google\Update\GoogleUpdate.exe /c
\GoogleUpdateTaskMachineCore C:\Program Files\Google\Update\GoogleUpdate.exe /c
\GoogleUpdateTaskMachineUA C:\Program Files\Google\Update\GoogleUpdate.exe /ua /installsource scheduler
\Microsoft\Microsoft Antimalware\Microsoft Antimalware Scheduled Scan c:\Program Files\Microsoft Security Client\\MpCmdRun.exe Scan -ScheduleJob -RestrictPrivileges
\Microsoft\Windows\Active Directory Rights Management Services Client\AD RMS Rights Policy Template Management (Automated) COM handler
\Microsoft\Windows\Active Directory Rights Management Services Client\AD RMS Rights Policy Template Management (Automated) COM handler
\Microsoft\Windows\Active Directory Rights Management Services Client\AD RMS Rights Policy Template Management (Manual) COM handler
\Microsoft\Windows\Autochk\Proxy %windir%\system32\rundll32.exe /d acproxy.dll,PerformAutochkOperations
Пакетный скрипт Все
@ECHO ON
SET RptFile=C:\Folder\Path\TaskSchedReport.txt
SET TmpPSScript=%Temp%\~tmpScheduleTasks.ps1
IF EXIST "%TmpPSScript%" DEL /Q /F "%TmpPSScript%"
ECHO schtasks /query /v /fo csv ^| ConvertFrom-CSV ^| >> "%TmpPSScript%"
ECHO Where {$_.TaskName -notcontains "TaskName"} ^| >> "%TmpPSScript%"
ECHO Out-File "%RptFile%" -Width 256 >> "%TmpPSScript%"
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%TmpPSScript%'"
:: -- Below will open file to view content with the default text editor
explorer.exe "%RptFile%"
EXIT
Родной PowerShell Explicit
В качестве бонуса я включил прямой синтаксис PowerShell, который вы можете использовать для просмотра результатов. Тест с и без без | FL
и сравнить результаты.
schtasks /query /v /fo csv | ConvertFrom-CSV |
Select -Property "TaskName","Task To Run" |
Where {$_.TaskName -notcontains "TaskName"} | FL
Родной PowerShell Все
schtasks /query /v /fo csv | ConvertFrom-CSV |
Where {$_.TaskName -notcontains "TaskName"} | FL
Дополнительные ресурсы