Compliance-Status testen

Analog dem Abruf von Compliance-Stati, lassen sich diese auch per Test-EmdbComplianceState auf die verschiedenen möglichen Statuswerte prüfen. Das Ergebnis der Prüfung ist true ,falls die Prüfung erfolgreich war oder false, wenn diese fehlschlägt.


Für die verschiedenen überprüfbaren Objekte, gibt es unterschiedliche Statuswerte. So kann beispielsweise eine einzelne Policy-Instanz andere Stati annehmen, als die letzte berechnete Compliance eines Rechners.


Beispiele:


Hinweis: Voraussetzung für die Beispiele ist ein verbundenes PowerShell-Laufwerk.


Das naheliegendste Beispiel ist sicherlich die Prüfung des Compliance-Status einer einzelnen Policy-Instanz. Im folgenden Beispiel wird geprüft, ob die Policy-Instanz der Zuweisung des Pakets "7-Zip (x64) 16.04" auf den Computer "WIN10-01" compliant ist:


$MyComputer = Get-EmdbComputer "WIN10-01" -Recurse

$MyPolicyInstance = Get-EmdbPolicyInstance -Item $MyComputer | Add-EmdbRelatedItem -Group SoftwarePackages -PassThru | Where-Object {$_.AssignedObjectName -eq "7-Zip (x64) 16.04"}

Test-EmdbComplianceState -PolicyInstance $MyPolicyInstance -ComplianceState "Compliant"


Hinweis: im obigen Beispiel wird das Cmdlet Add-EmdbRelatedItem verwendet, um die Performance beim Abruf der assoziierten Software-Pakete, die beim weiteren Abarbeiten der Pipeline gefiltert werden, zu verbessern.


Im nächsten Beispiel wird nun die zu der oben abgerufenen Policy-Instanz die zugehörige Policy ermittelt und geprüft, ob die Policy beziehungsweise die Summe aller Instanzen zu mindestens75% compliant ist:


$MyPolicy = $MyPolicyInstance.GetPolicy()

Test-EmdbComplianceState -Policy $MyPolicy -ComplianceState "Compliant" -MinPercentReached 75


Im nächsten Beispiel soll der Compliance-Status eines Rechners untersucht werden. Wir verwenden dazu wieder den bereits oben betrachteten Computer "WIN10-01". Zunächst betrachten wir die "Letzte ermittelte Compliance", also die Gesamtübersicht über Software-, Patch- und Treiber-Policy-Instanzen und ob dieser vollständig compliant ist:


Test-EmdbComplianceState -Computer $MyComputer -LastCalculatedComplianceState "Compliant"


Die betrachteten Daten lassen sich auch auf Software, Patch, Driver einschränken. Außerdem kann auch der Compliance-Anteil geprüft werden, wie dies in der Konsole durch die teilweise gelben und teilweise grünen Icons dargestellt wird. Hier wird beispielsweise geprüft, ob die Patch-Policy-Instanzen des betrachteten Rechners zu 50% compliant sind:


Test-EmdbComplianceState -Computer $MyComputer -LastCalculatedComplianceScope "Patch" -LastCalculatedComplianceState "PartiallyCompliant500"