diff --git a/kopia_backup/kopia_server_deploy_service_win/DEPLOY.cmd b/kopia_backup/kopia_server_deploy_service_win/DEPLOY.cmd index 68dbb3d..59cb429 100644 --- a/kopia_backup/kopia_server_deploy_service_win/DEPLOY.cmd +++ b/kopia_backup/kopia_server_deploy_service_win/DEPLOY.cmd @@ -26,8 +26,6 @@ if exist "C:\Kopia\kopia_server_start.cmd" ( echo - copying files to C:\Kopia robocopy "%~dp0\" "C:\Kopia" "kopia.exe" /NDL /NJH /NJS robocopy "%~dp0\" "C:\Kopia" "kopia_server_start.cmd" /NDL /NJH /NJS -robocopy "%~dp0\" "C:\Kopia" "win_vss_before.ps1" /NDL /NJH /NJS -robocopy "%~dp0\" "C:\Kopia" "win_vss_after.ps1" /NDL /NJH /NJS robocopy "%~dp0\" "C:\Kopia" "shawl.exe" /NDL /NJH /NJS echo. @@ -43,7 +41,6 @@ sc config Kopia start=auto echo - start Kopia service sc start Kopia - echo - copying link to Desktop robocopy "%~dp0\" "%USERPROFILE%\Desktop" "Kopia.url" /NDL /NJH /NJS diff --git a/kopia_backup/kopia_server_deploy_service_win/shawl.exe b/kopia_backup/kopia_server_deploy_service_win/shawl.exe index 90b0b5a..bc77958 100644 Binary files a/kopia_backup/kopia_server_deploy_service_win/shawl.exe and b/kopia_backup/kopia_server_deploy_service_win/shawl.exe differ diff --git a/kopia_backup/kopia_server_deploy_service_win/win_vss_after.ps1 b/kopia_backup/kopia_server_deploy_service_win/win_vss_after.ps1 deleted file mode 100644 index 01c9fb8..0000000 --- a/kopia_backup/kopia_server_deploy_service_win/win_vss_after.ps1 +++ /dev/null @@ -1,18 +0,0 @@ -if ($args.Length -eq 0) { - $kopiaSnapshotId = $env:KOPIA_SNAPSHOT_ID -} else { - $kopiaSnapshotId = $args[0] -} - -if (([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) { - $mountPoint = Get-Item "${PSScriptRoot}\${kopiaSnapshotId}" - $mountedVolume = $mountPoint.Target - - cmd /c rmdir $mountPoint - Get-CimInstance -ClassName Win32_ShadowCopy | Where-Object { "$($_.DeviceObject)\" -eq "\\?\${mountedVolume}" } | Remove-CimInstance -} else { - Start-Process 'powershell' '-f', $MyInvocation.MyCommand.Path, $kopiaSnapshotId -Verb RunAs -WindowStyle Hidden -Wait - if ($proc.ExitCode) { - exit $proc.ExitCode - } -} diff --git a/kopia_backup/kopia_server_deploy_service_win/win_vss_before.ps1 b/kopia_backup/kopia_server_deploy_service_win/win_vss_before.ps1 deleted file mode 100644 index e3692b1..0000000 --- a/kopia_backup/kopia_server_deploy_service_win/win_vss_before.ps1 +++ /dev/null @@ -1,30 +0,0 @@ -if ($args.Length -eq 0) { - $kopiaSnapshotId = $env:KOPIA_SNAPSHOT_ID - $kopiaSourcePath = $env:KOPIA_SOURCE_PATH -} else { - $kopiaSnapshotId = $args[0] - $kopiaSourcePath = $args[1] -} - -$sourceDrive = Split-Path -Qualifier $kopiaSourcePath -$sourcePath = Split-Path -NoQualifier $kopiaSourcePath -# use Kopia snapshot ID as mount point name for extra caution for duplication -$mountPoint = "${PSScriptRoot}\${kopiaSnapshotId}" - -if (([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) { - $shadowId = (Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create -Arguments @{ Volume = "${sourceDrive}\" }).ShadowID - $shadowDevice = (Get-CimInstance -ClassName Win32_ShadowCopy | Where-Object { $_.ID -eq $shadowId }).DeviceObject - if (-not $shadowDevice) { - # fail the Kopia snapshot early if shadow copy was not created - exit 1 - } - - cmd /c mklink /d $mountPoint "${shadowDevice}\" -} else { - $proc = Start-Process 'powershell' '-f', $MyInvocation.MyCommand.Path, $kopiaSnapshotId, $kopiaSourcePath -PassThru -Verb RunAs -WindowStyle Hidden -Wait - if ($proc.ExitCode) { - exit $proc.ExitCode - } -} - -Write-Output "KOPIA_SNAPSHOT_PATH=${mountPoint}${sourcePath}"