Policies abrufen

Um Policies abzurufen, stellen die PowerShell Extensions for Ivanti DSM das Cmdlet Get-EmdbPolicy zur Verfügung. Dieses Cmdlet erwartet dabei die Angabe des Objekts, für das die Policies abgerufen werden sollen. Ergebnis dieses Cmdlets ist stets eine Collection von Policy-Objekten, die Sie dann weiterverarbeiten können. Dies kann über die PowerShell Pipeline erfolgen oder Sie speichern die Ergebnis-Collection in einer Variablen und bearbeiten diese - beispielsweise in einer ForEach-Object Schleife - anschließend separat.


Alternativ können die zu einem Objekt assoziierten Policies über die GetPolicies()-Methode des Objekts abgerufen werden. Dabei kann es sich um ein Objekt des Organisations-Verzeichnisses, also einen Computer, eine Organisationseinheit, eine Gruppe etc. handeln, oder es handelt sich um ein Objekt der Global Software Library, also ein Software Paket.


Beispiele:


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


Abrufen aller Policies des Organisation-Verzeichnis Objekts "Managed Users & Computers" über das Get-EmdbPolicy Cmdlet. Dabei erhalten Sie alle Policy-Objekte, also nicht nur Software-Policies, sondern auch Shop-Policies, Job-Policies etc.:


Get-EmdbPolicy "emdb:\rootDSE\Managed Users & Computers"


Um die Rückgabemenge beispielsweise auf einen bestimmten Policy-Typ einzuschränken, können Sie über den -PolicyType Parameter angeben, welche Policy-Objekte ermittelt werden sollen. Das folgende Beispiel liest folglich nur die Software-Policies aus:


Get-EmdbPolicy "emdb:\rootDSE\Managed Users & Computers" -PolicyType "SwPolicy"


Gültige Werte für den Parameter PolicyType sind:


Parameterwert

Policy-Typen

SwPolicy

Software-Policies

JobPolicy

Job-Policies

DenyPolicy

Deny-Policies

SwSetComponentPolicy

Software-Set-Komponenten-Policies

PnpPolicy

Treiber-Policies

PatchPolicy

Patch-Policies

CitrixFarmPolicy

Citrix Farm-Policies

CitrixUserPolicy

Citrix User-Policies


Hinweis: Die Policy-Typen für das Patch-Management und die Citrix Farm Verwaltung sind nur verfügbar, wenn Sie die entsprechenden Module einsetzen.


Aus Performance-Gründen werden beim Auslesen der Policies über das Get-EmdbPolicy Cmdlet nur die IDs der zugehörigen Partner, also des zugewiesenen Pakets und des oder der Policy-Ziele, ausgegeben. Da dies jedoch eventuell wenig Aussagekraft besitzt, können Sie sich die Klartextnamen anzeigen lassen, indem Sie die Eigenschaften AssignedObjectName beziehungsweise TargetObjectNameList ausgeben lassen. Das obigen Beispiel stellt sich dann wie folgt dar:


Get-EmdbPolicy "emdb:\rootDSE\Managed Users & Computers" -PolicyType "SwPolicy" | Select-Object AssignedObjectName, TargetObjectNameList


Hinweis: Beachten Sie, dass das Auslesen der Namen eine zusätzliche Serveranfrage erfordert und dadurch die Performance der Ausführung beeinträchtigt werden kann. Lassen Sie diese Werte nur dann ermitteln, wenn Sie mit den Namen weiterarbeiten müssen oder möchten.


Wenn Sie Policies über die GetPolicies()-Methode abrufen wollen, müssen Sie zunächst das Objekt in einer Variablen speichern. Das obige Beispiel ließe sich also auch folgendermaßen realisieren:


$MyDomain = Get-EmdbDomain "emdb:\rootDSE\Managed Users & Computers"

$MyDomain.GetPolicies("SwPolicy") | Select-Object AssignedObjectName, TargetObjectNameList


Seit PSX 3.1 können Policies auch über ihre ID abgerufen werden. Das folgende Beispiel ruft die Policy mit der ID 976 ab. Dabei braucht der Kontext nicht berücksichtigt zu werden:


Get-EmdbPolicy -ID 976