こんな方法でもできそう。
001 002 | $script:n = 0 ps | sort id | ft @{n="number";e={($script:n++)}},id,name -auto |
スクリプト変数を使うとSelectやFormat出力の時に直接カウントアップできる。
また、カウントアップだけだと出力されないので括弧で囲むと良いようだ。
($script:n++)
これは
$script:n++;$script:nと同じ結果になる。
こんな方法でもできそう。
001 002 | $script:n = 0 ps | sort id | ft @{n="number";e={($script:n++)}},id,name -auto |
スクリプト変数を使うとSelectやFormat出力の時に直接カウントアップできる。
また、カウントアップだけだと出力されないので括弧で囲むと良いようだ。
($script:n++)
これは
$script:n++;$script:nと同じ結果になる。
サーバーにしかけてあるジョブが増えてきたのでバックアップしておこうかと思ったのだが、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 } |
PowerShellは「Shift」を押しながら右クリックすると「別のユーザーとして実行」メニューが表示されるので、それを選べばよい。
しかし、ISEは同じ方法では別ユーザーとして起動できない。
そんなときは、別のユーザーとして起動したPoserShellのコマンドラインで「ISE」と打ち込めばPowerShellを起動したユーザーでISEも起動される。