Передача параметра действия в SchTasks в Macro VBA - PullRequest
2 голосов
/ 14 июня 2019

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

strCommand = "schtasks /create /tn HasanChTesst /tr PowerShell.exe /sc weekly /d wed /st 13:00:00"
Set WsShell = CreateObject("WScript.Shell")
WsShell.Run (strCommand)

Я попытался добавить параметры рядом с powershell следующим образом, и я получаю сообщение об ошибке компиляции

strCommand = "schtasks /create /tn HasanChTesst /tr "PowerShell.exe Out-File Hello.txt"  /sc weekly /d wed /st 13:00:00"
Set WsShell = CreateObject("WScript.Shell")
WsShell.Run (strCommand)

У кого-нибудь есть идеи, как это сделать?

Спасибо

Примечание: я знаю, что могу запускать powershell напрямую ... однако я хочу запустить планировщик задач и позволить планировщику запустить мой powershell с параметрами.

1 Ответ

2 голосов
/ 14 июня 2019

Не пытайтесь делать это дома ... Смотри ниже, почему: :

Использование двойных кавычек - "" необходимо, чтобы избежать одиночной кавычки ":

Sub WithParams()

    Dim command As String
    Dim wsShell As Object

    command = "schtasks /create /tn HasanChTesst /tr ""PowerShell.exe Out-File Hello.txt""  /sc weekly /d wed /st 13:00:00"
    Set wsShell = CreateObject("WScript.Shell")
    wsShell.Run (command)

End Sub

Потому что тогда вам понадобится:

А для того, чтобы удалить задачу из запланированных задач, вот код:

Sub RemoveTask()

    Dim wsShell As Object
    Set wsShell = CreateObject("WScript.Shell")
    wsShell.Run ("powershell -noexit Unregister-ScheduledTask -TaskName ""HasanChTesst""")

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...