Initial commit
This commit is contained in:
71
3_ConfigAfterNextcloud.ps1
Normal file
71
3_ConfigAfterNextcloud.ps1
Normal file
@@ -0,0 +1,71 @@
|
||||
# set-executionpolicy unrestricted
|
||||
|
||||
# Check if running as administrator
|
||||
if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
|
||||
Write-Host "This script requires administrator privileges. Attempting to restart as administrator..." -ForegroundColor Yellow
|
||||
|
||||
# Get the current script path
|
||||
$scriptPath = $MyInvocation.MyCommand.Path
|
||||
|
||||
# Restart the script with administrator privileges
|
||||
try {
|
||||
Start-Process PowerShell -Verb RunAs -ArgumentList "-ExecutionPolicy Bypass -File `"$scriptPath`""
|
||||
exit
|
||||
}
|
||||
catch {
|
||||
Write-Error "Failed to restart as administrator. Please run this script as administrator manually."
|
||||
Write-Host "Right-click on PowerShell and select 'Run as administrator', then run this script again." -ForegroundColor Red
|
||||
pause
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host "Running with administrator privileges." -ForegroundColor Green
|
||||
|
||||
|
||||
$uid = $Env:UserName
|
||||
# Get the directory where this script is located
|
||||
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
|
||||
# Copy SSH directory from Nextcloud synchronized location if it exists
|
||||
$sshSourceDir = "C:\Users\$uid\Nextcloud\Documents\Important_Docs\.ssh"
|
||||
$sshDestDir = "C:\Users\$uid\.ssh"
|
||||
if (Test-Path -Path $sshSourceDir) {
|
||||
Copy-Item -Path $sshSourceDir -Destination $sshDestDir -Recurse -Force
|
||||
Write-Host "Copied SSH directory from Nextcloud to: $sshDestDir"
|
||||
} else {
|
||||
Write-Host "Important_Docs/.ssh directory not found at: $sshSourceDir. Skipping SSH key copy." -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
python "$scriptDir\Python\NextcloudClientFix.py"
|
||||
|
||||
# Nextcloud - Copy sync-exclude.lst to AppData
|
||||
Write-Host "Configuring Nextcloud sync exclusions..."
|
||||
|
||||
# Define the source and destination paths for sync-exclude.lst
|
||||
$syncExcludeSource = "$scriptDir\sync-exclude.lst"
|
||||
$nextcloudAppDataDir = "$env:APPDATA\Nextcloud"
|
||||
$syncExcludeDestination = Join-Path -Path $nextcloudAppDataDir -ChildPath "sync-exclude.lst"
|
||||
|
||||
# Check if the source file exists
|
||||
if (Test-Path -Path $syncExcludeSource) {
|
||||
# Ensure the Nextcloud AppData directory exists
|
||||
if (-not (Test-Path -Path $nextcloudAppDataDir)) {
|
||||
try {
|
||||
New-Item -Path $nextcloudAppDataDir -ItemType Directory -Force | Out-Null
|
||||
Write-Host "Created Nextcloud directory at: $nextcloudAppDataDir"
|
||||
} catch {
|
||||
Write-Warning "Failed to create Nextcloud directory: $_"
|
||||
}
|
||||
}
|
||||
|
||||
# Copy the sync-exclude.lst file
|
||||
try {
|
||||
Copy-Item -Path $syncExcludeSource -Destination $syncExcludeDestination -Force
|
||||
Write-Host "Copied sync-exclude.lst to $syncExcludeDestination"
|
||||
} catch {
|
||||
Write-Warning "Failed to copy sync-exclude.lst: $_"
|
||||
}
|
||||
} else {
|
||||
Write-Warning "sync-exclude.lst not found at: $syncExcludeSource"
|
||||
}
|
||||
Reference in New Issue
Block a user