2013年11月27日水曜日

◆タスクスケジューラのジョブを纏めてエクスポートする

サーバーにしかけてあるジョブが増えてきたのでバックアップしておこうかと思ったのだが、GUIでは1つずつしかエクスポートできなさそう。

3.0が使えればコマンドレットが用意されているようだが、3.0を追加できないサーバーなので他の方法を探してみた。

「schtasks」か「Win32_ScheduledJob」あたりを使うのかなっと思って探しているとCOMを使ったそのものずはりのサンプルがあったので基本的にそのまま使わせていただいた。
Powershell, and exporting Windows Scheduled Tasks – TheGeekery

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015

$outPath = "f:\desktop\wk"
$outFileName = "{0}.xml"

$sch = New-Object -ComObject("Schedule.Service")
$sch.Connect("localhost")
$tasks = $sch.GetFolder("\").GetTasks(0
)
 

$outfile_temp = Join-Path $outPath $outFileName
 
$tasks | %{
$xml = $_.Xml
$task_name = $_.Name
$outfile = $outfile_temp -f 
$task_name
$xml
 | Out-File $outfile
}

image

0 件のコメント:

コメントを投稿