====== PowerShell: Réparer l'activation sur plusieurs postes Windows 7 Entreprise ======
Suite au problème du 08/01/2019, je partage ici un script qui m'a pas mal aidé pour réactiver les postes
Depuis une liste de poste Windows 7 Entreprise que l'on a récupéré
$win7list = get-content "c:\scripts\KMS\win7list.txt"
foreach ($computer in $win7list)
{
if (Test-Connection -Quiet $computer -BufferSize 16 -Count 1)
{
Write-Host "Connecting to $computer"
Invoke-Command -ComputerName $computer -ScriptBlock {(wusa.exe /uninstall /KB:971033 /quiet /norestart),(stop-service sppsvc),(Remove-Item "$env:windir\system32\7B296FB0-376B-497e-B012-9C450E1B7327-5P-0.C7483456-A289-439d-8115-601632D005A0" -Force),(Remove-Item "$env:windir\system32\7B296FB0-376B-497e-B012-9C450E1B7327-5P-1.C7483456-A289-439d-8115-601632D005A0" -Force),(Remove-Item "$env:windir\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\tokens.dat" -Force),(Remove-Item "$env:windir\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\cache\cache.dat" -Force),(Start-Service sppsvc),(slmgr //B /ipk 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH),(slmgr //B /ato)}
}
else
{
write-host "$computer is offline." -ForegroundColor Magenta
}
}
Sur un poste en local
# Assembly
[System.Reflection.Assembly]::LoadWithPartialName('presentationframework') | Out-null
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") | Out-Null
Add-Type -AssemblyName "System.Windows.Forms"
Add-Type -AssemblyName "System.Drawing"
If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
Echo "This script needs to be run As Admin"
[System.Windows.MessageBox]::Show('This script needs to be run As Admin','Need Admin Elevation','OK','Error')
Break
}
[Console]::OutputEncoding = [System.Text.Encoding]::UTF7
$KMSHOSTS = Resolve-DnsName -type srv _vlmcs._tcp.$Env:USERDNSDOMAIN
Write-host Your KMS HOST was :
Foreach ($KMS in $KMSHOSTS)
{
$KMSNAME = $KMS.NameTarget
$KMSPORT = $KMS.Port
$Global:SKMS = "$KMSNAME`:$KMSPORT"
Write-host $SKMS
}
wusa.exe /uninstall /KB:971033 /quiet /norestart -
Stop-Service -InputObject sppsvc -Force
Remove-Item "$env:windir\system32\7B296FB0-376B-497e-B012-9C450E1B7327-5P-0.C7483456-A289-439d-8115-601632D005A0" -Force
Remove-Item "$env:windir\system32\7B296FB0-376B-497e-B012-9C450E1B7327-5P-1.C7483456-A289-439d-8115-601632D005A0" -Force
Remove-Item "$env:windir\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\tokens.dat" -Force
Remove-Item "$env:windir\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\cache\cache.dat" -Force
start-service -InputObject sppsvc
& Cscript.exe "$Env:Windir\system32\slmgr.vbs" -skms $SKMS
& Cscript.exe "$Env:Windir\system32\slmgr.vbs" -ipk 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
& Cscript.exe "$Env:Windir\system32\slmgr.vbs" "-ato"
& Cscript.exe "$Env:Windir\system32\slmgr.vbs" "-dlv"