auto format

pull/681/head
Romain 2024-09-02 16:10:21 +02:00
parent 0f15be36f3
commit 941ea6f2dc
17 changed files with 49 additions and 67 deletions

View File

@ -13,7 +13,8 @@ function Test-Network {
$ncsiHost = Get-ItemPropertyValue -Path $NlaRegKey -Name ActiveWebProbeHost
$ncsiPath = Get-ItemPropertyValue -Path $NlaRegKey -Name ActiveWebProbePath
$ncsiContent = Get-ItemPropertyValue -Path $NlaRegKey -Name ActiveWebProbeContent
} catch {
}
catch {
$ncsiHost = "www.msftconnecttest.com"
$ncsiPath = "connecttest.txt"
$ncsiContent = "Microsoft Connect Test"
@ -22,7 +23,8 @@ function Test-Network {
While ($timeout -lt 1800) {
try {
$ncsiResponse = Invoke-WebRequest -Uri "http://$($ncsiHost)/$($ncsiPath)" -UseBasicParsing -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::Chrome)
} catch {
}
catch {
$ncsiResponse = $false
}

View File

@ -53,93 +53,74 @@ function Uninstall-WingetID ($WingetIDUninst) {
Return
}
function Uninstall-ModsApp ($AppUninst, $AllVersions)
{
foreach ($app in $AppUninst)
{
function Uninstall-ModsApp ($AppUninst, $AllVersions) {
foreach ($app in $AppUninst) {
# we start from scanning the x64 node in registry, if something was found, then we set x64=TRUE
[bool]$app_was_x64 = Process-installedSoftware -app $app -x64 $true;
# if nothing was found in x64 node, then we repeat that action in x86 node
if (!$app_was_x64)
{
if (!$app_was_x64) {
Process-installedSoftware -app $app | Out-Null;
}
}
Return
}
Function Process-installedSoftware()
{
Function Process-installedSoftware() {
[OutputType([Bool])]
Param(
[parameter(Mandatory = $true)] [string]$app,
[parameter(Mandatory = $false)][bool] $x64 = $false
)
if($true -eq $x64)
{
if ($true -eq $x64) {
[string]$path = "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall";
}
else
{
else {
[string]$path = "HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall";
}
[bool]$app_was_found = $false;
[Microsoft.Win32.RegistryKey[]]$InstalledSoftware = Get-ChildItem $path;
foreach ($obj in $InstalledSoftware)
{
if ($obj.GetValue('DisplayName') -like $App)
{
foreach ($obj in $InstalledSoftware) {
if ($obj.GetValue('DisplayName') -like $App) {
$UninstallString = $obj.GetValue('UninstallString')
$CleanedUninstallString = $UninstallString.Trim([char]0x0022)
if ($UninstallString -like "MsiExec.exe*")
{
if ($UninstallString -like "MsiExec.exe*") {
$ProductCode = Select-String "{.*}" -inputobject $UninstallString
$ProductCode = $ProductCode.matches.groups[0].value
#MSI x64 Installer
$Exec = Start-Process "C:\Windows\System32\msiexec.exe" -ArgumentList "/x$ProductCode REBOOT=R /qn" -PassThru -Wait
#Stop Hard Reboot (if bad MSI!)
if ($Exec.ExitCode -eq 1641)
{
if ($Exec.ExitCode -eq 1641) {
Start-Process "C:\Windows\System32\shutdown.exe" -ArgumentList "/a"
}
}
else
{
else {
$QuietUninstallString = $obj.GetValue('QuietUninstallString')
if ($QuietUninstallString)
{
if ($QuietUninstallString) {
$QuietUninstallString = Select-String "(\x22.*\x22) +(.*)" -inputobject $QuietUninstallString
$Command = $QuietUninstallString.matches.groups[1].value
$Parameter = $QuietUninstallString.matches.groups[2].value
#All EXE x64 Installers (already defined silent uninstall)
Start-Process $Command -ArgumentList $Parameter -Wait
}
else
{
if ((Test-Path $CleanedUninstallString))
{
else {
if ((Test-Path $CleanedUninstallString)) {
$NullSoft = Select-String -Path $CleanedUninstallString -Pattern "Nullsoft"
}
if ($NullSoft)
{
if ($NullSoft) {
#NSIS x64 Installer
Start-Process $UninstallString -ArgumentList "/S" -Wait
}
else
{
if ((Test-Path $CleanedUninstallString))
{
else {
if ((Test-Path $CleanedUninstallString)) {
$Inno = Select-String -Path $CleanedUninstallString -Pattern "Inno Setup"
}
if ($Inno)
{
if ($Inno) {
#Inno x64 Installer
Start-Process $UninstallString -ArgumentList "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-" -Wait
}
else
{
else {
Write-Host "$(if($true -eq $x64) {'x64'} else {'x86'}) Uninstaller unknown, trying the UninstallString from registry..."
$NativeUninstallString = Select-String "(\x22.*\x22) +(.*)" -inputobject $UninstallString
$Command = $NativeUninstallString.matches.groups[1].value
@ -151,8 +132,7 @@ Function Process-installedSoftware()
}
}
$app_was_found = $true
if (!$AllVersions)
{
if (!$AllVersions) {
break
}
}