diff --git a/setupOffice.ps1 b/setupOffice.ps1 index 30c616d..827c802 100644 --- a/setupOffice.ps1 +++ b/setupOffice.ps1 @@ -20,10 +20,28 @@ function CheckOfficeInstall { InstallOffice } Write-Host "Activating Windows and Office..." + $status = CheckActivation + ActivateWindowsOffice Write-Host "Windows and Office activation complete!" } +function CheckActivation { + $osLicense = Get-CimInstance -ClassName SoftwareLicensingProduct | Where-Object { $_.Description -match "Windows" } + $officeLicense = Get-CimInstance -ClassName SoftwareLicensingProduct | Where-Object { $_.Description -match "Office" } + $windows = $osLicense.Description + $office = $officeLicense.Description + + # if both activated return true + if ($osLicense.LicenseStatus -eq 1 -and $officeLicense.LicenseStatus -eq 1) { + Write-Host "Windows and Office are activated." + return $true + } else { + Write-Host "Windows and Office are not activated." + return $false + } +} + function InstallOffice { DownloadFiles -Type "Office" $imagePath = Join-Path $tmpPath "O365ProPlusRetail.img" diff --git a/setupReg.ps1 b/setupReg.ps1 index 0d13054..c82e4f5 100644 --- a/setupReg.ps1 +++ b/setupReg.ps1 @@ -87,14 +87,26 @@ function SetupEleveReg { } Write-Host "Added registry entries" Write-Host "Unloading registry HIVE" - Start-Sleep -s 5 - Write-Host "REG UNLOAD HKEY_USERS\$UserSID" - $res = REG UNLOAD HKEY_USERS\$UserSID - if ($res -ne 0) { - Write-Host "Failed to unload $username's HKU registry hive." + $retryCount = 0 + $retryLimit = 5 + $success = $false + + while (-not $success -and $retryCount -lt $retryLimit) { + Start-Sleep -s 5 + Write-Host "REG UNLOAD HKEY_USERS\$UserSID (attempt $($retryCount + 1))" + $res = REG UNLOAD HKEY_USERS\$UserSID + if ($res -ne 0) { + Write-Host "Failed to unload $username's HKU registry hive. Retrying in 5 seconds..." + $retryCount++ + } + else { + Write-Host "Unloaded $username's HKU registry hive." + $success = $true + } } - else { - Write-Host "Unloaded $username's HKU registry hive." + + if (-not $success) { + Write-Host "Failed to unload $username's HKU registry hive after $retryLimit attempts." } } else { Write-Host "Unable to get the user's HKU registry."