diff --git a/Login/DefaultApp-Adobe.ps1 b/Login/DefaultApp-Adobe.ps1 new file mode 100644 index 0000000..f49c080 --- /dev/null +++ b/Login/DefaultApp-Adobe.ps1 @@ -0,0 +1,42 @@ +# Script to set Adobe Acrobat as default for specified file types +$fileTypes = @(".pdf") +$setUserFtaPath = "C:\Scripts\Software\setuserfta.exe" + +# Function to check and set default app for a file type +function Set-DefaultAppIfNeeded { + param( + [string]$fileType + ) + + try { + # Get the current default app for the file type + $currentDefault = (Get-ItemProperty "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$fileType\UserChoice" -ErrorAction SilentlyContinue).ProgId + + # Check if Adobe Acrobat is not the default + if ($currentDefault -ne "AcroExch.Document") { + Write-Host "Setting Adobe Acrobat as default for $fileType" + + # Ensure setuserfta.exe path exists + if (-not (Test-Path $setUserFtaPath)) { + Write-Error "setuserfta.exe not found at $setUserFtaPath" + return + } + + # Run setuserfta.exe to set Adobe Acrobat as default + Start-Process $setUserFtaPath -ArgumentList "`"$fileType`" AcroExch.Document" -Wait -NoNewWindow + } + else { + Write-Host "Adobe Acrobat is already the default for $fileType" + } + } + catch { + Write-Error "Error processing $fileType`: $_" + } +} + +# Process each file type +foreach ($type in $fileTypes) { + Set-DefaultAppIfNeeded -fileType $type +} + +Write-Host "File type default app check completed." \ No newline at end of file diff --git a/Login/DefaultApp-Chrome.ps1 b/Login/DefaultApp-Chrome.ps1 new file mode 100644 index 0000000..16915e2 --- /dev/null +++ b/Login/DefaultApp-Chrome.ps1 @@ -0,0 +1,77 @@ +# Script to set Google Chrome as default for specified file types and link types +$fileTypes = @(".htm", ".html", ".mhtml", ".svg", ".shtml", ".webp", ".xht", ".xhtml") +$linkTypes = @("http", "https") +$setUserFtaPath = "C:\Scripts\Software\setuserfta.exe" + +# Function to check and set default app for file types +function Set-DefaultFileTypeIfNeeded { + param( + [string]$fileType + ) + + try { + # Get the current default app for the file type + $currentDefault = (Get-ItemProperty "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$fileType\UserChoice" -ErrorAction SilentlyContinue).ProgId + + # Check if Chrome is not the default + if ($currentDefault -ne "ChromeHTML") { + Write-Host "Setting Chrome as default for file type $fileType" + + # Ensure setuserfta.exe path exists + if (-not (Test-Path $setUserFtaPath)) { + Write-Error "setuserfta.exe not found at $setUserFtaPath" + return + } + + # Run setuserfta.exe to set Chrome as default + Start-Process $setUserFtaPath -ArgumentList "`"$fileType`" ChromeHTML" -Wait -NoNewWindow + } + else { + Write-Host "Chrome is already the default for file type $fileType" + } + } + catch { + Write-Error "Error processing file type $fileType`: $_" + } +} + +# Function to check and set default app for link types +function Set-DefaultLinkTypeIfNeeded { + param( + [string]$linkType + ) + + try { + # Registry path for URL protocol handlers + $registryPath = "HKCU:\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\$linkType\UserChoice" + + # Get the current default app for the link type + $currentDefault = (Get-ItemProperty $registryPath -ErrorAction SilentlyContinue).ProgId + + # Check if Chrome is not the default + if ($currentDefault -ne "ChromeHTML") { + Write-Host "Setting Chrome as default for link type $linkType" + + # Run setuserfta.exe to set Chrome as default + Start-Process $setUserFtaPath -ArgumentList "`"$linkType`" ChromeHTML" -Wait -NoNewWindow + } + else { + Write-Host "Chrome is already the default for link type $linkType" + } + } + catch { + Write-Error "Error processing link type $linkType`: $_" + } +} + +# Process each file type +foreach ($type in $fileTypes) { + Set-DefaultFileTypeIfNeeded -fileType $type +} + +# Process each link type +foreach ($type in $linkTypes) { + Set-DefaultLinkTypeIfNeeded -linkType $type +} + +Write-Host "File and link type default app check completed." \ No newline at end of file diff --git a/TCSE-Login.bat b/TCSE-Login.bat index 9823727..498c884 100644 --- a/TCSE-Login.bat +++ b/TCSE-Login.bat @@ -10,17 +10,13 @@ set "LOGFILE=%LOGFILE: =0%" echo Starting setup script at %DATE% %TIME% > "%LOGFILE%" -:: Set App Defaults -echo Setting Default Apps... >> "%LOGFILE%" -C:\Scripts\Software\setuserfta.exe .pdf AcroExch.Document -C:\Scripts\Software\setuserfta.exe .htm ChromeHTML -C:\Scripts\Software\setuserfta.exe .html ChromeHTML -C:\Scripts\Software\setuserfta.exe http ChromeHTML -C:\Scripts\Software\setuserfta.exe https ChromeHTML -C:\Scripts\Software\setuserfta.exe .mhtml ChromeHTML -C:\Scripts\Software\setuserfta.exe .svg ChromeHTML -C:\Scripts\Software\setuserfta.exe .xht ChromeHTML -C:\Scripts\Software\setuserfta.exe .xhtml ChromeHTML +:: Set Adobe Acrobat to Default PDF Viewer +echo Setting Adobe Acrobat to Default PDF Viewer... >> "%LOGFILE%" +powershell -ExecutionPolicy Bypass -File "C:\Scripts\Login\DefaultApp-Adobe.ps1" + +:: Set Google Chrome to Default Browser +echo Setting Google Chrome to Default Browser... >> "%LOGFILE%" +powershell -ExecutionPolicy Bypass -File "C:\Scripts\Login\DefaultApp-Chrome.ps1" :: Run Debloat Script powershell -ExecutionPolicy Bypass -File "C:\Scripts\Software\Win11Debloat\Win11Debloat.ps1" -Silent -RemoveW11Outlook -DisableTelemetry -DisableBing -DisableSuggestions -DisableLockscreenTips -ShowKnownFileExt