wescraven07
Goto Top

Office 2013 Professional Plus Key auslesen

Moin Admins,
folgende Frage: Ich muss einen PC umziehen und in dem Zuge auch das Office-Paket neuinstallieren. Wir haben 3 Lizenzen, dei aber alle nicht beschriftet sind. Gibt es eine Möglichkeit, wei ich den Key auslesen und umziehen kann?

Bisher war meine Information leider, dass das bei Office 2013 nicht geht?

Wäre Prima, wenn Ihr mir dennoch einen Tip hättet...

Content-Key: 278273

Url: https://administrator.de/contentid/278273

Printed on: April 18, 2024 at 22:04 o'clock

Member: xbast1x
xbast1x Jul 24, 2015 at 13:03:51 (UTC)
Goto Top
Mitglied: 122990
122990 Jul 24, 2015 updated at 13:09:40 (UTC)
Goto Top
@xbast1x
Outlook 2013 kann das nicht auslesen...

Hatten wir schon hier:
Office 2013 Home and Business Aktivierung

Mit folgender AutoIT-Code Console-App gehts (getestet):
Quelle: https://www.autoitscript.com/forum/topic/131797-windows-and-office-key/
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
ConsoleWrite("Windows Key : " & @TAB & _DecodeProductKey("Windows") & @CRLF)  
ConsoleWrite("Windows Key 4 : " & @TAB & _DecodeProductKey("Windows_DPid4") & @CRLF)  
ConsoleWrite("Windows Default : " & @TAB & _DecodeProductKey("Windows_Def") & @CRLF)  
ConsoleWrite("Windows Default 4 : " & @TAB & _DecodeProductKey("Windows_Def_DPid4") & @CRLF & @CRLF)  


ConsoleWrite("Office XP Key : " & @TAB & _DecodeProductKey("Office XP") & @CRLF)  
ConsoleWrite("Office 2003 Key : " & @TAB & _DecodeProductKey("Office 2003") & @CRLF)  
ConsoleWrite("Office 2007 Key : " & @TAB & _DecodeProductKey("Office 2007") & @CRLF)  
ConsoleWrite("Office 2010 x86 Key: " & @TAB & _DecodeProductKey("Office 2010 x86") & @CRLF)  
ConsoleWrite("Office 2010 x64 Key: " & @TAB & _DecodeProductKey("Office 2010 x64") & @CRLF)  


ConsoleWrite("Office 2013 x86 Key: " & @TAB & _DecodeProductKey("Office 2013 x86") & @CRLF)  
ConsoleWrite("Office 2013 x64 Key: " & @TAB & _DecodeProductKey("Office 2013 x64") & @CRLF)  


Func _DecodeProductKey($Product, $Offset = 0)
    Local $sKey[29], $Value = 0, $hi = 0, $n = 0, $i = 0, $dlen = 29, $slen = 15, $Result, $bKey, $iKeyOffset = 52, $RegKey


    Switch $Product


        Case "Windows"  
            $bKey = RegRead("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DigitalProductId")  




        Case "Windows_DPid4"  
            $bKey = RegRead("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "DigitalProductId4")  
            $iKeyOffset = 0x328


        Case "Windows_Def"  
            $bKey = RegRead("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey", "DigitalProductId")  


        Case "Windows_Def_DPid4"  
            $bKey = RegRead("HKLM64\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey", "DigitalProductId4")  
            $iKeyOffset = 0x328






        Case "Office XP"  
            $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\10.0\Registration'  
            If @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\10.0\Registration'  
            For $i = 1 To 100
                $var = RegEnumKey($RegKey, $i)
                If @error <> 0 Then ExitLoop
                $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')  
                If Not @error Then ExitLoop
            Next




        Case "Office 2003"  
            $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\11.0\Registration'  
            If @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\11.0\Registration'  
            For $i = 1 To 100
                $var = RegEnumKey($RegKey, $i)
                If @error <> 0 Then ExitLoop
                $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')  
                If Not @error Then ExitLoop
            Next




        Case "Office 2007"  
            $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\12.0\Registration'  
            If @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Registration'  
            For $i = 1 To 100
                $var = RegEnumKey($RegKey, $i)
                If @error <> 0 Then ExitLoop
                $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')  
                If Not @error Then ExitLoop
            Next




        Case "Office 2010 x86"  
            $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\14.0\Registration'  
            If @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Registration'  
            For $i = 1 To 100
                $var = RegEnumKey($RegKey, $i)
                If @error <> 0 Then ExitLoop
                $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')  
                If Not @error Then ExitLoop
            Next
            $iKeyOffset = 0x328




        Case "Office 2010 x64"  
            If @OSArch <> 'x64' Then Return SetError(1, 0, "Product not found")  
            $RegKey = 'HKLM64\SOFTWARE\Microsoft\Office\14.0\Registration'  
            For $i = 1 To 100
                $var = RegEnumKey($RegKey, $i)
                If @error <> 0 Then ExitLoop
                $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')  
                If Not @error Then ExitLoop
            Next
            $iKeyOffset = 0x328




Case "Office 2013 x86"  
            $RegKey = 'HKLM\SOFTWARE\Microsoft\Office\15.0\Registration'  
            If @OSArch = 'x64' Then $RegKey = 'HKLM64\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Registration'  
            For $i = 1 To 1024
                $var = RegEnumKey($RegKey, $i)
                If @error <> 0 Then ExitLoop
                $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')  
                If Not @error Then ExitLoop
            Next
            $iKeyOffset = 0x328


        Case "Office 2013 x64"  
            If @OSArch <> 'x64' Then Return SetError(1, 0, "Product not found")  
            $RegKey = 'HKLM64\SOFTWARE\Microsoft\Office\15.0\Registration'  
            For $i = 1 To 1024
                $var = RegEnumKey($RegKey, $i)
                If @error <> 0 Then ExitLoop
                $bKey = RegRead($RegKey & '\' & $var, 'DigitalProductId')  
                If Not @error Then ExitLoop
            Next
            $iKeyOffset = 0x328




        Case Else
        Return SetError(1, 0, "Product not supported")  


    EndSwitch


    If Not BinaryLen($bKey) Then Return ""  


    Local $aKeys[BinaryLen($bKey)]
    For $i = 0 To UBound($aKeys) - 1
        $aKeys[$i] = Int(BinaryMid($bKey, $i + 1, 1))
    Next


Local Const $isWin8 = BitAND(BitShift($aKeys[$iKeyOffset + 14], 3), 1)
$aKeys[$iKeyOffset + 14] = BitOR(BitAND($aKeys[$iKeyOffset + 14], 0xF7), BitShift(BitAND($isWin8, 2), -2))

    $i = 24
    Local $sChars = "BCDFGHJKMPQRTVWXY2346789", $iCur, $iX, $sKeyOutput, $iLast  
    While $i > -1
        $iCur = 0
        $iX = 14
        While $iX > -1
			$iCur = BitShift($iCur, -8)
			$iCur = $aKeys[$iX + $iKeyOffset] + $iCur
            $aKeys[$iX + $iKeyOffset] = Int($iCur / 24)
            $iCur = Mod($iCur, 24)
            $iX -= 1
        WEnd
        $i -= 1
        $sKeyOutput = StringMid($sChars, $iCur + 1, 1) & $sKeyOutput
        $iLast = $iCur
    WEnd


    If $isWin8 Then
        $sKeyOutput = StringMid($sKeyOutput, 2, $iLast) & "N" & StringTrimLeft($sKeyOutput, $iLast + 1)  
    EndIf


    Return StringRegExpReplace($sKeyOutput, '(\w{5})(\w{5})(\w{5})(\w{5})(\w{5})', '\1-\2-\3-\4-\5')  


EndFunc   ;==>_DecodeProductKey
Gruß grexit
Member: wescraven07
wescraven07 Jul 24, 2015 updated at 13:40:29 (UTC)
Goto Top
@xbast1x
Damit geht es leider nicht, habe ich schon versucht. Liest Offcie 2013 nicht aus...
Member: wescraven07
wescraven07 Jul 24, 2015 at 13:39:34 (UTC)
Goto Top
@122990, funktioniert das auch mit Professional Plus oder nur mit Home and Business?
Mitglied: 122990
122990 Jul 24, 2015 updated at 13:48:43 (UTC)
Goto Top
Zitat von @wescraven07:

@122990, funktioniert das auch mit Professional Plus oder nur mit Home and Business?
Ist egal, funktioniert mit allen auch mit P-Plus womit ich es hier getestet habe.
Wichtig ist das du das Tool als "Kommandozeilen App" kompilierst denn es zeigt die Infos auf der Kommandozeile an.
Member: el-capitano86
el-capitano86 Jul 26, 2015 at 08:27:28 (UTC)
Goto Top
Guten Morgen,

wenn ich dich richtig verstanden habe, hast du die Lizenzen weißt aber nicht welche auf diesem PC verwendet wurde, richtig?

Falls dem so ist, kannst du dir mit einem VB-Script im Installationsverzeichnis von Office die letzten 5 Stellen des Keys anzeigen lassen, das sollte ausreichen um den Key zu identifizieren.

1. CMD starten
2. cscript "Pfad zum Script"\ospp.vbs /dstatus eintippen.
in meinem Fall: cscript "C:\Program Files (x86)\Microsoft Office 2013\Office15\ospp.vbs" /dstatus

https://support.office.com/en-nz/article/How-to-find-your-Office-2013-pr ...

Gruß
Tim
Member: gardenzwerg
gardenzwerg Nov 06, 2015 at 08:11:26 (UTC)
Goto Top
Member: itisnapanto
itisnapanto Aug 15, 2016 at 07:52:42 (UTC)
Goto Top
Member: Herve.R
Herve.R Jan 12, 2017 at 17:21:19 (UTC)
Goto Top
Ich benutzte einen Aktivierungsschlüssel von der Website lizenzschlussel.com und es funktioniert gut
Mitglied: 127132
127132 Jun 29, 2017 at 13:30:22 (UTC)
Goto Top
Ich muss hier dieses Thema nochmal aufgreifen.

Hier steht ein Rechner mit Microsoft Office 2013 Home and Business. Das Teil muss nun auf einen anderen Rechner umziehen.
Knackpunkt ist natürlich dass kein Key vorhanden ist und sämtliche Tools den Key nicht anzeigen.
Natürlich ist auch kein Microsoft-Konto mit dem Office verknüpft.
Keine Ahnung, wie das damals installiert wurde. Laut Kontoinformation aus Office heraus lautet das Konto "Benutzer@domain.local"

Gibt's hier irgend eine Möglichkeit den Key rauszufinden oder evtl auch Office mit einem neu anzulegendem Microsoft-Konto zu verknüpfen?