Auteur de questions
Script pour import tache planifiées

Question
-
Bonjour,
Je tente d'importer une tâche planifiée en powershell. L'import fonctionne bien mais j'aimerais que l'option "N’exécuter que si un utilisateur a ouvert une session" soit cocher. Hors, ce script me coche systématiquement "Exécuter même si aucun utilisateur n'a ouvert de session" :
$task_path = "\\srv01\tache.xml"
$task_user = "domain\user"
$task_pass = "pwd"
$sch = New-Object -ComObject("Schedule.Service")
$sch.connect("localhost")
$folder = $sch.GetFolder("\")
Get-Item $task_path | %{
$task_name = $_.Name.Replace('.xml', '')
$task_xml = Get-Content $_.FullName
$task = $sch.NewTask($null)
$task.XmlText = $task_xml
$folder.RegisterTaskDefinition($task_name, $task, 6, $task_user, $task_pass, 1, $null)Pouvez-vous m'aider à comprendre ce qu'il faut inserer dans ce script pour avoir l'option N’exécuter que si un utilisateur a ouvert une session ?
D'avance merci
Toutes les réponses
-
-
Bonjour,
Vous utilisez la méthode
RegisterTaskDefinition
et avez mis un task_logon_type à 1 qui signifie "utiliser le mot de passe fourni pour logguer l'utilisateur".
Vous fournissez aussi un userid et mot de passe qui fait que ce qui est dans le fichier xml est ignoré.
Voir https://msdn.microsoft.com/en-us/library/windows/desktop/aa381365(v=vs.85).aspx
Si vous avez un Windows récent, vous avez sans doute accès au module ScheduledTasks et PSScheduledJob.
Pourquoi ne pas utiliser les cmdlets fournis par ce(s) module(s)?
-