Читать книгу PowerShell 7 und Windows PowerShell - Tobias Weltner - Страница 165
Profitipp
ОглавлениеWollen Sie nur die Syntax eines Cmdlets erfahren, gibt es einen schnellen Trick (der allerdings nur bei »echten« Cmdlets funktioniert – einige nachträglich selbst nachgerüstete Cmdlets liefern stattdessen Kauderwelsch).
Dieses Beispiel zeigt ausschließlich die Syntax für das Cmdlet Get-Service:
PS> (Get-Service -?).Syntax
Get-Service [-ComputerName <System.String[]>] [-DependentServices] -DisplayName
<System.String[]> [-Exclude <System.String[]>] [-Include <System.String[]>]
[-RequiredServices] [<CommonParameters>]
Get-Service [-ComputerName <System.String[]>] [-DependentServices] [-Exclude <System.String[]>]
[-Include <System.String[]>]
[-InputObject <System.ServiceProcess.ServiceController[]>]
[-RequiredServices] [<CommonParameters>]
Get-Service [[-Name] <System.String[]>] [-ComputerName <System.String[]>]
[-DependentServices] [-Exclude <System.String[]>] [-Include <System.String[]>]
[-RequiredServices] [<CommonParameters>]
Ersetzen Sie den Cmdlet-Namen in den runden Klammern, um die Syntax für andere Cmdlets zu erfragen.
Kommen wir zurück zu Get-ComputerInfo. Die Syntax für Get-ComputerInfo sah so aus:
Get-ComputerInfo [[-Property] <System.String[]>] [<CommonParameters>]
Aus der Syntax kann man viele wertvolle Informationen ableiten, wenn man sie zu lesen versteht:
Freiwillige Angaben ([…]): Eckige Klammern kennzeichnen in der Syntax optionale (freiwillige) Angaben. Weil alle Argumente hinter Get-ComputerInfo in eckigen Klammern stehen, darf man das Cmdlet also ganz ohne Argumente aufrufen (und erhält dann die Computereinstellungen des eigenen Computers):
PS> Get-ComputerInfo
(…)
CsSystemType : x64-based PC
CsThermalState : Safe
CsTotalPhysicalMemory : 34116259840
CsPhysicallyInstalledMemory : 33554432
OsName : Microsoft Windows 10 Pro
OsVersion : 10.0.19042
OsBuildNumber : 19042
OsSystemDirectory : C:\WINDOWS\system32
OsSystemDrive : C:
OsWindowsDirectory : C:\WINDOWS
OsLocalDateTime : 21.12.2020 11:17:03
OsLastBootUpTime : 10.12.2020 17:22:54
OsUptime : 10.17:54:09.2494051
OsBuildType : Multiprocessor Free
(…)
Parameter (-…): Die Syntax listet alle unterstützten Parameter auf, die jeweils mit einem Bindestrich beginnen. Get-ComputerInfo kennt nur einen Parameter: -Property. Zusätzlich unterstützt das Cmdlet die sogenannten Common Parameters (die allgemeinen Parameter), die bei jedem Cmdlet vorhanden sind.
Datentypen (<…>): Hinter jedem Parameter steht in spitzen Klammern der Typ der Daten, die er erwartet: System.String steht für Text.
Listen erlaubt ([])? Weil der Datentyp mit [] abschließt, wissen Sie, dass es ein sogenanntes Array ist. Sie dürfen dem Parameter also einen Text oder auch mehrere kommaseparierte Texte übergeben.
Mit dem optionalen Parameter -Property wählen Sie aus, welche Eigenschaften des Computers Sie abfragen wollen. Das wird gleich ab Seite 107 Teil einer Lösung.