locked
SCHTASKS /QUERY の出力方法について RRS feed

  • 質問

  • 下記コマンドを実行した際、下記結果となります。

    ■コマンド
    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」などサブフォルダ配下のタスクを出力させたくないです。
    2015年8月5日 15:17

回答

  • チャブーンです。

    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 "\"}


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。




    2015年8月6日 4:01

すべての返信

  • チャブーンです。

    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 "\"}


    フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。




    2015年8月6日 4:01
  • こんにちは、marlboro_power さん
    フォーラムオペレータの佐伯 玲 です。

    チャブーンさんからお寄せいただいたアドバイスはご覧いただけておりますでしょうか?
    ご参考になるアドバイスがいただけているかと思い「回答としてマーク」とさせていただきました。

    回答マークがつくと質問が解決した事がわかるようになるのでご質問後に解決に至った際にはマークいただけますようお願い致しますね。

    宜しくお願い致します。

    TechNet Community Support 佐伯 玲

    2015年8月17日 4:14