stefankittel
Goto Top

Hat Jemand ein PS Skript um zu erkennen ob Office 2016 oder 365 installiert ist?

Hallo,
hat Jemand ein PS Skript um zu erkennen ob Office 2016 oder 365 installiert ist?

Ich habe hier ca. 50 PCs auf denen wild gemischt Office 2016 Standard und Office 365 (ODT Desktop) installiert ist.
Ich kann zentral ein PS auf den PCs laufen lassen.

Die AD ist nicht mit O365 verbunden.

Hat Jemand ein Skript dafür?
Das was chatgpt auswirft und ich mit google gefunden habe zeigt entweder nichts oder quatsch an.

Danke

Stefan

Content-ID: 670875

Url: https://administrator.de/forum/hat-jemand-ein-ps-skript-um-zu-erkennen-ob-office-2016-oder-365-installiert-ist-670875.html

Ausgedruckt am: 22.01.2025 um 13:01 Uhr

Crusher79
Crusher79 22.01.2025 um 10:58:27 Uhr
Goto Top
Hallo,

gerade nicht selbst.

https://superuser.com/questions/1140114/how-to-detect-microsoft-office-v ...

Gibt wirklich hier zig Ansätze. Das dort ist ja auch ganz brauchbar.

Hier muss man ggf. die gefundene Nummer "übersetzen":

https://help.sendent.com/sendent-for-outlook-windows-only/using-powershe ...


Normal reichen die registry Keys aus. Das ist relativ simpel gehalten dann.
mbehrens
mbehrens 22.01.2025 um 11:03:18 Uhr
Goto Top
Zitat von @StefanKittel:

hat Jemand ein PS Skript um zu erkennen ob Office 2016 oder 365 installiert ist?

Für eine erste Orientierung:
Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration\ | Select-Object -ExpandProperty VersionToReport
StefanKittel
Lösung StefanKittel 22.01.2025 um 11:12:39 Uhr
Goto Top
Ich habe mir mit Hilfe von chatgpt dies erstellt. Es prüft "nur" ob 365 installiert ist. Das reicht für meine Zwecke aus.


# Stefan Kittel - info@skittel.de
# Version 20.12.23 11:32

# Definiere den Registry-Pfad
$RegistryPath = "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"  

# Versuche, die Werte aus der Registry zu lesen
try {
    $ProductReleaseIds = (Get-ItemProperty -Path $RegistryPath -ErrorAction Stop).ProductReleaseIds
    $Platform = (Get-ItemProperty -Path $RegistryPath -ErrorAction Stop).Platform
    $VersionToReport = (Get-ItemProperty -Path $RegistryPath -ErrorAction Stop).VersionToReport

    # Überprüfen, ob alle Werte vorhanden sind
    if ($ProductReleaseIds -and $Platform -and $VersionToReport) {
        $Output = "Office gefunden: $ProductReleaseIds $Platform ($VersionToReport)"  
    } else {
        $Output = "Office nicht gefunden (2)"  
    }
} catch {
    # Falls ein Fehler auftritt (z. B. Registry-Pfad oder Werte nicht vorhanden)
    $Output = "Office nicht gefunden (1)"  
}

# Ausgabe des Ergebnisses
Write-Output $Output
DerMaddin
DerMaddin 22.01.2025 um 13:49:01 Uhr
Goto Top
Moin,

bei 50 Geräten vielleicht nicht sinnvoll aber ein Asset-Management mit aktivem Scan ist hilfreich. Da gibt es viele Inventarisierungstools, die man oft 30-Tage kostenlos testen kann. Einige sind sogar kostenlos bis zu einer bestimmten Anzahl Assets.