J'utilise Powershell pour parler au service du planificateur de tâches de Windows 7 via COM à travers le Task Scheduler 2.0 interfaces (par exemple ITaskDefinition). Je veux retirer un déclencheur particulier de la collection Triggers sur ITaskDefinition. Il semble que la méthode correcte pour extraire un déclencheur particulier passe par la propriété Item, qui est une propriété indexée.Comment accéder à une propriété indexée sur un objet COM de Powershell
Mon premier essai ressemble à ceci:
$sched = New-Object -Com "Schedule.Service"
$sched.Connect()
$folder = $sched.GetFolder('\')
$task = $folder.GetTask("some task")
$triggers = $task.Definition.Triggers
$trigger = $triggers[0]
Cependant, la dernière ligne échoue avec ce message:
Unable to index into an object of type System.__ComObject.
J'ai essayé d'autres variations sur ce thème, par exemple $triggers.Item(0)
, tous sans chance. Je devine que cela a à voir avec $trigger
étant un objet COM, parce que je pense que les propriétés indexées fonctionnent bien sur d'autres types.
Est-ce que quelqu'un sait la bonne façon de le faire?
Merci, cela semble fonctionner aussi. Espérant toujours que quelqu'un connaisse un moyen plus direct, cependant. – Charlie
Oui, ça m'embête maintenant. :-) –
Vous savez, le long de cette même note ce qui suit semble fonctionner: foreach (déclencheur $ en task.Definition.Triggers $) {trigger $} –