Como ativar a cópia de sombra de volume em uma unidade específica (D :, E:, ...) e configurar a programação usando o Powershell?
Eu só preciso de algumas dicas de como começar.
powershell
vss
Primoz
fonte
fonte
Respostas:
Você pode criar uma cópia Shadow em uma unidade específica usando o objeto WMI, conforme explicado no Artigo da Microsoft .
Habilitar cópia de sombra de volume em uma unidade específica (D :, E:, ...) é duas coisas
fonte
Demorei um pouco para que isso funcionasse (depois de encontrar o erro simples que causava a falha) e a função está incompleta. Quero adicionar a capacidade de habilitá-lo em um computador remoto, o que provavelmente terá que ser feito por meio de uma tarefa executada uma vez. Se alguém modificar isso e adicionar isso, me avise!
Mesmo que isso funcione e imite o que acontece quando você o faz pela GUI, ele ainda é exibido como desativado para essa unidade. Mas se você habilitá-lo, nada muda! (LOL) Acho que há algo que também precisa ser modificado no registro.
fonte
Depois de um monte de bagunça com ele, ele funcionou de maneira um pouco diferente (também parece aparecer corretamente por meio da GUI).
Grite nesta página para obter ajuda: https://social.technet.microsoft.com/forums/windowsserver/en-US/fb69840d-5f52-4711-8168-2faa23088233/shadow-copy-schedule-per-script
A desvantagem de usar schtasks (o que essa página usa) é que você não pode ter vários gatilhos até onde posso ver.
Também por causa da maneira como resolvi o problema da solução (usei um bindiff de trabalhar / não funcionar em xml), não estou totalmente convencido de que os sinalizadores que utilizo sejam ótimos.
fonte
Mais simples significa usar schtasks que são exibidas na interface do usuário, compatíveis no PowerShell 2. Projetado para uma compilação padrão, pode ser necessário brincar com o $ volumeinfo [x] ao criar o $ taskrun para encontrar o volume apropriado.
Pode configurar os seguintes argumentos adequadamente:
OBSERVAÇÃO: A opção / TR EXIGE o espaço no final, se não estiver lá, substituirá a barra invertida final por uma citação dupla, fazendo com que a UI do VSS não reconheça a tarefa.
fonte
É isso que eu uso no PowerShell . É um link para o meu site, mas parece muito melhor do que colado aqui.
fonte
Na verdade, a Cópia de sombra é ativada criando tarefas que chamam vssadmin.exe.
O PowerShell 3.0 possui cmdlets que permitem criar tarefas, mas dependem de chamadas de sistema que não foram implementadas até o Windows 8 / Windows Server 2012. Você precisa dos três seguintes cmdlets para fazer isso da maneira do PowerShell:
Nas versões anteriores do Windows, você estará restrito ao uso do schtasks.exe.
No entanto - e é aqui que essa resposta difere das outras - a criação de uma tarefa de Cópia de Sombra dessa maneira não é a maneira correta de fazer as coisas, pois as alterações feitas não aparecerão na GUI. Como tal, um usuário não observador pode não perceber que a Cópia de Sombra foi ativada, resultando na habilitação de uma segunda instância ou sobrescrevendo silenciosamente sua tarefa (se você seguiu as convenções de nomenclatura do Windows (VolumeShadowCopy {$ GUID})).
O que você precisa fazer é criar uma via GUI (de preferência no Win7 / Win2008, pois as versões mais recentes do Windows usam o taskxml 1.2 por padrão, em vez do taskxml 1.1 mais compatível), exportar a tarefa como XML via schtasks, editar programaticamente esse XML , salve esse XML como UTF16 e importe-o. Felizmente, depois de passar pela GUI no início, tudo isso pode ser feito na linha de comando.
Gostaria de publicar o código, mas o que escrevi é proprietário e não tenho permissão do meu empregador. Espero que a dica XML economize, no mínimo, inúmeras horas. Acabei de implantar a solução XML em centenas de servidores gerenciados, com grande sucesso.
fonte
Obrigado a todos, que estava contribuindo para este tópico. Foi útil e me salvou muito trabalho. O seguinte script do PowerShell foi testado no Windows Server 2008 R2.
O exemplo a seguir cria um instantâneo a cada 2 horas entre Mo.-Fr. das 08: 00h às 18: 00h no Volume C:
Se você deseja modificar a programação, basta editar ou substituir os dados XML embutidos.
Atenção: Sem garantia. Nenhuma responsabilidade. Teste em seu próprio laboratório antes de usar no ambiente de produção.
fonte
O melhor que posso fazer é apontar você aqui e apontar especificamente este e este .
Nenhum dos dois aborda exatamente o que você está procurando, mas vou apontar que você pode criar cópias de sombra a qualquer momento, pois o VSS é um serviço em segundo plano que é executado até ser chamado.
fonte
Consegui exatamente o que precisava com o código a seguir, meu requisito era configurar o VSS, mas também precisava estar visível na GUI. A parte principal para torná-lo visível na GUI é adicionar o ID do volume no nome da tarefa agendada, conforme apontado pelo user261949 (isso é um pouco estranho, honestamente, eu estava procurando por uma chave do Registro, mas não encontrei absolutamente nada ..). Acabei com o seguinte código que atende às minhas necessidades:
Obrigado a todos por suas informações úteis!
fonte