Anmeldung am XPhone Connect Server
Um eine PowerShell-Sitzung zu starten, muss sich der Benutzer am XPhone Connect Server authentifizieren. Der Anmeldedialog erscheint automatisch nach Eingabe des ersten Befehls. Die benötigten Zugangsdaten entsprechen denen des XPhone Connect Server-Administrationsportals. Einmal eingegeben, bleiben die Anmeldeinformationen erhalten, bis die PowerShell Konsole geschlossen wird oder ein Timeout (20 Minuten) eintritt.
Hinweis
Der angegebene Benutzer muss XPhone Connect Systemadministrator sein.
Befehle und Parameter verwenden
Allgemeine Befehlsstruktur
Alle Befehle der XPhone Connect Powershell-Erweiterung beginnen mit dem Präfix Xp. Man kann mit der Eingabe von z.B. Get-Xp und anschließendem Drücken der Tabulator-Taste durch die verfügbaren Befehle wechseln, ohne diese jedes Mal komplett eintippen zu müssen (Auto Completion).
Befehls-Pipeline
Die Pipeline ermöglicht es, schnell und einfach Ergebnisse von einem Befehl an den nächsten weiterzuleiten, ohne das vorherige Ergebnis zwischenspeichern zu müssen.
Folgende Befehle werden zunächst manuell nacheinander eingegeben. Das Ergebnis eines Befehls wird dabei jeweils als Eingabe des folgenden Befehls verwendet:
>$locations = Get-XpLocations;
>$confGroups = Get-XpConfigGroups -Locations $locations;
>$clientTemplates = Get-XpClientTemplates $confGroups;
Dieser Ausdruck kann mit Hilfe der Pipeline folgendermaßen verkürzt werden:
>Get-XpLocations | Get-XpConfigGroups | Get-XpClientTemplates
Das Ergebnis von Get-XpLocations wird sofort als Parameter von Get-XpConfigGroups verwendet. Das Ergebnis von Get-XpConfigGroups wird wiederum als Parameter von Get-XpClientTemplates verwendet.
Wenn man das durch die Pipeline übergebene Objekt explizit ansprechen möchte, verwendet man $_:
>Get-XpUsers | foreach{$_.Department = „Entwicklung“;$_}
Befehlssyntax mit Parametern
Befehle werden häufig durch Parameter ergänzt - erforderliche oder optionale. Die Syntax eines Befehls mit Parametern wird wie folgt notiert:
>Befehl -Parametername <Parametertyp[]> [-Parametername <Parametertyp[]>]
Beispiel:
>Get-XpConfigGroups -LocationNames <String[]> [-ConfigGroupNames <String[]>]
Parametername
Parameter können entweder explizit über ihren Namen oder implizit über die Position angesprochen werden. Am häufigsten werden Parameter positionsabhängig gesetzt. Dabei spiegelt die Reihenfolge, in der die Parameter im Bereich „Syntax“ angegeben werden, ihre Position im Befehl wieder. Dies ist nur möglich, wenn der Parametername in eckigen Klammern „[]“ angegeben ist. Dies zeigt an, dass der Parametername optional ist und der Parameter auch anhand seiner Position erkannt werden kann:
>Get-XpLocations "Hauptstandort"
„Hauptstandort“ wird an Position 1 eingesetzt, in diesem Fall somit als Wert für den Parameter -LocationNames.
Äquivalent dazu wäre die explizite Angabe:
>Get-XpLocations -LocationNames "Hauptstandort"
Um zusätzlich nach den Konfigurationsgruppennamen zu filtern, muss der Parameter -ConfigGroupNames mit angegeben werden:
>Get-XpConfigGroups "Hauptstandort" -ConfigGroupNames "Konfigurationsgruppe123"
„Konfigurationsgruppe123“ kann nicht anhand der Position erkannt werden (an den fehlenden eckigen Klammern in der Syntaxbeschreibung zu erkennen), es muss also explizit der Parametername
-ConfigGroupNamesangegeben werden.
Parametertyp
Der Parametertyp gibt an, welche Art von Daten an den Befehl übergeben werden kann.
In diesem Fall handelt es sich um den Typ String, also Text.
Liste von Parameterwerten
Befinden sich hinter einem Parametertypen eckige Klammern [], so kann eine Liste von Parameterwerten angegeben werden, die einzelnen Parameterwerte sind dabei durch Komma zu trennen:
>Get-XpConfigGroups -LocationNames "Hauptstandort","Nebenstandort"
Die möglichen Optionen zum Aufruf des Befehls Get-XpConfigGroups im Vergleich:
-LocationNames <String[]> [[-ConfiggroupNames] <String[]>]
Ausführung mit expliziter Angabe aller Parameter:
>Get-XpConfigGroups -LocationNames „Hauptstandort" -ConfigGroupNames „KonfigGruppe1"
Implizite Angabe von -LocationNames:
>Get-XpConfigGroups "Hauptstandort" -ConfigGroupNames "KonfigGruppe1"
Implizite Angabe von -LocationNames mit einer Liste von Standorten:
>Get-XpConfigGroups -LocationNames "Hauptstandort","Nebenstandort" -ConfigGroupNames *
Eigenschaften von Objekten anzeigen
Einige Befehle wie z.B. Get-XpLocations zeigen aus Gründen der Übersichtlichkeit nicht alle ihre Eigenschaften. Dagegen zeigen Befehle wie Get-XpClientTemplates alle ihre Eigenschaften,
sodass die Ausgabe unter Umständen unübersichtlich wird.
Der Befehl Select-Object kann verwendet werden, um die Ausgabe der Objekteigenschaften zu formatieren - also Eigenschaften zu verstecken oder anzuzeigen. Als Parameter wird eine Liste der anzuzeigenden Eigenschaften übergeben.
Alle Eigenschaften anzeigen
Der Befehlsparameter * steht für alle Eigenschaften.
Zeige alle Eigenschaften des Objekts CFGBranch, welches als Ergebnis des Befehls Get-XpLocations ausgegeben wird:
>Get-XpLocations | Select-Object *
Bestimmte Eigenschaften anzeigen
Die Liste der anzuzeigenden Eigenschaften wird als Parameter übergeben, die Eigenschaften sind dabei durch Komma getrennt.
Zeige eine Liste aller Client Templates (Standorte) aus allen Standardkonfigurationsgruppen an, jedoch nur die folgenden Objekteigenschaften:
LocationName (Name des Standorts)
ConfigurationGroupName (Name der Konfigurationsgruppe)
TeamviewPanelActive (Status Teampanel aktiv/inaktiv)
>Get-XpLocations | Get-XpConfigGroups | Get-XpClientTemplates | Select-Object LocationName,ConfigurationGroupName,TeamviewPanelActive
Hilfe anzeigen
Wenn Sie wissen möchten, welche Eigenschaften der Befehl hat und nicht das Objekt oder die Objekte, fragen sie das mit Get-Help ab:
PS C:\Users\Administrator> Get-Help Get-XpUsers -Parameter *
-Timeout <int>
WCF Operation Timeout in Minutes. Default = 1
Required? false
Position? Named
Accept pipeline input? false
Parameter set name (All)
Aliases None
Dynamic? false
-UserNames <string[]>
Search pattern for users
Required? false
Position? 0
Accept pipeline input? true (ByValue, ByPropertyName)
Parameter set name (All)
Aliases None
Dynamic? false
Objekte filtern
In manchen Fällen reichen die Parameter der Befehle nicht aus, um die Ergebnismenge genügend einzuschränken. Eine spezifischere Selektion kann dann mit dem Befehl Where-Object (alias Where) vorgenommen werden.
Alle Benutzer, deren Abteilung „Software Development“ heißt:
>Get-XpUsers | Where{$_.Department -eq „Software Development“}
Dabei steht
-eqfür equal. Es wird also auf Gleichheit der Eigenschaft Department mit dem String Software Development geprüft. Es können auch z.B.-nefür not equal (ungleich) oder-Match(enthält) genutzt werden.
Alle Benutzer, deren Abteilung nicht „Software Development“ ist:
>Get-XpUsers | Where{$_.Department -ne „Software Development“}
Alle Benutzer, deren Abteilung Software enthält, also zum Beispiel Software Development oder auch Software Marketing:
>Get-XpUsers | Where{$_.Department -Match „Software“}
Hinweis
Groß- und Kleinschreibung muss bei den Vergleichswerten berücksichtigt werden (software != Software)!
Haben Sie einen Fehler auf dieser Seite gefunden?
Oder ist etwas nicht gut oder zu ungenau formuliert? Dann freuen wir uns über eine E-Mail, am besten mit einem Verbesserungsvorschlag, an doku@c4b.de. Vielen Dank!