Gibt es eine Möglichkeit, festzustellen, auf welchen Client-Rechnern Software aus einem GPO installiert ist?

Gibt es eine Möglichkeit, festzustellen, auf welchen Client-Rechnern Software aus einem GPO installiert ist?

Wenn ich Software mit einem GPO zuweise, gehe ich davon aus, dass Client-Rechner diese beim nächsten Neustart installieren. Ich kann mir jedoch nicht sicher sein, ohne tatsächlich zu jedem Client zu gehen und es selbst zu überprüfen. Gibt es eine Möglichkeit zu überprüfen, welche Clients die Software installiert haben (wie mit WSUS) oder eine Möglichkeit, ein Skript zu schreiben, um die Versionen der auf den Clients installierten Software zu überprüfen?

Antwort1

GPO verfügt über keinen integrierten Berichtsmechanismus. Jede anständige Konfigurationsverwaltungssoftware könnte melden, was installiert ist, oder Sie könnten dies per Skript tun.


WarnungDer folgende, von Microsoft empfohlene Code weist schwerwiegende Probleme auf. Siehe den Kommentar unter dieser Antwort mit einem Link zum Knowledge Base-Artikel „Rapid Publishing“ (d. h. Notfall) aus dem Jahr 2009.


Wenn Sie relativ neue Computer (Vista/2008+) verwenden, können Sie PowerShell verwenden, gwmi -comp computer_name Win32_Productum eine Liste der installierten Software abzurufen. Es werden Informationen wie die folgenden zurückgegeben:

IdentifyingNumber : {D11F66FF-82B3-DDB8-1146-525370552BE1}
Name              : Windows Software Development Kit for Windows Store Apps
Vendor            : Microsoft Corporation
Version           : 8.59.25584
Caption           : Windows Software Development Kit for Windows Store Apps

Dies kann weiter per Skript gesteuert werden, um eine Liste von Computern mit verschiedenen installierten Versionen bestimmter Software zu erstellen, nach CVS oder anderen ODBC-Verbindungen zu exportieren oder eine Vielzahl von Aufgaben auszuführen ... je nachdem, wonach Sie suchen. Der Prozess ist etwas langsam, daher sollten Sie sich vielleicht überlegen, ob Sie dieses „-AsJob“ ausführen, um mehrere Abfragen parallel auszuführen.

Antwort2

Die Frage ist zu allgemein, daher kann ich Ihnen höchstens Hinweise geben. Überlegen Sie, wie Sie die Installation bestätigen würden. Würde Ihnen beispielsweise die Existenz einer Datei in %programfiles%\Company\SoftwareXYZ\abc.exe anzeigen, dass die App erfolgreich installiert wurde?

  • ist es ein Registrierungsschlüssel?
  • Eine Protokolldatei mit einem Erfolgsschlüssel?
  • Ein Ereignisprotokoll?

Sobald Sie das herausgefunden haben, müssen Sie ein Skript schreiben, um es zu überprüfen.

Sie müssen das Ergebnis dann irgendwo melden. Sie könnten beispielsweise COMPUTERNAME als Datei in einer Netzwerkfreigabe posten. Dies würde beispielsweise die folgende Zeile in einer Batchdatei tun:

echo. > \\MyServer\MyShare\%COMPUTERNAME%_Success.txt

Schließlich können Sie dieses Skript als Startskript in derselben Gruppenrichtlinie hinzufügen.

verwandte Informationen