Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Jak vytvořit ručně shadow copy (stínovou kopii svazku)
leden 20
Jak vytvořit ručně shadow copy (stínovou kopii svazku)

Když vám nejede zálohování, nebo prostě jen tak kvůli kdoví čemu :-) není špatné si vytvořit ručně shadow copy (stínovou kopii svazku) nějakého diskového oddílu. Potřebujete k tomu jenom nástroj diskshadow a případně PowerShell a příkazovou řádku, pokud nemáte diskshadow na stanicích.

Když už to píšu u sebe na bezpečnostním blogu, tak upozorňuju, že shadow copy máte nejspíš na všech stanicích, kde je ve výchozím stavu zapnuta funkce system restore, neboli system protection. Operační systém vám sám od sebe dělá shadow copy před každou instalací programů i aktualizací. Dá se to potom použít k průzkumu různě napadených počítačů, protože útočníci si obvykle neuvědomují a i když smažou nějaké staré soubory, nebo logy, možná je ještě najdete v nějaké shadow copy.

Jak vylistovat všechny kopie svazku

Můžete to udělat buď pomocí diskshadow, nebo pomocí PowerShell:

diskshadow
  list shadows all


gwmi Win32_ShadowCopy | 
  select *,
         @{ n = 'DriveLetter' ; e = { (gwmi -Query ('SELECT * FROM Win32_Volume WHERE DeviceId = "{0}"' -f $_.VolumeName.Replace('\', '\\'))).DriveLetter } }

gwmi Win32_ShadowStorage | 
  select *, 
         @{ n = 'DriveLetter' ; e = { ([wmi] $_.Volume).DriveLetter } },
         @{ n = 'DiffVolumeLetter' ; e = { ([wmi] $_.DiffVolume).DriveLetter } }

V tabulce Win32_ShadowCopy je seznam všech kopií, které jsou k dispozici na všech vašich oddílech. V tabulce Win32_ShadowStorage jsou konfigurace úložišť shadow copy rozdílových kopií pro každý oddíl, který to má vůbec nějak definováno - tedy na který disk se to ukládá (obvykle na ten stejný oddíl do složky System Volume Information) a maximální omezení na velikost, pokud nějaké existuje.

Jak si stínovou kopii svazku vytvořit

Opět ji vytvoříte buď pomocí diskshadow, nebo přes WMI a PowerShell:

diskshadow
  set context persistent
  begin backup
  add volume c:
  end backup


([wmiclass] 'Win32_ShadowCopy').Create('C:\', 'ClientAccessible')

A to hlavní, jak se k ní vůbec dostat?

Je úplně jedno, jestli je client accessible, nebo není. Jestli je to produkt shadow copies for shared folders, nebo je to výsledek system protection (system restore). Pokud znáte její device object ID (deviceObjectId), tedy něco ve formátu \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy38, tak se k jejímu obsahu dostanete.

Můžete zkusit několik cest:

diskshadow
  list shadows all
  expose {guidguid-guid-guid-guid-guidguidguid} R:\


mklink /D c:\mojekopie "\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy38\"

U té druhé metody s mkdir a directory junction (parameter /J), nebo symbolic link (parametr /D), nesmíte zapomenout na konci na zpětné lomítko (backslash). Pokud to tam nedáte, sice se to namapuje, ale dostanete při přístupu chybovou hlášku "is not accessible, the parameter is incorrect".

Mazání shadow copy na závěr

Samozřejmě jdou smazat přes diskpart, nebo také přes WMI, kde použijete metodu .Delete().

Comments

zajímavá utilita, nicméně

..třošku mi chybí informace, kde si nástroj diskshadow stáhnu nebo jak si ji nainstaluju nebo jak ji zapnu.
tmp on 23.4.2017 9:30

Add Comment

Sorry comments are disable due to the constant load of spam *


Omlouvám se, ale příval spamu nelze kontrolovat, takže mi prosím pošlete email, pokud máte nějaký dotaz, nebo připomínku.

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments