Próbuję utworzyć migawkę Volume Shadow Copy przy użyciu powłoki Power Shell systemu Windows 7. Zauważyłem, że mogę tworzyć migawki przy użyciu następujących elementów za pośrednictwem poprzedniej wersji: superuser question:Uzyskiwanie dostępu do Volume Shadow Copy (VSS) Migawki z powłoki Power Shell
(Get-WmiObject -list win32_shadowcopy).create("C:\","ClientAccessible")
jestem w stanie znaleźć wszelką dokumentację wskazującą, że jest możliwe, aby ustawić kopię cień do „Exposed”, tak, że może być odwzorowany na literę dysku z użyciem WMI
. An article połączony w tym samym pytaniu pokazuje hak za pomocą skrzyżowania, aby uzyskać dostęp do migawki.
Kiedy próbuję uzyskać dostęp do dowiązania, mam następujące:
PS C:\Windows\system32> ls C:\shadowcopy
Get-ChildItem : The parameter is incorrect.
At line:1 char:3
+ ls <<<< C:\shadowcopy
+ CategoryInfo : ReadError: (C:\shadowcopy:String) [Get-ChildItem], IOException
+ FullyQualifiedErrorId : DirIOError,Microsoft.PowerShell.Commands.GetChildItemCommand
próbuje uzyskać dostęp do zrzutu bezpośrednio daje następujące:
PS C:\Windows\system32> ls '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14'
Get-ChildItem : Paths that begin with \\?\GlobalRoot are internal to the kernel and should not be opened by managed applications.
At line:1 char:3
+ ls <<<< '\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14'
+ CategoryInfo : NotSpecified: (:) [Get-ChildItem], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.GetChildItemCommand
Jak mogę uzyskać dostęp do migawkę VSS od A skrypt powershell?
Końcowe "\" było najważniejszą częścią, którą przegapiłem. – jordanm
Dla przyszłych czytelników, oto jak usunąć kopię w tle: '" vssadmin delete shadows/Shadow = "" $ ($ s2.ID.ToLower()) ""/Quiet "| iex' then 'Remove-Item c: \ shadowcopy -Confirm: $ false -Force'. Umieść ten kod po pracy z kopią w tle. –
Działa jak magia. –