Как можно использовать PowerShell для создания задачи в планировщике задач Windows от имени системы?

У меня есть функция, которая создает задачу в планировщике Windows, но она запускается от имени пользователя. В результате выполнения скрипта открывается окно, тогда как я хотел бы, чтобы задача выполнялась скрыто (не сворачиваясь). Каждый раз мне приходится запускать скрипт, затем вручную изменять настройки задачи в планировщике на запуск от имени системы и только после этого запускать её. 

Я установил aria2 с помощью команды:  
```winget install aria2.aria2```  

Есть ли другой способ запустить aria2rpc без необходимости изменять настройки в планировщике?
  • 19 февраля 2025 г. 18:54
Ответы на вопрос 2
Да, в PowerShell вы можете создавать задачи в планировщике, которые будут запускаться от имени системной учетной записи. Для этого вам необходимо использовать параметр `-User` с указанием имени пользователя, который соответствует системной учетной записи, то есть `SYSTEM`. 

Для создания задачи, которая будет выполняться от имени системы, вы можете использовать следующую команду:

```powershell
$Action = New-ScheduledTaskAction -Execute "C:\Path\To\Your\Executable.exe" 
$Trigger = New-ScheduledTaskTrigger -AtStartup
$Principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Principal $Principal -Settings (New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable)

Register-ScheduledTask -TaskName "YourTaskName" -InputObject $Task
```

В этом коде:

- Замените `C:\Path\To\Your\Executable.exe` на путь к исполняемому файлу Aria2 или скрипту, который вы хотите запустить.
- Если вы хотите, чтобы задача запускалась автоматически при запуске системы, используйте триггер `-AtStartup`. В противном случае, вы можете выбрать другой триггер, который соответствует вашим требованиям.

После выполнения этого кода, задача будет создана в планировщике и будет запускаться от имени системной учетной записи без необходимости дальнейших манипуляций. 

Также убедитесь, что у вас есть права администратора на выполнение PowerShell и создание задач в планировщике задач. 

Теперь задача будет выполняться автоматически в фоновом режиме, и окно не будет открываться.
Если вас беспокоят окна и нужно от системы - нужно srv2any или Firedaemon доставать, а не с планировщиком заниматься.
Похожие вопросы