PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /opt/puppetlabs/puppet/vendor_modules/scheduled_task/readmes/
Server: Linux server1.ngambekcore.com 4.18.0-553.51.1.el8_10.x86_64 #1 SMP Wed Apr 30 04:00:07 EDT 2025 x86_64
IP: 159.198.77.92
Choose File :

Url:
Dir : //opt/puppetlabs/puppet/vendor_modules/scheduled_task/readmes/README_ja_JP.md

# scheduled_task

#### 目次

1. [説明](#description)
2. [セットアップ - scheduled_taskå°Žå…¥ã®åŸºæœ¬](#setup)
    * [scheduled_taskモジュールãŒå½±éŸ¿ã‚’与ãˆã‚‹ã‚‚ã®:](#what-scheduled_task-affects)
    * [セットアップè¦ä»¶](#setup-requirements)
    * [scheduled_taskモジュールã®åˆ©ç”¨æ–¹æ³•](#beginning-with-scheduled_task)
3. [使用 - 設定オプションã¨è¿½åŠ æ©Ÿèƒ½](#usage)
4. [å‚考 - ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã®æ©Ÿèƒ½ã¨å‹•作ã«ã¤ã„ã¦](#reference)
5. [制約 - OSäº’æ›æ€§ãªã©](#limitations)
6. [開発 - モジュール貢献ã«ã¤ã„ã¦ã®ã‚¬ã‚¤ãƒ‰](#development)

## 説明

ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€ã‚¿ã‚¹ã‚¯ç®¡ç†ã«æœ€æ–°ã®Version 2 Windows APIを使用ã§ãã‚‹æ–°ã—ã„[scheduled_task](https://puppet.com/docs/puppet/latest/types/scheduled_task.html)プロãƒã‚¤ãƒ€ã‚’追加ã™ã‚‹ã‚‚ã®ã§ã™ã€‚
æ—§ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®APIã¯æ”¹è‰¯ç‚¹ã‚„新機能をå—ã‘ã¨ã‚Œãªã„ãŸã‚ã€Windows上ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ã«æ”¹è‰¯ç‚¹ã‚’利用ã—ãŸã„å ´åˆã¯ã€V2 APIを使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

## セットアップ

### scheduled_taskモジュールã®åˆ©ç”¨æ–¹æ³•

scheduled_taskモジュールã¯ã€Puppet [scheduled_task](https://puppet.com/docs/puppet/latest/types/scheduled_task.html)リソースをé©å¿œã•ã›ã€æœ€æ–°APIを用ã„ã¦å®Ÿè¡Œã™ã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚
使用を開始ã™ã‚‹ã«ã¯ã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’インストールã—ã¾ã™ã€‚インストールã™ã‚‹ã¨ã€æ—¢å­˜ã®`scheduled_task`リソースãŒ**デフォルトã§**V2 APIを使用ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
æ—§ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®APIã®ãƒ—ロãƒã‚¤ãƒ€ã®ä½¿ç”¨ã‚’継続ã—ãŸã„å ´åˆã¯ã€ãƒžãƒ‹ãƒ•ェストã§ãれを宣言ã™ã‚‹_å¿…è¦_ãŒã‚りã¾ã™ã€‚
例ãˆã°ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚

~~~ puppet
scheduled_task { 'Run Notepad':
  command  => "notepad.exe",
  ...
  provider => 'win32_taskscheduler',
}
~~~

## 使用

スケジュールã•れãŸã‚¿ã‚¹ã‚¯ã¯é€šå¸¸ã€ã‚¹ã‚¯ãƒªãƒ—トを1回ã¾ãŸã¯å®šæœŸçš„ã«é–‹å§‹ã™ã‚‹ãŸã‚ã«ç”¨ã„られã¾ã™ã€‚
ã“ã®æœ€åˆã®ä¾‹ã§ã¯ã€ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—スクリプトを1回ã ã‘実行ã™ã‚‹ã‚ˆã†ã«ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã—ã¾ã™ã€‚

~~~ puppet
scheduled_task { 'Disk Cleanup': # Unique name for the scheduled task
  command   => "$::system32\\WindowsPowerShell\\v1.0\\powershell.exe",
  arguments => '-File "C:\\Scripts\\Clear-DiskSpace.ps1"',
  enabled   => 'true',           # This is the default, but including it is good practice. Flip to 'false' to disable the task.
  trigger   => [{
    schedule   => 'once',        # Defines the trigger type; required.
    start_time => '23:20',       # Defines the time the task should run; required.
    start_date => '2018-01-01'   # Defaults to the current date; not required.
  }],
}
~~~

クリーンアップスクリプトを毎晩実行ã™ã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã¯ã€ãƒ‡ã‚¤ãƒªãƒ¼ãƒˆãƒªã‚¬ãƒ¼ã‚’使用ã§ãã¾ã™ã€‚
トリガースケジュールを`once`ã‹ã‚‰`daily`ã«å¤‰æ›´ã™ã‚‹ã ã‘ã§è¨­å®šã§ãã¾ã™ã€‚
`start_date`をトリガーã‹ã‚‰å‰Šé™¤ã—ãŸã“ã¨ã«æ³¨ç›®ã—ã¦ãã ã•ã„。ã“れã¯ã€ã“ã®ã‚¿ã‚¹ã‚¯ã«ã¯ä¸è¦ã§ã€é‡è¦ã§ã‚‚ã‚りã¾ã›ã‚“。

~~~ puppet
scheduled_task { 'Disk Cleanup Nightly':
  command   => "$::system32\\WindowsPowerShell\\v1.0\\powershell.exe",
  arguments => '-File "C:\\Scripts\\Clear-DiskSpace.ps1"',
  enabled   => 'true',
  trigger   => [{
    schedule   => 'daily',
    start_time => '23:20'
  }],
}
~~~

設定ã—ãŸã‚¿ã‚¤ãƒ ãƒ–ãƒ­ãƒƒã‚¯ã®æœŸé–“中ã«ã€ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ãŒç¹°ã‚Šè¿”ã•れるよã†ã«è¨­å®šã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
ã¾ãŸã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—スクリプトã®ä¾‹ã‚’使ã†ã¨ã€ã“ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ã¯æ¯Žæ—¥åŒã˜æ™‚é–“ã«é–‹å§‹ã•ã‚Œã€æœ7時ã‹ã‚‰å¤œ7時ã¾ã§ã®é–“ã€1時間ã«1回ã€SYSTEMアカウントã¨ã—ã¦å®Ÿè¡Œã•れã¾ã™ã€‚

~~~ puppet
scheduled_task { 'Disk Cleanup Daily Repeating':
  ensure    => 'present',
  command   => "$::system32\\WindowsPowerShell\\v1.0\\powershell.exe",
  arguments => '-File "C:\\Scripts\\Clear-DiskSpace.ps1"',
  enabled   => 'true',
  trigger   => [{
    'schedule'         => 'daily',
    'start_time'       => '07:00',
    'minutes_duration' => '720',   # Specifies the length of time, in minutes, the task is active
    'minutes_interval' => '60'     # Causes the task to run every hour
  }],
  user      => 'system',           # Specifies the account to run the task as
}
~~~

ã“ã®ã‚¿ã‚¹ã‚¯ã®æ¬ ç‚¹ã¯ã€ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã‚¹ã‚¯ãƒªãƒ—ãƒˆãŒæ¯Žæ—¥å®Ÿè¡Œã•れるãŸã‚ã€æ´»å‹•ãŒè¡Œã‚れãªã„週末ã«ã‚‚実行ã•れるã“ã¨ã§ã™ã€‚
ã‹ã‚りã«ã‚¦ã‚£ãƒ¼ã‚¯ãƒªãƒ¼ãƒˆãƒªã‚¬ãƒ¼ã‚’使ãˆã°ã€ã“ã®ç‚¹ã‚’修正ã§ãã¾ã™ã€‚

~~~puppet
scheduled_task { 'Disk Cleanup Weekly Repeating':
  ensure    => 'present',
  command   => "$::system32\\WindowsPowerShell\\v1.0\\powershell.exe",
  arguments => '-File "C:\\Scripts\\Clear-DiskSpace.ps1"',
  enabled   => 'true',
  trigger   => [{
    'schedule'         => 'weekly',
    'start_time'       => '07:00',
    'day_of_week'      => ['mon', 'tues', 'wed', 'thu', 'fri'], # Note the absence of Sunday and Monday
    'minutes_interval' => '60',
    'minutes_duration' => '720'
  }],
  user      => 'system',
}
~~~

åŒæ§˜ã«ã€ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—スクリプトをãれã»ã©é »ç¹ã«å®Ÿè¡Œã™ã‚‹å¿…è¦ãŒãªã„å ´åˆã‚„ã€ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—スクリプトãŒç‰¹ã«ãƒªã‚½ãƒ¼ã‚¹ã‚’消費ã™ã‚‹å ´åˆã¯ã€æ¯Žæœˆ1回実行ã•れるよã†ã«ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
以下ã®ä¾‹ã§ã¯ã€æ¯Žæœˆæœ€åˆã®æ—¥ã®07:00ã«ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ã‚’実行ã™ã‚‹ã‚ˆã†ã«è¨­å®šã—ã¦ã„ã¾ã™ã€‚

~~~puppet
scheduled_task { 'Disk Cleanup Monthly First Day':
  ensure    => 'present',
  command   => "$::system32\\WindowsPowerShell\\v1.0\\powershell.exe",
  arguments => '-File "C:\\Scripts\\Clear-DiskSpace.ps1"',
  enabled   => 'true',
  trigger   => [{
    'schedule'   => 'monthly',
    'start_time' => '07:00',
    'on'         => [1]        # Run every month on the first day of the month.
  }],
  user      => 'system',
}
~~~

上述ã®ãƒžãƒ³ã‚¹ãƒªãƒ¼ãƒˆãƒªã‚¬ãƒ¼ã§ã¯ã€æ¯Žæœˆæœ€åˆã®æ—¥ãŒé€±æœ«ã ã¨ã„ã†ä¿è¨¼ã¯ã‚りã¾ã›ã‚“。
ãã®ãŸã‚ã€ã‚¹ã‚¯ãƒªãƒ—トãŒå°±æ¥­æ™‚間中ã«å®Ÿè¡Œã•れã€ç”Ÿç”£æ€§ã«å½±éŸ¿ã‚’与ãˆã‚‹å¯èƒ½æ€§ãŒã‹ãªã‚Šã‚りã¾ã™ã€‚
毎月最åˆã®æ—¥ã®ã‹ã‚りã«ã€æ¯Žæœˆæœ€åˆã®åœŸæ›œæ—¥ã«ã‚¿ã‚¹ã‚¯ã‚’実行ã™ã‚‹ã‚ˆã†ã«ãƒˆãƒªã‚¬ãƒ¼ã‚’指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚

~~~puppet
scheduled_task { 'Disk Cleanup Monthly First Saturday':
  ensure    => 'present',
  command   => "$::system32\\WindowsPowerShell\\v1.0\\powershell.exe",
  arguments => '-File "C:\\Scripts\\Clear-DiskSpace.ps1"',
  enabled   => 'true',
  trigger   => [{
    'schedule'        => 'monthly',
    'start_time'      => '07:00',
    'day_of_week'     => 'sat',     # Specify the day of the week to trigger on
    'which_occurence' => 'first'    # Specify which occurance to trigger on, up to fifth
  }],
  user      => 'system',
}
~~~

コンピュータを起動ã™ã‚‹ãŸã³ã«æ¯Žå›žã‚¿ã‚¹ã‚¯ã‚’実施ã—ãŸã„ケースもã‚ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。

~~~puppet
scheduled_task { 'Disk Cleanup On Restart':
  ensure        => 'present',
  compatibility => 2,
  command       => "$::system32\\WindowsPowerShell\\v1.0\\powershell.exe",
  arguments     => '-File "C:\\Scripts\\Clear-DiskSpace.ps1"',
  enabled       => 'true',
  trigger       => [{
    'schedule'  => 'boot',
    'minutes_interval' => '60',
    'minutes_duration' => '720'
  }],
  user          => 'system',
}
~~~
* 注æ„: `minutes_duration`ã‚„`minutes_interval`ãªã©ã®æœŸé–“属性ã¯ã€`boot`トリガーã§ã¯`compatibility => 2`ä»¥ä¸Šã§æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚Windowsã§ã¯ã€ã“ã®ã‚ªãƒ—ションã¯ã€äº’æ›æ€§ãŒæŒ‡å®šã•れã¦ã„ãªã„å ´åˆã«ãƒ‡ãƒ•ォルトã«ãªã‚‹ã€ŒWindows XPã¾ãŸã¯Windows Server 2003コンピュータã€äº’æ›æ€§ãƒ¬ãƒ™ãƒ«ã§ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。

ログオン時ã«ã‚¿ã‚¹ã‚¯ã‚’実行ã—ãŸã„å ´åˆã¯ã€`logon`トリガーを使用ã—ã¾ã™ã€‚

~~~puppet
scheduled_task { 'example_notepad':
  compatibility => 2,
  command       => 'C:\\Windows\\System32\\notepad.exe',
  trigger       => [{
    schedule => 'logon',
    user_id  => 'MyDomain\\SomeUser'
  }],
}
~~~

## リファレンス

### プロãƒã‚¤ãƒ€

* win32_taskscheduler: ã“ã®ãƒ¬ã‚¬ã‚·ãƒ¼ãƒ—ロãƒã‚¤ãƒ€ã¯ã€ãƒ¬ã‚¬ã‚·ãƒ¼APIを模倣ã™ã‚‹Windowsã§ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ã‚’管ç†ã—ã¾ã™ã€‚
* taskscheduler_api2: Puppet scheduled_taskãƒªã‚½ãƒ¼ã‚¹ã‚’ã€æœ€æ–°ã®Version 2 APIを使用ã™ã‚‹ã‚ˆã†ã«é©å¿œã•ã›ã¾ã™ã€‚

### タイプ

#### scheduled_task

Windows Scheduled Taskをインストールã—ã¦ç®¡ç†ã—ã¾ã™ã€‚
`name`ã€`command`ã€`trigger`を除ãã™ã¹ã¦ã®å±žæ€§ã¯ã‚ªãƒ—ションã§ã™ã€‚ スケジュール設定ã®è©³ç´°ã¯ã€[`trigger`](#trigger)属性ã®èª¬æ˜Žã‚’å‚ç…§ã—ã¦ãã ã•ã„。

##### `name`

スケジュールã•れãŸã‚¿ã‚¹ã‚¯ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸåå‰ã€‚
システム上ã®ã‚¿ã‚¹ã‚¯ã‚’一æ„çš„ã«ç‰¹å®šã—ã¾ã™ã€‚

##### `ensure`

リソースã®åŸºæœ¬çš„ãªãƒ—ロパティ。

有効ãªå€¤ã¯`present`ã€`absent`ã§ã™ã€‚

##### `arguments`

ã‚³ãƒžãƒ³ãƒ‰ã«æ¸¡ã•れるã¹ã引数ã¾ãŸã¯ãƒ•ラグ。
複数ã®å¼•æ•°ã¯ã€ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸæ–‡å­—列ã¨ã—ã¦æŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

##### `command`

実行ã™ã‚‹ã‚¢ãƒ—リケーションã®ãƒ•ルパスを引数ãªã—ã§æŒ‡å®šã—ã¾ã™ã€‚

##### `enabled`

ã“ã®ã‚¿ã‚¹ã‚¯ã®ãƒˆãƒªã‚¬ãƒ¼ã‚’有効ã«ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
ã“ã®å±žæ€§ã¯ã€ã‚¿ã‚¹ã‚¯ã®ã™ã¹ã¦ã®ãƒˆãƒªã‚¬ãƒ¼ã«å½±éŸ¿ã‚’与ãˆã¾ã™ã€‚複数ã®ãƒˆãƒªã‚¬ãƒ¼ã‚’å€‹åˆ¥ã«æœ‰åйã¾ãŸã¯ç„¡åйã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。

有効ãªå€¤ï¼š`true`ã€`false`。

##### `password`

'user'å±žæ€§ã§æŒ‡å®šã•れãŸãƒ¦ãƒ¼ã‚¶ã®ãƒ‘スワード。
'SYSTEM'以外ã®ãƒ¦ãƒ¼ã‚¶ã‚’指定ã™ã‚‹å ´åˆã«ã®ã¿ä½¿ç”¨ã•れã¾ã™ã€‚
ã“ã®ãƒ‘ラメータã¯ã€ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ãŒåŒæœŸã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’決定ã™ã‚‹ãŸã‚ã«ã¯ä½¿ç”¨ã•れã¾ã›ã‚“。ã“れã¯ã€ã‚¿ã‚¹ã‚¯ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆæƒ…報を設定ã™ã‚‹ãŸã‚ã«ç”¨ã„ã‚‰ã‚Œã‚‹ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’æŽ¢ã™æ–¹æ³•ãŒãªã„ãŸã‚ã§ã™ã€‚

##### `compatibility`

ã“ã®ãƒ—ロãƒã‚¤ãƒ€æ©Ÿèƒ½ã¯ã€`taskscheduler_api2`プロãƒã‚¤ãƒ€ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚

タスクã«é–¢é€£ã™ã‚‹äº’æ›æ€§ãƒ¬ãƒ™ãƒ«ã€‚
下ä½äº’æ›æ€§ã®ãƒ‡ãƒ•ォルト値ã¯1ã§ã™ã€‚
以下ã®ã‚ˆã†ã«è¨­å®šã§ãã¾ã™ã€‚

- `1`: Windows XPã¾ãŸã¯Windows Server 2003コンピュータ上ã®ã‚¿ã‚¹ã‚¯ã¨ã®äº’æ›æ€§ã€‚
- `2`: Windows 2008コンピュータ上ã®ã‚¿ã‚¹ã‚¯ã¨ã®äº’æ›æ€§ã€‚
- `3`: Windows 7ãŠã‚ˆã³2008R2ã§å°Žå…¥ã•れãŸã‚¿ã‚¹ã‚¯ã®æ–°æ©Ÿèƒ½ã¨ã®äº’æ›æ€§ã€‚
- `4`: Windows 8ã€Server 2012R2ã€Server 2016ã§å°Žå…¥ã•れãŸã‚¿ã‚¹ã‚¯ã®æ–°æ©Ÿèƒ½ã¨ã®äº’æ›æ€§ã€‚
- `6`: Windows 10ã§å°Žå…¥ã•れãŸã‚¿ã‚¹ã‚¯ã®æ–°æ©Ÿèƒ½ã¨ã®äº’æ›æ€§ã€‚
  - **注æ„:** ã“ã®äº’æ›æ€§è¨­å®šã¯æ–‡æ›¸åŒ–ã•れã¦ã„ãªã„ãŸã‚ã€ä½¿ç”¨ã—ãªã„ã“ã¨ã‚’推奨ã—ã¾ã™ã€‚

詳細ã«ã¤ã„ã¦ã¯ã€[å„種ã®äº’æ›æ€§ãƒ¬ãƒ™ãƒ«ã¨ãã®é•ã„ã«é–¢ã™ã‚‹Microsoftã®æ–‡æ›¸](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384138\(v=vs.85\).aspx)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

##### `provider`

ã“ã®scheduled_taskリソースã«é–¢ã—ã¦ä½¿ç”¨ã™ã‚‹ç‰¹å®šã®ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã€‚
ã“ã®æŒ‡å®šãŒå¿…è¦ã«ãªã‚‹ã“ã¨ã¯ã‚ã£ãŸã«ã‚りã¾ã›ã‚“。通常ã¯ã€PuppetãŒãŠä½¿ã„ã®ãƒ—ラットフォームã«é©ã—ãŸãƒ—ロãƒã‚¤ãƒ€ã‚’見ã¤ã‘ã¾ã™ã€‚

使用å¯èƒ½ãªãƒ—ロãƒã‚¤ãƒ€ã¯ä»¥ä¸‹ã®ã¨ãŠã‚Šã§ã™ã€‚

###### win32_taskscheduler

ã“ã®ãƒ¬ã‚¬ã‚·ãƒ¼ãƒ—ロãƒã‚¤ãƒ€ã¯ã€v2 apiを使ã£ã¦Windows上ã§ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ã‚’管ç†ã—ã¾ã™ãŒã€äº’æ›æ€§ãƒ¬ãƒ™ãƒ«ãŒ1ã«è¨­å®šã•れã¦ã„るスケジュールã•れãŸã‚¿ã‚¹ã‚¯ã®ã¿ã‚’管ç†ã—ã¾ã™(Windows XPã¾ãŸã¯Windows Server 2003)。
下ä½äº’æ›æ€§ã‚¢ãƒƒãƒ—デートã§ã€Puppetコアã®åŒåã®ãƒ—ロãƒã‚¤ãƒ€ã¨ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

###### taskscheduler_api2

ã“ã®ãƒ—ロãƒã‚¤ãƒ€ã¯ã€v2 apiを使ã£ã¦Windows上ã§ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ã‚’管ç†ã—ã¾ã™ã€‚ã‚ã‚‰ã‚†ã‚‹äº’æ›æ€§ãƒ¬ãƒ™ãƒ«ã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•れãŸã‚¿ã‚¹ã‚¯ã‚’管ç†ã§ãã¾ã™ã€‚

* `operatingsystem` == `windows`ã®ãƒ‡ãƒ•ォルト。

##### `trigger`

タスクを実行ã™ã¹ãã¨ãを決定ã™ã‚‹1ã¤ã¾ãŸã¯è¤‡æ•°ã®ãƒˆãƒªã‚¬ãƒ¼ã€‚
1ã¤ã®ãƒˆãƒªã‚¬ãƒ¼ã¯ãƒãƒƒã‚·ãƒ¥ã¨ã—ã¦è¡¨ã•れã¾ã™ã€‚複数ã®ãƒˆãƒªã‚¬ãƒ¼ã¯ãƒãƒƒã‚·ãƒ¥ã®é…åˆ—ã§æŒ‡å®šã§ãã¾ã™ã€‚

トリガーã«ã¯ä»¥ä¸‹ã®ã‚­ãƒ¼ã‚’å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

ã™ã¹ã¦ã®ãƒˆãƒªã‚¬ãƒ¼:

* `schedule` (å¿…é ˆ) — トリガーã®ç¨®é¡žã€‚
  有効ãªå€¤ã¯`daily`ã€`weekly`ã€`monthly`ã€`once`ã€`boot`ã€`logon`ã§ã™ã€‚
  ãれãžã‚Œã®ç¨®é¡žã®ãƒˆãƒªã‚¬ãƒ¼ã¯ã€ç•°ãªã‚‹ã‚­ãƒ¼ã‚»ãƒƒãƒˆã«ã‚ˆã‚Šè¨­å®šã—ã¾ã™ã€‚以下ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’å‚ç…§ã—ã¦ãã ã•ã„(onceトリガーã«ã¯é–‹å§‹æ™‚é–“/日付ãŒå¿…è¦ã§ã™)。
* `start_time` (`boot`以外ã§ã¯å¿…é ˆ) — ãƒˆãƒªã‚¬ãƒ¼ãŒæœ€åˆã«ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ãªã‚‹ã¹ãæ—¥ã®æ™‚間。
  è¤‡æ•°ã®æ™‚間フォーマットを使用ã§ãã¾ã™ãŒã€24時間ã®HH:MMフォーマットを推奨ã—ã¾ã™ã€‚
* `start_date` — ãƒˆãƒªã‚¬ãƒ¼ãŒæœ€åˆã«ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ãªã‚‹ã¹ã日付。
  デフォルト値ã¯ç¾åœ¨ã®æ—¥ä»˜ã§ã™ã€‚
  YYYY-MM-DDã®ãƒ•ォーマットã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ãŒã€åˆ¥ã®æ—¥ä»˜ãƒ•ォーマットã§ã‚‚機能ã™ã‚‹å ´åˆãŒã‚りã¾ã™(内部ã§ã¯Date.parseãŒä½¿ç”¨ã•れã¾ã™)。
* `minutes_interval` — 分å˜ä½ã®å復間隔。
* `minutes_duration` — 分å˜ä½ã®æœŸé–“。minutes_intervalよりも長ãã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
* デイリートリガー:
  * `every` — タスクを実行ã™ã¹ã頻度。日数ã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚
    デフォルト値ã¯1ã§ã™ã€‚
    "2"ã¯1æ—¥ãŠãã€"3"ã¯3æ—¥ã«1回ã€ãªã©ã®æ„味ã«ãªã‚Šã¾ã™ã€‚
* ウィークリートリガー:
  * `every` — タスクを実行ã™ã¹ã頻度。週数ã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚
    デフォルト値ã¯1ã§ã™ã€‚
    "2"ã¯1週間ãŠãã€"3"ã¯3週間ã«1回ã€ãªã©ã®æ„味ã«ãªã‚Šã¾ã™ã€‚
  * `day_of_week` — タスクを実行ã™ã¹ãé€±ã®æ›œæ—¥ã€‚é…列ã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚
    デフォルト値ã¯ã™ã¹ã¦ã®æ›œæ—¥ã§ã™ã€‚
    儿›œæ—¥ã¯`mon`ã€`tues`ã€`wed`ã€`thurs`ã€`fri`ã€`sat`ã€`sun`ã€`all`ã®ã„ãšã‚Œã‹ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
* マンスリー(æ—¥ä»˜ã§æŒ‡å®š)トリガー:
  * `months` — タスクを実行ã™ã¹ã月。é…列ã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚
    デフォルト値ã¯ã™ã¹ã¦ã®æœˆã§ã™ã€‚
    儿œˆã¯1ã‹ã‚‰12ã¾ã§ã®æ•´æ•°ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
  * `on` (å¿…é ˆ) — タスクを実行ã™ã¹ãæœˆã®æ—¥ã€‚é…列ã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚
    儿—¥ã¯1ã‹ã‚‰31ã¾ã§ã®æ•´æ•°ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
* マンスリー(æ›œæ—¥ã§æŒ‡å®š)トリガー:
  * `months` — タスクを実行ã™ã¹ã月。é…列ã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚儿œˆã¯1ã‹ã‚‰12ã¾ã§ã®æ•´æ•°ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
  * `day_of_week` (å¿…é ˆ) — タスクを実行ã™ã¹ãé€±ã®æ›œæ—¥ã€‚1ã¤ã®è¦ç´ ã®ã¿ã‚’ã‚‚ã¤é…列ã¨ã—ã¦æŒ‡å®šã—ã¾ã™ã€‚
    儿›œæ—¥ã¯`mon`ã€`tues`ã€`wed`ã€`thurs`ã€`fri`ã€`sat`ã€`sun`ã€`all`ã®ã„ãšã‚Œã‹ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
  * `which_occurrence` (å¿…é ˆ) — タスクを実行ã™ã¹ãé¸æŠžã—ãŸæ›œæ—¥ã®ç™ºç”Ÿæ™‚期。`first`ã€`second`ã€`third`ã€`fourth`ã€`last`ã®ã„ãšã‚Œã‹ã«ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
* `logon`トリガー:
  * `user_id` --- `user_id`ã¯ã€ãƒ­ã‚°ã‚¤ãƒ³æ™‚ã«ã“ã®ã‚¿ã‚¹ã‚¯ã‚’é–‹å§‹ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã‚’指定ã—ã¾ã™ã€‚
    指定ã•れã¦ã„ãªã„å ´åˆã€`undef`ã¨æŒ‡å®šã•れã¦ã„ã‚‹å ´åˆã€ã¾ãŸã¯ç©ºæ–‡å­—列ã®å ´åˆã¯ã€
    タスクã¯**ã™ã¹ã¦ã®**ユーザã®ãƒ­ã‚°ã‚ªãƒ³æ™‚ã«é–‹å§‹ã•れã¾ã™ã€‚
    ã“ã®ç‰¹æ€§ã¯ã€ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã®å½¢å¼ã§æŒ‡å®šã§ãã¾ã™ã€‚
    * ローカルユーザ: `"Administrator"`
    * ドメインユーザ: `"MyDomain\\MyUser"`
    * SID: `"S-15-..."`
    * ä»»æ„ã®ãƒ¦ãƒ¼ã‚¶: `''`ã¾ãŸã¯`undef`

##### `user`

スケジュールã•れãŸã‚¿ã‚¹ã‚¯ã‚’実行ã™ã‚‹ãƒ¦ãƒ¼ã‚¶ã€‚
デフォルト値ã¯'SYSTEM'ã§ã™ã€‚

`scheduled_task`リソースを管ç†ã™ã‚‹ãŸã‚ã«ã¯ã€æ¨©é™ã®ã‚るユーザã¨ã—ã¦Puppetを実行ã™ã‚‹å¿…è¦ãŒã‚る点ã«ã‚‚注æ„ã—ã¦ãã ã•ã„。
権é™ã®ãªã„ユーザã¨ã—ã¦å®Ÿè¡Œã™ã‚‹ã¨ã€'access denied'エラーãŒç”Ÿã˜ã¾ã™ã€‚

##### `working_dir`

コマンドを開始ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒ•ルパス。

## 制約

* Windows Server 2008以上ãŠã‚ˆã³Windows 7以上ã§ã®ã¿ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã™ã€‚

## 開発

Puppet Forgeã®Puppetモジュールã¯ã‚ªãƒ¼ãƒ—ンプロジェクトã§ã€è‰¯ã„状態ã«ä¿ã¤ãŸã‚ã«ã¯ã€ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã®è²¢çŒ®ãŒå¿…è¦ä¸å¯æ¬ ã§ã™ã€‚PuppetãŒå½¹ã«ç«‹ã¤ã¯ãšã§ã‚りãªãŒã‚‰ã€ç§ãŸã¡ãŒã‚¢ã‚¯ã‚»ã‚¹ã§ããªã„プラットフォームやãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã€ã‚½ãƒ•トウェアã€ãƒ‡ãƒ—ロイ構æˆã¯ç„¡æ•°ã«ã‚りã¾ã™ã€‚ãã®ãŸã‚ã€ã§ãã‚‹é™ã‚Šç°¡å˜ã«å¤‰æ›´ã«è²¢çŒ®ã—ã€ã¿ãªã•ã¾ã®ç’°å¢ƒã§ç§ãŸã¡ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãŒæ©Ÿèƒ½ã§ãるよã†ã«ã™ã‚‹ã“ã¨ã‚’目標ã«ã—ã¦ã„ã¾ã™ã€‚最高ã®çŠ¶æ…‹ã«ç¶­æŒã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«ã€ã‚³ãƒ³ãƒˆãƒªãƒ“ュータãŒå¾“ã†å¿…è¦ã®ã‚ã‚‹ã„ãã¤ã‹ã®ã‚¬ã‚¤ãƒ‰ãƒ©ã‚¤ãƒ³ãŒå­˜åœ¨ã—ã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€[モジュール貢献ガイド](https://docs.puppet.com/forge/contributing.html)ã‚’å‚ç…§ã—ã¦ãã ã•ã„。