Listing 1: Anlegen des Scheduled Tasks $taskName = "RunAzADRecon" # Name des geplanten Tasks $taskDescription = "Führt AzureADRecon jede Nacht um 3 Uhr aus." $scriptPath = "C:\code\runazadrecon.ps1" # Pfad zum auszuführenden PowerShell-Skript # Definition der Trigger, die den Task ausführen $trigger = News-ScheduledTaskTrigger -Daily -At "03:00AM" # Aktion definieren, die der Task ausführen soll $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -WindowStyle Hidden -File $scriptPath" # Optional: Einstellungen des Tasks definieren $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable # Neuen Task registrieren $registerParameters = @{ TaskName = $taskParameters.TaskName Description = $taskParameters.Description Trigger = $trigger Action = $action Settings = $settings } Register-ScheduledTask @registerParameters Listing 2: Skript "runazadrecon.ps1" # Anmeldedaten hinterlegen $mail = "" $pass = "" $outputDir = "" # Ort, an dem die Reports gespeichert werden $parameters = @{ Credential = New-Object System.Management.Automation.PSCredential ( $mail, (ConvertTo-SecureString $pass -AsPlainText -Force) ) OutputDir = $outputDir } # Aufruf des Skripts mit Splatting C:\Scripts\AzureADRecon.ps1 @parameters