1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
# On ouvre un Internet Explorer sur l'URL désirée
$ie = New-Object -ComObject 'internetExplorer.Application'
$ie.Visible= $true
$ie.Navigate("https://microsoft.gointeract.io/interact/index?interaction=1461173234028-3884f8602eccbe259104553afa8415434b4581-05d1&accountId=microsoft&appkey=196de13c-e946-4531-98f6-2719ec8405ce&Language=French&CountryCode=fr&CountryLanguage=FR&Click%20To%20Call%20Caller%20Id=+33769090385&startedFromSmsToken=Y8P0feI&token=tQjWI6")
while ($ie.Busy -eq $true){Start-Sleep -seconds 5;}
# Je clique sur le bouton pour sélectionner une activation à 7 chiffres
$Open = $ie.Document.getElementByID('1461173234025-3129f8602eccbe259104553afa8415434b4581-02de_1461173234023-2568f8602eccbe259104553afa8415434b458-10ad')
$Open.click()
# Je récupère et met en forme l'ID d'activation via la commande "slmgr.vbs /dti"
$ActivationID = cscript c:\windows\System32\slmgr.vbs /dti
$ActivationID = $ActivationID.Split(':')[4].Trim()
$ActivationID1 = $ActivationID.Substring(0,7)
$ActivationID2 = $ActivationID.Substring(7,7)
$ActivationID3 = $ActivationID.Substring(14,7)
$ActivationID4 = $ActivationID.Substring(21,7)
$ActivationID5 = $ActivationID.Substring(28,7)
$ActivationID6 = $ActivationID.Substring(35,7)
$ActivationID7 = $ActivationID.Substring(42,7)
$ActivationID8 = $ActivationID.Substring(49,7)
$ActivationID9 = $ActivationID.Substring(56,7)
# Pour vérifier que l'ID d'activation est bien formaté, je le print dans la console
Write-Output "$ActivationID1-$ActivationID2-$ActivationID3-$ActivationID4-$ActivationID5-$ActivationID6-$ActivationID7-$ActivationID8-$ActivationID9"
# On attend quelques secodnes que la page se charge
# PS: Si vous avez une meilleure méthode je suis preneur
Start-Sleep -seconds 5;
# Pour chaque champs de type input à remplir, je supprime la désactivation par défaut
# Puis j'insère l'ID
$ie.Document.getElementByID('field1').disabled = ''
$ie.Document.getElementByID('field1').value = $ActivationID1
$ie.Document.getElementByID('field2').disabled = ''
$ie.Document.getElementByID('field2').value = $ActivationID2
$ie.Document.getElementByID('field3').disabled = ''
$ie.Document.getElementByID('field3').value = $ActivationID3
$ie.Document.getElementByID('field4').disabled = ''
$ie.Document.getElementByID('field4').value = $ActivationID4
$ie.Document.getElementByID('field5').disabled = ''
$ie.Document.getElementByID('field5').value = $ActivationID5
$ie.Document.getElementByID('field6').disabled = ''
$ie.Document.getElementByID('field6').value = $ActivationID6
$ie.Document.getElementByID('field7').disabled = ''
$ie.Document.getElementByID('field7').value = $ActivationID7
$ie.Document.getElementByID('field8').disabled = ''
$ie.Document.getElementByID('field8').value = $ActivationID8
$ie.Document.getElementByID('field9').disabled = ''
$ie.Document.getElementByID('field9').value = $ActivationID9
# Petite pause probablement inutile
Start-Sleep -Milliseconds 750
# Pour chaque DIV qui contient "ui-state-disabled" dans sa ClassName, je supprime l'état de désactivation
foreach ($divs in ($ie.Document.getElementsByTagName("div") | Where-Object { $_.className -match "ui-state-disabled" })) {
$divs.className = "ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset ui-focus"
}
# J'active le bouton de soumission du formulaire et je clique dessus pour l'envoyer
$Submitactivation = $ie.Document.getElementByID('custom-msft-submit')
$Submitactivation.className = 'jma-click-to-continue-button ui-btn ui-btn-icon-right ui-icon-carat-r'
$Submitactivation.click() |
Partager