Dowiedz się, jak tworzyć zaplanowane zadania za pomocą PowerShell

Niemal każdy administrator systemu ma do czynienia z zaplanowanymi zadaniami. Są one niewiarygodnie pomocne, aby wykonać coś w oparciu o różne wyzwalacze, ale wymagają dużo ręcznego wysiłku, aby skonfigurować je poprawnie.

Zaletą zaplanowanych zadań jest to, że można zbudować jeden z głębokim poziomie wyrafinowania z opcji wyzwalaczy i różnych kontekstów bezpieczeństwa. Jednak tam, gdzie króluje złożoność, mogą pojawić się błędy w konfiguracji. Podczas tworzenia skryptów automatyzacji można utworzyć zaplanowane zadanie za pomocą PowerShell, aby ułatwić ten proces. Użycie PowerShell pomaga ustandaryzować zarządzanie i konfigurację skomplikowanych zadań zaplanowanych, co pozwala uniknąć błędów wynikających z ręcznego wprowadzania danych.

Buduj akcję zadania zaplanowanego

W minimalnym zakresie zadanie zaplanowane ma akcję, wyzwalacz i grupę powiązanych ustawień. Po utworzeniu zadania należy je również zarejestrować w systemie. Aby utworzyć pojedyncze zaplanowane zadanie, należy wykonać każdą czynność osobno.

Aby utworzyć akcję, należy użyć cmdletu New-ScheduledTaskAction, który określa polecenie do uruchomienia. Utwórzmy akcję, która będzie trochę meta i wywoła skrypt PowerShell.

Poniższe polecenie stanowi przykład wywołania silnika PowerShell i przekazania do niego skryptu przy użyciu wszystkich odpowiednich przełączników wiersza polecenia, aby skrypt był uruchamiany nieinteraktywnie. Plik skryptu znajduje się na maszynie, na której będzie uruchamiane zaplanowane zadanie.

$Action = New-ScheduledTaskAction -Execute 'pwsh.exe' -Argument '-NonInteractive -NoLogo -NoProfile -File "C:\MyScript.ps1"'

Utwórz wyzwalacz

Następnie potrzebny jest wyzwalacz. Masz do wyboru kilka wartości, ale w tym zadaniu użyjemy określonego czasu – 3 rano – do jednorazowego wykonania tego skryptu. Aby uzyskać pełną listę opcji, sprawdź stronę pomocy cmdletu New-ScheduledTaskTrigger.

$Trigger = New-ScheduledTaskTrigger -Once -At 3am

Utwórz ustawienia

Następnie utwórz zaplanowane zadanie za pomocą polecenia New-ScheduledTask. To polecenie wymaga podania wartości parametru Settings, nawet jeśli nie używasz żadnych specjalnych. Dlatego uruchamiasz polecenie New-ScheduledTaskSettingsSet, aby utworzyć obiekt do przekazania w tym miejscu.

$Settings = New-ScheduledTaskSettingsSet

Twórz zaplanowane zadanie

Po przypisaniu wszystkich obiektów jako zmiennych, przekaż każdą z tych zmiennych do polecenia New-ScheduledTask, aby utworzyć obiekt zaplanowanego zadania.

$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings

Zarejestruj zaplanowane zadanie

W tym momencie utworzyłeś obiekt zaplanowanego zadania w pamięci. Aby dodać zaplanowane zadanie na komputerze, należy je zarejestrować za pomocą cmdletu Register-ScheduledTask.

Poniższy przykład rejestruje zaplanowane zadanie do uruchomienia pod określoną nazwą użytkownika. Aby uruchomić zadanie w kontekście określonego użytkownika, należy podać jego hasło. Warto zajrzeć do dokumentacji polecenia Register-ScheduledTask, aby zobaczyć wszystkie opcje, których można użyć z tym cmdletem.

Register-ScheduledTask -TaskName 'My PowerShell Script' -InputObject $Task -User 'username' -Password 'passhere'

Jeśli wykonałeś wszystkie kroki poprawnie, powinieneś zobaczyć nowo utworzone zaplanowane zadanie w Harmonogramie zadań.

ustawienia zaplanowanego zadania
Po utworzeniu zaplanowanego zadania za pomocą PowerShell można otworzyć Harmonogram zadań, aby zobaczyć nazwę zadania, jego wyzwalacze i inne szczegóły.

Po zarejestrowaniu zaplanowanego zadania i wyświetleniu go w Task Scheduler, można teraz uruchomić cmdlet Get-ScheduledTask, aby zobaczyć zadanie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.