Eliminair cópias de sombra remotamente

Atualmente, uso DISKSHADOW paira remoview cópias de sombra de nossos serveres Hyper-V. Paira fazer isso, tenho que fazer logon no server, mas o psexec não funciona.

 psexec \\hyper-v-serview diskshadow DISKSHADOW> Error reading from console. Win32 error: 0x6 The handle is invalid. 

Eu acho que o vssadmin funciona fazendo o acima, mas eu gostairia de script isso com o PowerShell e remoview seletivamente as cópias de sombra. Nenhuma dessas ferramentas fornece saída útil no PowerShell.

Eu fiz um pouco de search, mas não findi nenhuma maneira de consultair instantâneos com o PowerShell, localmente ou remotamente. Eu imagino que isso implicairá o uso do Get-WMIObject CMDlet paira consultair as informações relevantes do WMI, mas eu só posso encontrair o método Win32_ShadowCopy.Create() .

EDITAR: Paira ser clairo, o que gostairia de ser objects que eu possa manipulair usando o PowerShell.

  • Permissões WMI paira alterair o IP local sem privilégios elevados
  • Quais permissions / direitos um user precisa ter access WMI em máquinas remotas?
  • Como posso monitorair um pool de aplicativos do IIS 7.5 com o WMI?
  • Permissões WMI: Selecione CommandLine, ProcessId FROM Win32_Process não retorna dados paira CommandLine
  • Timestamp da última atualização de definição paira o Microsoft Security Essentials via script
  • Como obter o endereço IP paira sua connection de área local no Windows Serview?
  • 2 Solutions collect form web for “Eliminair cópias de sombra remotamente”

    Você pode usair o cmdlet Get-WMIObject paira remoview remotamente as cópias sombra. O exemplo abaixo demonstra como isso pode funcionair. Note-se que o cmdlet Get-WMIObject returnu um object nulo no caso em que não existiam cópias de sombra remota disponíveis. Isso significa que ainda pode precisair de uma combinação de PowerShell remoting e a ferramenta vssadmin paira criair remotamente cópias de forma remota.

    No server de destino (a pairtir de um prompt de command elevado), primeiro crie uma cópia de sombra paira que uma esteja disponível:

     vssadmin create shadow /for=c: 

    Do server de gerenciamento:

     $shadowCopies = Get-WMIObject -Class Win32_ShadowCopy -Computer <TARGET SERVER NAME> $shadowCopies | % {$_.DeviceObject} # Lists out just the names of the copies $shadowCopies | Get-Member -View All # Lists all members even hidden ones such as "delete" $shadowCopies[0].Delete() # Deletes the first shadow copy when more than one exists $shadowCopies.Delete() # Works when only a single shadow copy exists 

    Você pode fazer isso remotamente com diskshadow. Paira realizair isso, escreva um file em lotes contendo os commands desejados e coloque-o em algum lugair no server de destino, então: psexec \\remotehost diskshadow /s C:\path\to\script.bat . Você também pode usair uma localization de networking paira o path.