意図せず空き容量が枯渇してしまった事象の調査
目次
(本記事はマイクロソフト社員によって公開されております)
こんにちは、日本マイクロソフトの Windows プラットフォーム サポートです。
ここでは意図せず空き容量が枯渇してしまった事象の調査の際に、採取すべき資料についてご紹介します。
資料採取手順
■ 0. 作業前の事前準備
対象サーバーにログインし、ログ保存用に C:\MS_DATA フォルダーを作成します。
以下の URL から TSS.zip をダウンロードし、zip を展開します。
展開した TSS フォルダーを調査対象となる端末上の任意のパスに配置します。ここでは、例として C:\Tools 内に配置します。
以下の URL から du.zip(Disk Usage)をダウンロードし、zip を展開します。
展開した DU フォルダーを、TSS フォルダーと同じフォルダーパスへ配置します。ここでは、例として C:\Tools 内に配置します。
以下の URL から PSTools.zip をダウンロードし、zip を展開します。
https://docs.microsoft.com/en-us/sysinternals/downloads/pstools
展開した PSTools フォルダーを、TSS/DU フォルダーと同じフォルダーパスへ配置します。ここでは、例として C:\Tools 内に配置します。
コマンド プロンプトを起動します。
“cd” コマンドで PSTools フォルダーを配置したパスにカレント フォルダーを移動します。例として、“C:\Tools” フォルダーに PSTools フォルダーを配置した場合は以下のように実行します。
cd C:\Tools\PSTools
PsExec コマンドを利用し、以下のようにコマンド プロンプトを実行します。
psexec -s -i cmd.exe
別窓で新たにコマンド プロンプトが開かれます。ライセンス確認ダイアログが表示された場合は、内容ご確認の上 [Agree] を選択します。
whoami コマンドを実行し、システム ローカル アカウントの権限を持っていることを確認します。
whoami
コマンド実行例)
C:\tools\PSTools>whoami
nt authority\system <<< このように表示されれば問題ありません。
【注意事項】
後述する “手順 1” では、このコマンド プロンプト画面を使用して作業を行いますので、このコマンド プロンプト画面は閉じないようお願いいたします。
■ 1. PsExec を使ったコマンドの実行結果
1.「0. 作業前の事前準備」の “手順 11” で立ち上がったコマンド プロンプトから、“cd” コマンドで DU フォルダーを配置したパスにカレント フォルダーを移動します。例として、“C:\Tools” フォルダーに DU フォルダーを配置した場合は以下のように実行します。
cd C:\Tools\DU
以下のコマンドを実行し、調査対象のドライブ名を指定します。ここでは、例として “C” ドライブを指定します。
set DRIVE_NAME=C
- C: や C:\ 等の値では指定しないようお願いいたします。
- D ドライブを調査対象とした場合は、以下のコマンドとなります。
(実行例)
set DRIVE_NAME=D
以下のコマンドを実行します (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. その他コマンド実行結果
Windows PowerShell (powershell.exe) を [管理者として実行] にて開始します。
“cd” コマンドで DU フォルダーを配置したパスにカレント フォルダーを移動します。例として、“C:\Tools” フォルダーに DU フォルダーを配置した場合は以下のように実行します。
cd C:\Tools\DU
ログの出力フォルダーを指定します。
$LogFolder = "C:\MS_DATA"
- ログファイルは C:\MS_DATA に出力されます。もし、別ドライブ(D ドライブ等)に出力されたい場合には、フォルダー パスを変更ください。
(実行例)
$LogFolder = “D:\MS_DATA”
以下のコマンドを実行し、調査対象のドライブ名を指定します。ここでは、例として “C” ドライブを指定します。
$drive = "C"
- C: や C:\ 等の値では指定しないようお願いいたします。
- D ドライブを調査対象とした場合は、以下のコマンドとなります。
(実行例)
$drive = “D”
以下のコマンドを実行します (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
- 各コマンドの実行にはお時間がかかる場合がございますため、コマンドの実行が終わるまで(プロンプトが戻るまで)お待ち下さい。
サポート情報ログを採取するため、以下のコマンドを実行します。
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
出力先フォルダー (既定は C:\MS_DATA) を zip で圧縮いただき、アップロード サイトへご提供ください。
情報採取ツール TSS に関してよく寄せられる質問
情報採取を行うツール TSS に関する一般的なご質問を以下のページにお纏めしています。必要に応じてご参照ください。
以上です。 本情報が少しでも皆様のお役に立てば幸いです。
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。