[GH-ISSUE #1046] TSforge ranged twice to active #716

Closed
opened 2026-02-27 10:12:25 +03:00 by kerem · 1 comment
Owner

Originally created by @ChengYuQing2013 on GitHub (Aug 10, 2025).
Original GitHub issue: https://github.com/massgravel/Microsoft-Activation-Scripts/issues/1046

In the latest (ver3.4) TSforge_Activation.cmd, there is a problem it actives in the first time successfully, but it ranged twice to try.
I would like to make it not automatically actives by SCID, so I changed the bat code in Separate Files Version.
Here:
foreach ($params in $attempts) {
[LibTSforge.Modifiers.SetIIDParams]::SetParams($ver, $prod, $tsactid, [LibTSforge.SPP.PKeyAlgorithm]::PKEY2009, $params[0], $params[1], $params[2])
$instId = [LibTSforge.SPP.SLApi]::GetInstallationID($tsactid)
$confId = [ActivationWs.ActivationHelper]::CallWebService(1, $instId, "31337-42069-123-456789-04-1337-2600.0000-2542001")
# $result = [LibTSforge.SPP.SLApi]::DepositConfirmationID($tsactid, $instId, $confId)
# I deleted the deposit module to make it not automatically active and print IID with CID.
echo IID:$instId CID:$confId
}
I found that the command prompt printed 4 lines (or 2 pairs of active informations). In this information, both of them are correct IIDs (it means this IID can active Windows), but why it ranged twice?
Image

Originally created by @ChengYuQing2013 on GitHub (Aug 10, 2025). Original GitHub issue: https://github.com/massgravel/Microsoft-Activation-Scripts/issues/1046 In the latest (ver3.4) TSforge_Activation.cmd, there is a problem it actives in the first time successfully, but it ranged twice to try. I would like to make it not automatically actives by SCID, so I changed the bat code in Separate Files Version. Here: foreach ($params in $attempts) { [LibTSforge.Modifiers.SetIIDParams]::SetParams($ver, $prod, $tsactid, [LibTSforge.SPP.PKeyAlgorithm]::PKEY2009, $params[0], $params[1], $params[2]) $instId = [LibTSforge.SPP.SLApi]::GetInstallationID($tsactid) $confId = [ActivationWs.ActivationHelper]::CallWebService(1, $instId, "31337-42069-123-456789-04-1337-2600.0000-2542001") # $result = [LibTSforge.SPP.SLApi]::DepositConfirmationID($tsactid, $instId, $confId) # I deleted the deposit module to make it not automatically active and print IID with CID. echo IID:$instId CID:$confId } I found that the command prompt printed 4 lines (or 2 pairs of active informations). In this information, both of them are correct IIDs (it means this IID can active Windows), but why it ranged twice? <img width="734" height="383" alt="Image" src="https://github.com/user-attachments/assets/1f88cb29-1f74-435c-8a80-d44919e23e69" />
kerem closed this issue 2026-02-27 10:12:25 +03:00
Author
Owner

@ChengYuQing2013 commented on GitHub (Aug 10, 2025):

Image If not true then it's going to try both IDs; they are there because on Insider Windows version, the retail ID doesn't work.`$result -eq 0`

Thank you, I see. If I delete the "break" code, then it will always range twice, else if just "break", not if-break, it will always range once?

<!-- gh-comment-id:3172652361 --> @ChengYuQing2013 commented on GitHub (Aug 10, 2025): > <img alt="Image" width="317" height="188" src="https://private-user-images.githubusercontent.com/40813939/476357370-f89a17ff-d8a5-4134-b28d-5a09302adfc9.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTQ4MzQxNzksIm5iZiI6MTc1NDgzMzg3OSwicGF0aCI6Ii80MDgxMzkzOS80NzYzNTczNzAtZjg5YTE3ZmYtZDhhNS00MTM0LWIyOGQtNWEwOTMwMmFkZmM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA4MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwODEwVDEzNTExOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM3M2ZhMWMxY2QxMWNjNWUxZWYyYWJhZmQ4YTU4NzhhNWZhNWM1NGZlOTUwMThlNmYyMmNlOTc5ZDI0MjM4OGUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.wYOZDRAhyMuyx8G0PVxzp8SHqqkQvPM6E2OxJ0bPFqg"> > If not true then it's going to try both IDs; they are there because on Insider Windows version, the retail ID doesn't work.`$result -eq 0` Thank you, I see. If I delete the "break" code, then it will always range twice, else if just "break", not if-break, it will always range once?
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Microsoft-Activation-Scripts#716
No description provided.