Nhờ tư vấn - Script Autoit: Đọc và kiểm tra mã lỗi Activate() trong WMI | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software. 

All the knowledge we share is completely free. If you are willing, please support us here.

×

Nhờ tư vấn Script Autoit: Đọc và kiểm tra mã lỗi Activate() trong WMI

bbkim

Mỗi người một câu chuyện
Chào các bạn!

Mình có đoạn script autoit như dưới.
Mình muốn dùng nó để check mã lỗi khi kích hoạt Windows
Tương tự như đoạn lệnh "slmgr.vbs -ato" trong Command Prompt
Mình muốn lấy đoạn báo mã lỗi (VD: "Error: 0xC004C003 The activation server determined the specified product key is blocked") để xác định lỗi kích hoạt.

Các bạn kiểm tra giúp mình để check lỗi kích hoạt bằng WMI với nha.

Chân thành cảm ơn!

Mã:
#RequireAdmin
Opt('MustDeclareVars', 1)
Local $wbemFlagReturnImmediately, $wbemFlagForwardOnly, $colItems, $strComputer, $Output, $objWMIService, $objItem = ""
$wbemFlagReturnImmediately = 0x10
$wbemFlagForwardOnly = 0x20
$colItems = ""
$strComputer = "localhost"

$Output=""
$Output = $Output & "Computer: " & $strComputer  & @CRLF
$Output = $Output & "==========================================" & @CRLF
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM SoftwareLicensingProduct WHERE PartialProductKey <> Null", "WQL", _
                                          $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) then
   For $objItem In $colItems
      $objItem.Activate()
      $Output = $Output & "ApplicationID: " & $objItem.ApplicationID & @CRLF
      $Output = $Output & "ID: " & $objItem.ID & @CRLF
      $Output = $Output & "LicenseFamily: " & $objItem.LicenseFamily & @CRLF
      $Output = $Output & "InstallationID: " & $objItem.OfflineInstallationId & @CRLF
      $Output = $Output & "LicenseStatus: " & $objItem.LicenseStatus & @CRLF
      if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
      $Output=""
   Next
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "SoftwareLicensingProduct" )
Endif

Func WMIDateStringToDate($dtmDate)
    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
EndFunc
 

bbkim

Mỗi người một câu chuyện
Sau một hồi lần mò thì tìm được mã lỗi.
-2147352567 0x80020009 Exception occurred.

Những vẫn chưa giải quyết được vấn đề. Haiz
 

bbkim

Mỗi người một câu chuyện
hahaha e cũng mò cái này mà chịu code cmd thì vô tư chứ cáo wim này bó tay
hỏi trường huỳnh hay thằng quýt đó bác
thằng quýt nó đang code loại này đó bác
2 người đó dùng mã nguồn khác chứ có dùng autoit đâu.

Hem lẽ giờ chuyển qua C++ hoặc C# hay python sao. Già yếu rồi mà {cry}{cry}{cry}
 

bbkim

Mỗi người một câu chuyện
2 người này đều dùng vb.net mà bác
Nó cũng từa tựa nhau thui à. Nhưng mà mình không lên thẳng được nên dùng cái dễ làm hơn.
 

bbkim

Mỗi người một câu chuyện
hay bác chèm lệnh cmd vô lấy cũng nhanh mà dùng for để đọc lấy cũng nhanh mà chuẩn nữa
Giải quyết cho Windows thì dễ. Nhưng nếu làm cho Office cũ (2010, 2013) thì rắc rối lắm. Nên mình muốn xử lý cho nó luôn.
Bản cũ của mình là gọi cmd hết á. Nhưng nhìn thấy ghét nên mới qua wmi cho nó đẹp
 

QuangDat

Rìu Chiến
Tài khoản bị khóa
Giải quyết cho Windows thì dễ. Nhưng nếu làm cho Office cũ (2010, 2013) thì rắc rối lắm. Nên mình muốn xử lý cho nó luôn.
Bản cũ của mình là gọi cmd hết á. Nhưng nhìn thấy ghét nên mới qua wmi cho nó đẹp
ủa của e làm full office có 9 dòng mà
 

QuangDat

Rìu Chiến
Tài khoản bị khóa
check gọi full phiên bản full mã lỗi muốn check api cid thì thêm có vài dòng là ful chức năng mà bác chứ vmic không thì hơi căng e cũng chưa mò sâu về cái này
Thử cài Office 2010 chung 2019 rồi cài Visio/Project nữa đi. Test trên Win 7
Cơ bản nhất là hem thích xài cmd.
e chỉ cần cài office 2010 check full từ 2010 tới 2019 mà bác
 

bbkim

Mỗi người một câu chuyện
check gọi full phiên bản full mã lỗi muốn check api cid thì thêm có vài dòng là ful chức năng mà bác chứ vmic không thì hơi căng e cũng chưa mò sâu về cái này

e chỉ cần cài office 2010 check full từ 2010 tới 2019 mà bác
WMI có hết. Mình chỉ chưa sử dụng được nó thôi
 


Top