Método para configurar cópias de sombra de volume no núcleo do servidor

7

Existe algum método óbvio que não estou encontrando para configurar a criação periódica de cópias de sombra para uma determinada unidade em um sistema que executa o Windows sem uma GUI?

Do que eu posso dizer indo para a aba Cópias de Sombra das propriedades do disco e clicando no botão Habilitar basicamente apenas cria algumas tarefas agendadas. Essas tarefas agendadas parecem usar algum tipo de GUID exclusivo para cada volume? então isso não é algo que eu poderia fazer facilmente com uma Política de Grupo.

Deve haver algum método simples para ativar cópias de sombra a partir da linha de comando?

    
por Zoredache 15.07.2014 / 20:15

5 respostas

7

Você acha que isso deve ser fácil, não é? Bem, você estaria errado. Não é.

Cópias de sombra das pastas compartilhadas estão disponíveis em todas as edições do Windows Server 2008 R2. No entanto, a interface do usuário não está disponível para a opção de instalação do Núcleo do Servidor. Para criar cópias de sombra para computadores com uma instalação Server Core, você precisa gerenciar esse recurso remotamente de outro computador .

Se fácil está fora de questão ... veja este tópico, onde eles tentam fazer da maneira mais difícil . Eu amo automatizar as coisas, mas neste caso, eu acho que é muito mais esforço do que apenas usar a GUI inicialmente.

    
por 15.07.2014 / 20:20
3

Em vez de configurar remotamente a configuração, você pode simplesmente criar uma tarefa agendada por meio da Diretiva de Grupo. Como você mencionou, a tarefa criada durante o método normal usa um ID de volume; sua ação é algo como isto:

vssadmin.exe Create Shadow /AutoRetry=15 /For=\?\Volume{f9d9bfa1-f506-f24f-f54f-fe6ef47fd6f4}\

Então, é claro, o desafio para você seria criar um GPO que funcionasse para todos os computadores.

Proponho que sua agenda seja um pequeno snippet do powershell que encontre o ID do volume e chame o mesmo comando.

Suponho que você queira fazer isso para a unidade do sistema. Nesse caso, código como esse deve funcionar no PowerShell 2.0 +:

$volID = Get-WmiObject Win32_Volume | Where-Object { $_.DriveLetter -ieq $env:SYSTEMDRIVE } | Select-Object -ExpandProperty DeviceID
Start-Process 'vssadmin.exe' -ArgumentList "Create Shadow /AutoRetry=15 /For=$volID" -Wait

Isto é mostrado como 2 linhas aqui para que você possa ver mais facilmente o que está acontecendo, mas obviamente se você pretende chamar sua tarefa sem um arquivo de script externo (o que complicaria as coisas) você teria que ter tudo em uma linha . Você pode separar as linhas com um ponto-e-vírgula, você pode simplesmente incorporar toda a linha de recuperação de ID do volume na string com $() , etc.

Você também pode usar o parâmetro -EncodedCommand do powershell para lidar com citações. Isso permite que você tenha um script legível de várias linhas que pode ser armazenado em um compartilhamento em algum lugar. Você base64 codifica esse script e depois passa a coisa toda para o powershell com -EncodedCommand .

Eu posso expandir essas opções, se necessário, supondo que esse código atenda às suas necessidades.

    
por 10.08.2014 / 05:34
1

Isso é o que eu uso no PowerShell . É um link para o meu site, mas parece muito melhor do que colado aqui.

#Enable Volume Shadow copy
clear
$Continue = Read-Host "Enable Volume Shadowcopy (Y/N)?"
while("Y","N" -notcontains $Continue){$Continue = Read-Host "Enable Volume Shadowcopy (Y/N)?"}
if ($Continue -eq "Y") {
#Enable Shadows
vssadmin add shadowstorage /for=C: /on=C:  /maxsize=8128MB
vssadmin add shadowstorage /for=D: /on=D:  /maxsize=8128MB
#Create Shadows
vssadmin create shadow /for=C:
vssadmin create shadow /for=D:
#Set Shadow Copy Scheduled Task for C: AM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=C:"
$Trigger=new-scheduledtasktrigger -daily -at 6:00AM
Register-ScheduledTask -TaskName ShadowCopyC_AM -Trigger $Trigger -Action $Action -Description "ShadowCopyC_AM"
#Set Shadow Copy Scheduled Task for C: PM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=C:"
$Trigger=new-scheduledtasktrigger -daily -at 6:00PM
Register-ScheduledTask -TaskName ShadowCopyC_PM -Trigger $Trigger -Action $Action -Description "ShadowCopyC_PM"
#Set Shadow Copy Scheduled Task for D: AM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=D:"
$Trigger=new-scheduledtasktrigger -daily -at 7:00AM
Register-ScheduledTask -TaskName ShadowCopyD_AM -Trigger $Trigger -Action $Action -Description "ShadowCopyD_AM"
#Set Shadow Copy Scheduled Task for D: PM
$Action=new-scheduledtaskaction -execute "c:\windows\system32\vssadmin.exe" -Argument "create shadow /for=D:"
$Trigger=new-scheduledtasktrigger -daily -at 7:00PM
Register-ScheduledTask -TaskName ShadowCopyD_PM -Trigger $Trigger -Action $Action -Description "ShadowCopyD_PM"
}
    
por 30.01.2015 / 16:45
0

Meu principal problema é que o Windows 7.0, 8.1 não pode configurar cópias de sombra em um sistema remoto, mesmo com as ferramentas RSAT instaladas.

Os métodos GUI remotos estão bem agora que eu percebo que devo estar executando a ferramenta do servidor Windows. Os vários métodos scripts e powershell para realizar isso funcionariam, mas eu realmente não precisava disso na maioria das situações.

    
por 17.09.2014 / 02:13
0

Para ativar e configurar cópias de sombra de pastas compartilhadas

1.Abra Gerenciamento do Computador. Na árvore de console, clique com o botão direito do mouse em Pastas Compartilhadas, clique em Todas as Tarefas e clique em Configurar Cópias de Sombra. Clique no volume onde você deseja habilitar cópias de sombra das pastas compartilhadas e, em seguida, clique em Ativar. 4.Para fazer alterações na agenda padrão e na área de armazenamento, clique em Configurações.

encontrado aqui link

    
por 30.08.2018 / 21:37