User Tools

Site Tools


os:windows7:astuce:kms

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"

os/windows7/astuce/kms.txt · Last modified: 2020/08/10 23:07 (external edit)