Показать сообщение отдельно
  #1  
Старый 05.06.2013, 15:27
RIONOMARU RIONOMARU вне форума
Прохожий
 
Регистрация: 05.06.2013
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию оболочка для Powershell скрипта

Нужно написать оболочку для Powershell скрипта, который делает бэкап выбраной папки.
Оболочка должна иметь следующие функции: выбор папки для бэкапа и выбор места куда будет бэкапиться, а также вести лог-файл в *.txt.
Скрипт написан он это все делает сам, токо приходиться в ручную прописывать пути к папке и в место сохранения.
Оболочка должна сама переписывать пути в скрипте и запускать скрипт.
скрипт:
Add-PSSnapin Windows.Serverbackup
new-item -path e:\ -name ProfileBackup.csv -type file -force
$profiles = New-WBPolicy
$source = New-WBFileSpec -FileSpec "c:\Users"
Add-WBFileSpec -Policy $profiles -FileSpec $source
$target = New-WBBackupTarget -VolumePath "e:"
Add-WBBackupTarget -Policy $profiles -Target $target
Start-WBBackup -Policy $profiles
if ((Get-WBSummary).LastBackupResultHR -eq 0) {
$newname = "baskup_$(Get-Date -f dd.MM.yyyy)"
Ren e:\WindowsImageBackup -NewName $newname
$csv = Import-Csv e:\ProfileBackup.csv
$count = $csv.count
if ($count -gt 7) {
$old = $count - 7
$file = [System.IO.Path]::GetRandomFileName()
$csv | sort | select -First $old | %{
"delete shadows ID {$($_.SnapshotID)}" > $Env:TEMP\$file
diskshadow -s $Env:TEMP\$file
}
del $Env:TEMP\$file
}
$current = Get-WBBackupSet | select -Last 1 | select VersionID, SnapshotId
$csv += $current
$csv | sort | select -Last 7 | Export-Csv e:\ProfileBackup.csv -NoTypeInformation
} else {Send-mail -subj "Backup Report (SRV002 - Backup)" -body "Backup log" -AttachPath "e:\ProfileBackup.csv"
}
$LogName = "Application"
$Eventlog = gwmi Win32_NTEventlogFile -Filter "LogFileName = '$LogName'"
$Eventlog.BackupEventLog("E:\12\$LogName" + "_" + "$(Get-Date -Format dd.MM.yyyy).evt")
Ответить с цитированием