トップ回答者
SCHTASKS /QUERY の出力方法について

質問
-
下記コマンドを実行した際、下記結果となります。
■コマンド
SCHTASKS /QUERY /V
■結果
フォルダー\
ホスト名 タスク名 …
=============== ===============…
N1211 Adobe Flash Pla…
N1211 DealPlyUpdate …
N1211 GoogleUpdateTas…
…
N1211 GoogleUpdateTas…
N1211 iSCSIAgentAutoS…
N1211 {78661023-909B-…
N1211 作業時間管理 …
…
フォルダー\Apple …
ホスト名 タスク名 …
=============== ===============…
N1211 AppleSoftwareUp…
…
フォルダー\Microsoft …
ホスト名 タスク名 …
=============== ===============…
情報: アクセス レベルに現在使用…
…
フォルダー\Microsoft\Windows …
ホスト名 タスク名 …
=============== ===============…
情報: アクセス レベルに現在使用…
「フォルダー\」配下のタスクのみを出力させたいのですが可能なのでしょうか?
「フォルダー\Apple」「フォルダー\Microsoft」などサブフォルダ配下のタスクを出力させたくないです。
回答
-
チャブーンです。
schtasks /queryコマンドでは、クエリ範囲を制御することはできません。ですから、powershellを使って出力結果を制御するといった「次善の策」が必要になります。Windows Server 2008 R2(Powershell 2.0)であれば、したの方法を使うことになります。
$tasklist=schtasks.exe /query /fo csv | ConvertFrom-Csv | where {$_."タスク名" -notmatch "タスク名"} $tasklist|Where {$_."タスク名" -notmatch '(^\\.+\\){1}'}
もしWindows Server 2012以降(PowerShell3.0以降)であれば、Get-ScheduledTaskコマンドレットを使って、もっと簡単に取得できます。Get-ScheduledTask | Where {$_.Taskpath -eq "\"}
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP, Moderator 2015年8月6日 4:08
- 回答の候補に設定 佐伯玲 2015年8月7日 4:55
- 回答としてマーク 佐伯玲 2015年8月17日 4:14
すべての返信
-
チャブーンです。
schtasks /queryコマンドでは、クエリ範囲を制御することはできません。ですから、powershellを使って出力結果を制御するといった「次善の策」が必要になります。Windows Server 2008 R2(Powershell 2.0)であれば、したの方法を使うことになります。
$tasklist=schtasks.exe /query /fo csv | ConvertFrom-Csv | where {$_."タスク名" -notmatch "タスク名"} $tasklist|Where {$_."タスク名" -notmatch '(^\\.+\\){1}'}
もしWindows Server 2012以降(PowerShell3.0以降)であれば、Get-ScheduledTaskコマンドレットを使って、もっと簡単に取得できます。Get-ScheduledTask | Where {$_.Taskpath -eq "\"}
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
- 編集済み チャブーンMVP, Moderator 2015年8月6日 4:08
- 回答の候補に設定 佐伯玲 2015年8月7日 4:55
- 回答としてマーク 佐伯玲 2015年8月17日 4:14