Remove permanent activated IDs check in Office scripts
							parent
							
								
									8e2677b1f9
								
							
						
					
					
						commit
						b732e2c8d7
					
				| 
						 | 
				
			
			@ -2247,16 +2247,6 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2
 | 
			
		|||
 | 
			
		||||
::========================================================================================================================================
 | 
			
		||||
 | 
			
		||||
::  Check already activated products list
 | 
			
		||||
 | 
			
		||||
set actiProds15=
 | 
			
		||||
set actiProds16=
 | 
			
		||||
 | 
			
		||||
if not "%o15c2r%%o15msi%"=="" call :oh_findactivated -like 15
 | 
			
		||||
if not "%o16c2r%%o16msi%"=="" call :oh_findactivated -notlike 16
 | 
			
		||||
 | 
			
		||||
::========================================================================================================================================
 | 
			
		||||
 | 
			
		||||
::  Process Office 15.0 C2R
 | 
			
		||||
 | 
			
		||||
if not defined o15c2r goto :starto16c2r
 | 
			
		||||
| 
						 | 
				
			
			@ -2725,11 +2715,6 @@ exit /b
 | 
			
		|||
 | 
			
		||||
for %%# in (%_oIds%) do (
 | 
			
		||||
 | 
			
		||||
echo: !actiProds%oVer%! | find /i "-%%#-" %nul1% && (
 | 
			
		||||
call :dk_color %Gray% "Checking Activation Status              [%%# is already permanently activated]"
 | 
			
		||||
 | 
			
		||||
) || (
 | 
			
		||||
 | 
			
		||||
set key=
 | 
			
		||||
set _actid=
 | 
			
		||||
set _lic=
 | 
			
		||||
| 
						 | 
				
			
			@ -2754,7 +2739,6 @@ set fixes=%fixes% %mas%
 | 
			
		|||
call :dk_color %_Yellow% "%mas%"
 | 
			
		||||
)
 | 
			
		||||
)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
::  Add SharedComputerLicensing registry key if Retail Office C2R is installed on Windows Server
 | 
			
		||||
::  https://learn.microsoft.com/en-us/office/troubleshoot/office-suite-issues/click-to-run-office-on-terminal-server
 | 
			
		||||
| 
						 | 
				
			
			@ -2827,46 +2811,6 @@ exit /b
 | 
			
		|||
 | 
			
		||||
::========================================================================================================================================
 | 
			
		||||
 | 
			
		||||
:oh_findactivated
 | 
			
		||||
 | 
			
		||||
set oVer=%2
 | 
			
		||||
set _FsortIds=
 | 
			
		||||
set actiProds=
 | 
			
		||||
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT LicenseFamily, Name FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL' | Where-Object { $_.Name %1 '*Office 15*' }).LicenseFamily" %nul6%') do call set "actiProds=%%a !actiProds!"
 | 
			
		||||
 | 
			
		||||
if not defined actiProds exit /b
 | 
			
		||||
 | 
			
		||||
for %%# in (%actiProds%) do (
 | 
			
		||||
set _sortIds=%%#
 | 
			
		||||
set _sortIds=!_sortIds:OfficeSPDFreeR_=SPDRetail_!
 | 
			
		||||
set _sortIds=!_sortIds:XC2RVL_=XVolume_!
 | 
			
		||||
set _sortIds=!_sortIds:CO365R_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:O365R_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:E5R_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:MSDNR_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:DemoR_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:EDUR_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:R_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:VL_=Volume_!
 | 
			
		||||
set _sortIds=!_sortIds:Office16=!
 | 
			
		||||
set _sortIds=!_sortIds:Office19=!
 | 
			
		||||
set _sortIds=!_sortIds:Office21=!
 | 
			
		||||
set _sortIds=!_sortIds:Office24=!
 | 
			
		||||
set _sortIds=!_sortIds:Office=!
 | 
			
		||||
for /f "tokens=1 delims=-_" %%a in ("!_sortIds!") do set "_sortIds=-%%a-"
 | 
			
		||||
set _FsortIds=!_sortIds! !_FsortIds!
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
call :ohookdata findactivated %2
 | 
			
		||||
exit /b
 | 
			
		||||
 | 
			
		||||
::  Below IDs are not checked for permanent activation
 | 
			
		||||
set _sortIds=!_sortIds:PreviewVL_=Volume_!
 | 
			
		||||
set _sortIds=!_sortIds:PreInstallR_=Retail_!
 | 
			
		||||
 | 
			
		||||
::========================================================================================================================================
 | 
			
		||||
 | 
			
		||||
:oh_clearblock
 | 
			
		||||
 | 
			
		||||
::  Find remnants of Office vNext/shared/device license block and remove it because it stops other licenses from appearing
 | 
			
		||||
| 
						 | 
				
			
			@ -3028,11 +2972,8 @@ set upk_result=0
 | 
			
		|||
call :dk_actid 0ff1ce15-a989-479d-af46-f275c6370663
 | 
			
		||||
 | 
			
		||||
if "%_actprojvis%"=="1" (
 | 
			
		||||
set _allactid=
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { $_.LicenseFamily -notmatch 'Project' -and $_.LicenseFamily -notmatch 'Visio' }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { $_.Description -match 'KMSCLIENT' -and ($_.LicenseFamily -match 'Project' -or $_.LicenseFamily -match 'Visio') }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
) else (
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { '!_allactid!' -contains $_.ID -and ($_.LicenseFamily -match 'Project' -or $_.LicenseFamily -match 'Visio') }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
for %%# in (%apps%) do (
 | 
			
		||||
| 
						 | 
				
			
			@ -3344,12 +3285,6 @@ if defined _oIds (set _oIds=!_oIds! %%E) else (set _oIds=%%E)
 | 
			
		|||
)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if %1==findactivated if %oVer%==%%A (
 | 
			
		||||
echo "!_FsortIds!" | find /i "-%%E-" %nul% && (
 | 
			
		||||
set actiProds%oVer%=!actiProds%oVer%! -%%E-
 | 
			
		||||
)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
)
 | 
			
		||||
)
 | 
			
		||||
exit /b
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -495,16 +495,6 @@ reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID %nul2
 | 
			
		|||
 | 
			
		||||
::========================================================================================================================================
 | 
			
		||||
 | 
			
		||||
::  Check already activated products list
 | 
			
		||||
 | 
			
		||||
set actiProds15=
 | 
			
		||||
set actiProds16=
 | 
			
		||||
 | 
			
		||||
if not "%o15c2r%%o15msi%"=="" call :oh_findactivated -like 15
 | 
			
		||||
if not "%o16c2r%%o16msi%"=="" call :oh_findactivated -notlike 16
 | 
			
		||||
 | 
			
		||||
::========================================================================================================================================
 | 
			
		||||
 | 
			
		||||
::  Process Office 15.0 C2R
 | 
			
		||||
 | 
			
		||||
if not defined o15c2r goto :starto16c2r
 | 
			
		||||
| 
						 | 
				
			
			@ -973,11 +963,6 @@ exit /b
 | 
			
		|||
 | 
			
		||||
for %%# in (%_oIds%) do (
 | 
			
		||||
 | 
			
		||||
echo: !actiProds%oVer%! | find /i "-%%#-" %nul1% && (
 | 
			
		||||
call :dk_color %Gray% "Checking Activation Status              [%%# is already permanently activated]"
 | 
			
		||||
 | 
			
		||||
) || (
 | 
			
		||||
 | 
			
		||||
set key=
 | 
			
		||||
set _actid=
 | 
			
		||||
set _lic=
 | 
			
		||||
| 
						 | 
				
			
			@ -1002,7 +987,6 @@ set fixes=%fixes% %mas%
 | 
			
		|||
call :dk_color %_Yellow% "%mas%"
 | 
			
		||||
)
 | 
			
		||||
)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
::  Add SharedComputerLicensing registry key if Retail Office C2R is installed on Windows Server
 | 
			
		||||
::  https://learn.microsoft.com/en-us/office/troubleshoot/office-suite-issues/click-to-run-office-on-terminal-server
 | 
			
		||||
| 
						 | 
				
			
			@ -1075,46 +1059,6 @@ exit /b
 | 
			
		|||
 | 
			
		||||
::========================================================================================================================================
 | 
			
		||||
 | 
			
		||||
:oh_findactivated
 | 
			
		||||
 | 
			
		||||
set oVer=%2
 | 
			
		||||
set _FsortIds=
 | 
			
		||||
set actiProds=
 | 
			
		||||
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT LicenseFamily, Name FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL' | Where-Object { $_.Name %1 '*Office 15*' }).LicenseFamily" %nul6%') do call set "actiProds=%%a !actiProds!"
 | 
			
		||||
 | 
			
		||||
if not defined actiProds exit /b
 | 
			
		||||
 | 
			
		||||
for %%# in (%actiProds%) do (
 | 
			
		||||
set _sortIds=%%#
 | 
			
		||||
set _sortIds=!_sortIds:OfficeSPDFreeR_=SPDRetail_!
 | 
			
		||||
set _sortIds=!_sortIds:XC2RVL_=XVolume_!
 | 
			
		||||
set _sortIds=!_sortIds:CO365R_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:O365R_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:E5R_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:MSDNR_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:DemoR_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:EDUR_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:R_=Retail_!
 | 
			
		||||
set _sortIds=!_sortIds:VL_=Volume_!
 | 
			
		||||
set _sortIds=!_sortIds:Office16=!
 | 
			
		||||
set _sortIds=!_sortIds:Office19=!
 | 
			
		||||
set _sortIds=!_sortIds:Office21=!
 | 
			
		||||
set _sortIds=!_sortIds:Office24=!
 | 
			
		||||
set _sortIds=!_sortIds:Office=!
 | 
			
		||||
for /f "tokens=1 delims=-_" %%a in ("!_sortIds!") do set "_sortIds=-%%a-"
 | 
			
		||||
set _FsortIds=!_sortIds! !_FsortIds!
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
call :ohookdata findactivated %2
 | 
			
		||||
exit /b
 | 
			
		||||
 | 
			
		||||
::  Below IDs are not checked for permanent activation
 | 
			
		||||
set _sortIds=!_sortIds:PreviewVL_=Volume_!
 | 
			
		||||
set _sortIds=!_sortIds:PreInstallR_=Retail_!
 | 
			
		||||
 | 
			
		||||
::========================================================================================================================================
 | 
			
		||||
 | 
			
		||||
:oh_clearblock
 | 
			
		||||
 | 
			
		||||
::  Find remnants of Office vNext/shared/device license block and remove it because it stops other licenses from appearing
 | 
			
		||||
| 
						 | 
				
			
			@ -1276,11 +1220,8 @@ set upk_result=0
 | 
			
		|||
call :dk_actid 0ff1ce15-a989-479d-af46-f275c6370663
 | 
			
		||||
 | 
			
		||||
if "%_actprojvis%"=="1" (
 | 
			
		||||
set _allactid=
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { $_.LicenseFamily -notmatch 'Project' -and $_.LicenseFamily -notmatch 'Visio' }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { $_.Description -match 'KMSCLIENT' -and ($_.LicenseFamily -match 'Project' -or $_.LicenseFamily -match 'Visio') }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
) else (
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { '!_allactid!' -contains $_.ID -and ($_.LicenseFamily -match 'Project' -or $_.LicenseFamily -match 'Visio') }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
for %%# in (%apps%) do (
 | 
			
		||||
| 
						 | 
				
			
			@ -2375,12 +2316,6 @@ if defined _oIds (set _oIds=!_oIds! %%E) else (set _oIds=%%E)
 | 
			
		|||
)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if %1==findactivated if %oVer%==%%A (
 | 
			
		||||
echo "!_FsortIds!" | find /i "-%%E-" %nul% && (
 | 
			
		||||
set actiProds%oVer%=!actiProds%oVer%! -%%E-
 | 
			
		||||
)
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
)
 | 
			
		||||
)
 | 
			
		||||
exit /b
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1429,11 +1429,8 @@ set upk_result=0
 | 
			
		|||
call :dk_actid 0ff1ce15-a989-479d-af46-f275c6370663
 | 
			
		||||
 | 
			
		||||
if "%_actprojvis%"=="1" (
 | 
			
		||||
set _allactid=
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { $_.LicenseFamily -notmatch 'Project' -and $_.LicenseFamily -notmatch 'Visio' }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { $_.Description -match 'KMSCLIENT' -and ($_.LicenseFamily -match 'Project' -or $_.LicenseFamily -match 'Visio') }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
) else (
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
for /f "delims=" %%a in ('%psc% "(Get-WmiObject -Query 'SELECT ID, Description, LicenseFamily FROM %spp% WHERE ApplicationID=''0ff1ce15-a989-479d-af46-f275c6370663'' AND PartialProductKey IS NOT NULL' | Where-Object { '!_allactid!' -contains $_.ID -and ($_.LicenseFamily -match 'Project' -or $_.LicenseFamily -match 'Visio') }).ID" %nul6%') do call set "_allactid=%%a !_allactid!"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
for %%# in (%apps%) do (
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue