29/06/2011 15.15
Volevo sapere se mi potete suggerire uno script per effettuare i backup di macchine virtuali su windows 2008 r2.
Inoltre durante la copia di un file in rete con power shell come faccio a sapere se la copia è avvenuta o meno con esito positivo?
grazie
03/07/2011 10.34
Ciao Maltra,
prova a dare un'occhiata alla
PowerShell Management Library for Hyper-V, in passato l'ho trovata ottima per compiti simili. :)
In merito all'esito della copia e, in generale, di qualsiasi altra operazione, puoi testare la variabile
$?, che contiene il valore
$false in caso di problemi.
Es:
cp test.txt \\server-offline\folder
if (-not $?) {
# Qualcosa è andato storto
Write-Host "Problema durante la copia del file!"
return
# L'errore è recuperabile tramite la variabile $Error
# ...
}
Ciao, a presto.
Efran Cobisi
Solution developer, consultant and trainer
Microsoft MVP, MCT, MCSD for Microsoft .NET, MCTS: SQL Server 2005
04/07/2011 9.07
try {
net use \\10.0.0.230pippo /user:Administrator
copy-item -force -recurse $dest\* \\10.0.0.230
}
catch {
$failedFiles.Add($source) |
Out-Null
}
if (-not $?)
{ # Qualcosa è andato storto
Write-Host "Problema durante la copia del file!"
return
# L'errore è recuperabile tramite la variabile $Error # ...
Va bene ?
05/07/2011 7.35
Ciao Maltra,
$failedFiles ha un nome concettualmente sbagliato, perchè nel blocco try/catch possono essere generati diversi tipi di eccezione (errori non fatali), e non c'è nulla nel tuo blocco che ti indichi il nome del file con l'eventuale problema. Esiste già una variabile predefinita $error che contiene gli ultimi (100 mi sembra) errori avvenuti, potresti usare direttamente quella senza passare per un array o una lista.
Per il resto direi che va bene.
Unica cosa, aggiungerei un blocco finally che rimuova il drive aggiunto da net use.
Ciao, a presto.
Efran Cobisi
Solution developer, consultant and trainer
Microsoft MVP, MCT, MCSD for Microsoft .NET, MCTS: SQL Server 2005