2
0

Created Checks First for Default Apps

This commit is contained in:
bschaper 2024-12-11 13:06:26 -06:00
parent 8cd4a1ca63
commit de244d5924
3 changed files with 126 additions and 11 deletions

View File

@ -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."

View File

@ -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."

View File

@ -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