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-ID: 278273

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

Ausgedruckt am: 13.11.2024 um 22:11 Uhr

xbast1x
xbast1x 24.07.2015 um 15:03:51 Uhr
Goto Top
122990
122990 24.07.2015 aktualisiert um 15:09:40 Uhr
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
wescraven07
wescraven07 24.07.2015 aktualisiert um 15:40:29 Uhr
Goto Top
@xbast1x
Damit geht es leider nicht, habe ich schon versucht. Liest Offcie 2013 nicht aus...
wescraven07
wescraven07 24.07.2015 um 15:39:34 Uhr
Goto Top
@122990, funktioniert das auch mit Professional Plus oder nur mit Home and Business?
122990
122990 24.07.2015 aktualisiert um 15:48:43 Uhr
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.
el-capitano86
el-capitano86 26.07.2015 um 10:27:28 Uhr
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
gardenzwerg
gardenzwerg 06.11.2015 um 09:11:26 Uhr
Goto Top
itisnapanto
itisnapanto 15.08.2016 um 09:52:42 Uhr
Goto Top
Herve.R
Herve.R 12.01.2017 um 18:21:19 Uhr
Goto Top
Ich benutzte einen Aktivierungsschlüssel von der Website lizenzschlussel.com und es funktioniert gut
127132
127132 29.06.2017 um 15:30:22 Uhr
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?