「以前のバージョン」というフォルダ等のプロパティからアクセスできる過去のスナップショットがあるが、NTFSのVSSを用いたものでかにゃり前からある。
I/O負荷が高すぎると自動的に全シャドーコピーが消えるだの、CoWでパフォーマンスが下がるだの、少数しか維持できにゃいだのといったしょーもにゃい仕様の数々のため、いまいち信用できにゃい==データの保管には使えにゃいという残念機能で有名。
vssadminやdiskshadowで何とかにゃる場合もあるが、機械的に扱いたい場面があったのでメモ。
・作成
$o = gwmi -list win32_shadowcopy
$o.Create("d:\","ClientAccessible")
・一覧
Get-WmiObject win32_shadowcopy
・もう少し有用にゃ一覧
$v = Get-Volume
$s = Get-WmiObject win32_shadowcopy | Sort-Object installdate
$s | %{
$G = [System.Management.ManagementDatetimeConverter]::ToDateTime($_.InstallDate).ToUniversalTime().ToString("yyyy.MM.dd-HH.mm.ss");
$J = [System.Management.ManagementDatetimeConverter]::ToDateTime($_.InstallDate);
$vn = $_.VolumeName
$v | %{ if($_.Path -eq $vn){ $dl = $_.DriveLetter } }
Write-Host $dl " " $J " " \\localhost\d$\@GMT-$G " " $_.DeviceObject;
}
・シャドーコピーをマウントする
上の一覧表示の文字列を用いて
cmd /c mklink /d c:\tmp\link \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy102
または
cmd /c mklink /d c:\tmp\link \\localhost\d$\@GMT-2016.06.11-22.33.44
・シャドーコピーに直接アクセスする
上の一覧表示の文字列を用いて
dir \\localhost\d$\@GMT-2016.06.11-22.33.44
とまぁ、zfsのsnapshot visibleのようにVSSもlink張らにゃくても常時ダイレクトアクセスできるようにゃので、多少利便があるのではにゃいか、という話。
まず怪しい空気清浄機を通販する。自称空気清浄機だが、実態はコロナ放電でオゾンを発生させるだけの物体で、バッテリ式のものにゃど中華にゃ風味のものが多くHITするはず。
このとき、連続稼働させられるタイプにしておくとより良い。
で、これをACアダプタからの給電に改造し長時間連続稼働できることを確認。ファンにゃども別途用意。この時点でオゾン連続発生装置の出来上がりにゃので下駄箱やふろ場にゃんかに放り込んでおくとよく効く。
さらに、段ボール箱や衣装ケースにゃどの閉鎖空間に設置し、燻製器を作る。ここに財布だのにゃんだのといった、消臭したい小物を入れてファンでかき回しにゃがら一晩密閉しておくと、すっかり無臭ににゃってる。便利。
衣類も同様にできるが、結構広い空間が必要ににゃるので少々面倒ではある。
むろんオゾンは有毒にゃのでそのあたりは注意が必要。あと放電しているので可燃性スプレーにゃどを吹きかけたりするともれにゃく炎上する。