私はpowershellを使用して、Task Scheduler 2.0 interfaces(例:ITaskDefinition)を通じてCOMを介してWindows 7タスクスケジューラサービスと通信しています。私はITaskDefinitionのTriggersコレクションから特定のトリガーを取り出したいと思います。特定のトリガを抽出する適切な方法は、インデックス付きプロパティであるItemプロパティを使用しているようです。PowershellからCOMオブジェクトのインデックス付きプロパティにアクセスする方法
私の最初の試みは、このようなものになります。私は、例えば、このテーマにいくつかの他のバリエーションを試してみた
Unable to index into an object of type System.__ComObject.
:
$sched = New-Object -Com "Schedule.Service"
$sched.Connect()
$folder = $sched.GetFolder('\')
$task = $folder.GetTask("some task")
$triggers = $task.Definition.Triggers
$trigger = $triggers[0]
しかし、最後の行は、このメッセージで失敗します$triggers.Item(0)
、すべて運がありません。これは、COMオブジェクトである$trigger
と関係があります。なぜなら、インデックス付きのプロパティは他の型でうまく動作するからだと思います。
これを行う正しい方法を知っている人はいますか?
ありがとう、これも動作するようです。しかし、誰かがもっと直接的な方法を知っていることをまだ望んでいる。 – Charlie
これは今私を悩ましています。あなたが知っている –
:-)、これと同じに沿って次の点に注意して動作するようです: foreachの($ task.Definition.Triggersで$トリガ){$トリガー} –