意図せず空き容量が枯渇してしまった事象の調査

目次

(本記事はマイクロソフト社員によって公開されております)

こんにちは、日本マイクロソフトの Windows プラットフォーム サポートです。

ここでは意図せず空き容量が枯渇してしまった事象の調査の際に、採取すべき資料についてご紹介します。

資料採取手順

■ 0. 作業前の事前準備

  1. 対象サーバーにログインし、ログ保存用に C:\MS_DATA フォルダーを作成します。

  2. 以下の URL から TSS.zip をダウンロードし、zip を展開します。

    https://aka.ms/getTSS

  3. 展開した TSS フォルダーを調査対象となる端末上の任意のパスに配置します。ここでは、例として C:\Tools 内に配置します。

  4. 以下の URL から du.zip(Disk Usage)をダウンロードし、zip を展開します。

    https://docs.microsoft.com/ja-jp/sysinternals/downloads/du

  5. 展開した DU フォルダーを、TSS フォルダーと同じフォルダーパスへ配置します。ここでは、例として C:\Tools 内に配置します。

  6. 以下の URL から PSTools.zip をダウンロードし、zip を展開します。

    https://docs.microsoft.com/en-us/sysinternals/downloads/pstools

  7. 展開した PSTools フォルダーを、TSS/DU フォルダーと同じフォルダーパスへ配置します。ここでは、例として C:\Tools 内に配置します。

  8. コマンド プロンプトを起動します。

  9. “cd” コマンドで PSTools フォルダーを配置したパスにカレント フォルダーを移動します。例として、“C:\Tools” フォルダーに PSTools フォルダーを配置した場合は以下のように実行します。

    cd C:\Tools\PSTools
    
  10. PsExec コマンドを利用し、以下のようにコマンド プロンプトを実行します。

psexec -s -i cmd.exe
  1. 別窓で新たにコマンド プロンプトが開かれます。ライセンス確認ダイアログが表示された場合は、内容ご確認の上 [Agree] を選択します。

  2. whoami コマンドを実行し、システム ローカル アカウントの権限を持っていることを確認します。

whoami

コマンド実行例)

C:\tools\PSTools>whoami
nt authority\system       <<< このように表示されれば問題ありません。

【注意事項】
後述する “手順 1” では、このコマンド プロンプト画面を使用して作業を行いますので、このコマンド プロンプト画面は閉じないようお願いいたします。

■ 1. PsExec を使ったコマンドの実行結果

1.「0. 作業前の事前準備」の “手順 11” で立ち上がったコマンド プロンプトから、“cd” コマンドで DU フォルダーを配置したパスにカレント フォルダーを移動します。例として、“C:\Tools” フォルダーに DU フォルダーを配置した場合は以下のように実行します。

cd C:\Tools\DU
  1. 以下のコマンドを実行し、調査対象のドライブ名を指定します。ここでは、例として “C” ドライブを指定します。

    set DRIVE_NAME=C
    
  • C: や C:\ 等の値では指定しないようお願いいたします。
  • D ドライブを調査対象とした場合は、以下のコマンドとなります。
    (実行例)
    set DRIVE_NAME=D
  1. 以下のコマンドを実行します (5 コマンド)。

    du -accepteula -q %DRIVE_NAME%:\ > C:\MS_DATA\%COMPUTERNAME%_%DRIVE_NAME%_du-priv.txt
    du -accepteula -q -l 1 %DRIVE_NAME%:\ > C:\MS_DATA\%COMPUTERNAME%_%DRIVE_NAME%_du-l1-priv.txt
    du -accepteula -q -v %DRIVE_NAME%:\ > C:\MS_DATA\%COMPUTERNAME%_%DRIVE_NAME%_du-v-priv.txt
    dir /a /r /s /c /n %DRIVE_NAME%:\ > C:\MS_DATA\%COMPUTERNAME%_%DRIVE_NAME%_dir_priv.txt
    dir /a /r /s /c /t:c /n %DRIVE_NAME%:\ > C:\MS_DATA\%COMPUTERNAME%_%DRIVE_NAME%_dir-createdate_priv.txt
    
  • ログファイルは C:\MS_DATA に出力されます。もし、別ドライブ(D ドライブ等)に出力されたい場合には、コマンド内のフォルダー パスを変更ください。
    (実行例)
    du -accepteula -q %DRIVE_NAME%:\ > D:\MS_DATA%COMPUTERNAME%_%DRIVE_NAME%_du-priv.txt
  • 各コマンドの実行にはお時間がかかる場合がございますため、コマンドの実行が終わるまで(プロンプトが戻るまで)お待ち下さい。

■ 2. その他コマンド実行結果

  1. Windows PowerShell (powershell.exe) を [管理者として実行] にて開始します。

  2. “cd” コマンドで DU フォルダーを配置したパスにカレント フォルダーを移動します。例として、“C:\Tools” フォルダーに DU フォルダーを配置した場合は以下のように実行します。

    cd C:\Tools\DU
    
  3. ログの出力フォルダーを指定します。

    $LogFolder = "C:\MS_DATA"
    
  • ログファイルは C:\MS_DATA に出力されます。もし、別ドライブ(D ドライブ等)に出力されたい場合には、フォルダー パスを変更ください。
    (実行例)
    $LogFolder = “D:\MS_DATA”
  1. 以下のコマンドを実行し、調査対象のドライブ名を指定します。ここでは、例として “C” ドライブを指定します。

    $drive = "C"
    
  • C: や C:\ 等の値では指定しないようお願いいたします。
  • D ドライブを調査対象とした場合は、以下のコマンドとなります。
    (実行例)
    $drive = “D”
  1. 以下のコマンドを実行します (25 コマンド)。

    $drivename = $drive + ":"
    .\du -accepteula -q $drivename\ > ${LogFolder}\${Env:COMPUTERNAME}_${drive}_du.txt
    .\du -accepteula -q -l 1 $drivename\ > ${LogFolder}\${Env:COMPUTERNAME}_${drive}_du-l1.txt
    .\du -accepteula -q -v $drivename\ > ${LogFolder}\${Env:COMPUTERNAME}_${drive}_du-v.txt
    cmd /c "dir /a /r /s /c /n $drivename\ > `"$LogFolder\${Env:COMPUTERNAME}_${drive}_dir.txt`""
    cmd /c "dir /a /r /s /c /t:c /n $drivename\ > `"$LogFolder\${Env:COMPUTERNAME}_${drive}_dir-createdate.txt`""
    fsutil usn queryjournal $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_queryjournal.txt
    fsutil fsinfo ntfsinfo $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_ntfsinfo.txt
    fsutil fsInfo sectorInfo $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_sectorInfo.txt
    fsutil fsInfo volumeInfo $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_volumeInfo.txt
    fsutil fsInfo statistics $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_statistics.txt
    fsutil storageReserve query $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_storageReserve.txt
    fsutil storageReserve query findByID $drivename * | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_storageReserve_findByID.txt
    fsutil volume allocationReport $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_allocationReport.txt
    fsutil volume diskfree $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_diskfree.txt
    fsutil volume thinProvisioningInfo $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_thinProvisioningInfo.txt
    fsutil 8dot3name query $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_8dot3name_query.txt
    fsutil dirty query $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_dirty_query.txt
    fsutil fsInfo drivetype $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_fsutil_fsInfodrivetype.txt
    fsutil quota query $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_quota.txt
    chkdsk $drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_chkdsk.txt
    defrag $drivename /A /V | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_defrag.txt
    vssadmin list Shadows | Out-File ${LogFolder}\${Env:COMPUTERNAME}_vssadmin_list_shadows.txt
    vssadmin list ShadowStorage | Out-File ${LogFolder}\${Env:COMPUTERNAME}_vssadmin_list_shadowstorage.txt
    compact /s:$drivename | Out-File ${LogFolder}\${Env:COMPUTERNAME}_${drive}_compact.txt
    
  • 各コマンドの実行にはお時間がかかる場合がございますため、コマンドの実行が終わるまで(プロンプトが戻るまで)お待ち下さい。
  1. サポート情報ログを採取するため、以下のコマンドを実行します。

    Set-ExecutionPolicy bypass -Scope Process -Force
    
    .\TSS.ps1 -CollectLog SHA_support-all -noBasicLog -noUpdate
    
    • 使用許諾の確認 (End User License Agreement) が表示された場合は内容を読んでいただき、[Accept] ボタンで同意していただきますようお願い申し上げます。
    • ログファイルは既定で C:\MS_DATA に出力されます。もし、別の場所に出力されたい場合には -LogFolderPath オプションを付与してください。
      (実行例)
      .\TSS.ps1 -CollectLog SHA_support-all -noBasicLog -noUpdate -LogFolderPath D:\MS_DATA
  2. 出力先フォルダー (既定は C:\MS_DATA) を zip で圧縮いただき、アップロード サイトへご提供ください。

情報採取ツール TSS に関してよく寄せられる質問

情報採取を行うツール TSS に関する一般的なご質問を以下のページにお纏めしています。必要に応じてご参照ください。

TSS に関するご質問

TSS 実行時のエラー関するご質問

以上です。 本情報が少しでも皆様のお役に立てば幸いです。

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。