windows powershell volume-shadow-service

windows - Acceder a instantáneas de Volume Shadow Copy(VSS) de powershell



volume-shadow-service (1)

¿Cómo se creó el enlace simbólico? Como se describe en ese artículo, debe especificar la ruta del dispositivo con una barra invertida final:

$s1 = (Get-WmiObject -List Win32_ShadowCopy).Create("C:/", "ClientAccessible") $s2 = Get-WmiObject Win32_ShadowCopy | Where-Object { $_.ID -eq $s1.ShadowID } $d = $s2.DeviceObject + "/" # <-- this here cmd /c mklink /d C:/shadowcopy "$d"

Después de esto, pude acceder a la instantánea montada en C:/shadowcopy muy bien.

Para desmontar la copia $s2.Delete() llame a $s2.Delete() , como @KeyszerS señaló en los comentarios.

Intento crear y acceder a una instantánea de Volume Shadow Copy utilizando Windows Power Shell en Windows 7. Descubrí que puedo crear instantáneas usando lo siguiente a través de una pregunta anterior de superusuario :

(Get-WmiObject -list win32_shadowcopy).create("C:/","ClientAccessible")

No puedo encontrar ninguna documentación que indique que es posible establecer una copia sombra en "Expuesto" para que se pueda asignar a una letra de unidad mediante WMI . Un artículo vinculado en la misma pregunta muestra un truco usando un cruce para acceder a la instantánea.

Cuando intento acceder al enlace simbólico, obtengo lo siguiente:

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

Intentar acceder a la instantánea directamente da lo siguiente:

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

¿Cómo puedo acceder a una instantánea de VSS desde un script de PowerShell?