Cmdlet-Erkennung und -Aliasse - AWS -Tools für PowerShell (Ausführung 4)

Version 5 (V5) von AWS -Tools für PowerShell wurde veröffentlicht!

Informationen zum Einstieg in die neue Version der Tools finden Sie im AWS -Tools für PowerShell Benutzerhandbuch (V5), insbesondere im Thema Migration zu V5.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Cmdlet-Erkennung und -Aliasse

In diesem Abschnitt erfahren Sie, wie Sie Dienste auflisten AWS -Tools für PowerShell, die von der unterstützt werden, die Gruppe von Cmdlets anzeigen, die AWS -Tools für PowerShell von zur Unterstützung dieser Dienste bereitgestellt werden, und wie Sie alternative Cmdlet-Namen (auch Aliase genannt) für den Zugriff auf diese Dienste finden.

Cmdlet-Erkennung

Alle AWS Dienstvorgänge (oder APIs) sind im API-Referenzhandbuch für jeden Dienst dokumentiert. Siehe zum Beispiel die IAM-API-Referenz. In den meisten Fällen besteht eine one-to-one Entsprechung zwischen einer AWS Service-API und einem AWS PowerShell Cmdlet. Um den Cmdlet-Namen abzurufen, der einem AWS Dienst-API-Namen entspricht, führen Sie das AWS Get-AWSCmdletName Cmdlet mit dem -ApiOperation Parameter und dem Dienst-API-Namen aus. AWS Um beispielsweise alle möglichen Cmdlet-Namen abzurufen, die auf einer verfügbaren DescribeInstances AWS Service-API basieren, führen Sie den folgenden Befehl aus:

PS > Get-AWSCmdletName -ApiOperation DescribeInstances CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Get-EC2Instance DescribeInstances Amazon Elastic Compute Cloud EC2 Get-GMLInstance DescribeInstances Amazon GameLift Service GML

Der Parameter -ApiOperation ist der Standardparameter, sodass Sie den Parameternamen auslassen können. Das folgende Beispiel entspricht dem vorherigen:

PS > Get-AWSCmdletName DescribeInstances

Wenn Sie sowohl die Namen der API als auch des Dienstes kennen, können Sie den -Service Parameter zusammen mit dem Substantivpräfix des Cmdlets oder einem Teil des Dienstnamens angeben. AWS Das Nominalpräfix des Cmdlets für Amazon EC2 lautet beispielsweise. EC2 Führen Sie einen der folgenden Befehle aus, um den Cmdlet-Namen abzurufen, der der DescribeInstances API im EC2 Amazon-Service entspricht. Sie sind alle Ergebnis in der gleichen Ausgabe:

PS > Get-AWSCmdletName -ApiOperation DescribeInstances -Service EC2 PS > Get-AWSCmdletName -ApiOperation DescribeInstances -Service Compute PS > Get-AWSCmdletName -ApiOperation DescribeInstances -Service "Compute Cloud" CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Get-EC2Instance DescribeInstances Amazon Elastic Compute Cloud EC2

Bei den Parameterwerten für diese Befehle wird die Groß- und Kleinschreibung berücksichtigt.

Wenn Sie den Namen der gewünschten AWS Service-API oder des Dienstes nicht kennen, können Sie den -ApiOperation Parameter zusammen mit dem abzugleichenden Muster und dem -MatchWithRegex Parameter verwenden. AWS Um beispielsweise alle verfügbaren Cmdlet-Namen zu ermitteln, die SecurityGroup enthalten, führen Sie den folgenden Befehl aus:

PS > Get-AWSCmdletName -ApiOperation SecurityGroup -MatchWithRegex CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Approve-ECCacheSecurityGroupIngress AuthorizeCacheSecurityGroupIngress Amazon ElastiCache EC Get-ECCacheSecurityGroup DescribeCacheSecurityGroups Amazon ElastiCache EC New-ECCacheSecurityGroup CreateCacheSecurityGroup Amazon ElastiCache EC Remove-ECCacheSecurityGroup DeleteCacheSecurityGroup Amazon ElastiCache EC Revoke-ECCacheSecurityGroupIngress RevokeCacheSecurityGroupIngress Amazon ElastiCache EC Add-EC2SecurityGroupToClientVpnTargetNetwrk ApplySecurityGroupsToClientVpnTargetNetwork Amazon Elastic Compute Cloud EC2 Get-EC2SecurityGroup DescribeSecurityGroups Amazon Elastic Compute Cloud EC2 Get-EC2SecurityGroupReference DescribeSecurityGroupReferences Amazon Elastic Compute Cloud EC2 Get-EC2StaleSecurityGroup DescribeStaleSecurityGroups Amazon Elastic Compute Cloud EC2 Grant-EC2SecurityGroupEgress AuthorizeSecurityGroupEgress Amazon Elastic Compute Cloud EC2 Grant-EC2SecurityGroupIngress AuthorizeSecurityGroupIngress Amazon Elastic Compute Cloud EC2 New-EC2SecurityGroup CreateSecurityGroup Amazon Elastic Compute Cloud EC2 Remove-EC2SecurityGroup DeleteSecurityGroup Amazon Elastic Compute Cloud EC2 Revoke-EC2SecurityGroupEgress RevokeSecurityGroupEgress Amazon Elastic Compute Cloud EC2 Revoke-EC2SecurityGroupIngress RevokeSecurityGroupIngress Amazon Elastic Compute Cloud EC2 Update-EC2SecurityGroupRuleEgressDescription UpdateSecurityGroupRuleDescriptionsEgress Amazon Elastic Compute Cloud EC2 Update-EC2SecurityGroupRuleIngressDescription UpdateSecurityGroupRuleDescriptionsIngress Amazon Elastic Compute Cloud EC2 Edit-EFSMountTargetSecurityGroup ModifyMountTargetSecurityGroups Amazon Elastic File System EFS Get-EFSMountTargetSecurityGroup DescribeMountTargetSecurityGroups Amazon Elastic File System EFS Join-ELBSecurityGroupToLoadBalancer ApplySecurityGroupsToLoadBalancer Elastic Load Balancing ELB Set-ELB2SecurityGroup SetSecurityGroups Elastic Load Balancing V2 ELB2 Enable-RDSDBSecurityGroupIngress AuthorizeDBSecurityGroupIngress Amazon Relational Database Service RDS Get-RDSDBSecurityGroup DescribeDBSecurityGroups Amazon Relational Database Service RDS New-RDSDBSecurityGroup CreateDBSecurityGroup Amazon Relational Database Service RDS Remove-RDSDBSecurityGroup DeleteDBSecurityGroup Amazon Relational Database Service RDS Revoke-RDSDBSecurityGroupIngress RevokeDBSecurityGroupIngress Amazon Relational Database Service RDS Approve-RSClusterSecurityGroupIngress AuthorizeClusterSecurityGroupIngress Amazon Redshift RS Get-RSClusterSecurityGroup DescribeClusterSecurityGroups Amazon Redshift RS New-RSClusterSecurityGroup CreateClusterSecurityGroup Amazon Redshift RS Remove-RSClusterSecurityGroup DeleteClusterSecurityGroup Amazon Redshift RS Revoke-RSClusterSecurityGroupIngress RevokeClusterSecurityGroupIngress Amazon Redshift RS

Wenn Sie den Namen des Dienstes, aber nicht die AWS AWS Service-API kennen, geben Sie sowohl den -MatchWithRegex Parameter als auch den -Service Parameter an, um die Suche auf einen einzelnen Dienst einzugrenzen. Um beispielsweise alle Cmdlet-Namen abzurufen, die nur den EC2 Amazon-Service enthaltenSecurityGroup, führen Sie den folgenden Befehl aus

PS > Get-AWSCmdletName -ApiOperation SecurityGroup -MatchWithRegex -Service EC2 CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Add-EC2SecurityGroupToClientVpnTargetNetwrk ApplySecurityGroupsToClientVpnTargetNetwork Amazon Elastic Compute Cloud EC2 Get-EC2SecurityGroup DescribeSecurityGroups Amazon Elastic Compute Cloud EC2 Get-EC2SecurityGroupReference DescribeSecurityGroupReferences Amazon Elastic Compute Cloud EC2 Get-EC2StaleSecurityGroup DescribeStaleSecurityGroups Amazon Elastic Compute Cloud EC2 Grant-EC2SecurityGroupEgress AuthorizeSecurityGroupEgress Amazon Elastic Compute Cloud EC2 Grant-EC2SecurityGroupIngress AuthorizeSecurityGroupIngress Amazon Elastic Compute Cloud EC2 New-EC2SecurityGroup CreateSecurityGroup Amazon Elastic Compute Cloud EC2 Remove-EC2SecurityGroup DeleteSecurityGroup Amazon Elastic Compute Cloud EC2 Revoke-EC2SecurityGroupEgress RevokeSecurityGroupEgress Amazon Elastic Compute Cloud EC2 Revoke-EC2SecurityGroupIngress RevokeSecurityGroupIngress Amazon Elastic Compute Cloud EC2 Update-EC2SecurityGroupRuleEgressDescription UpdateSecurityGroupRuleDescriptionsEgress Amazon Elastic Compute Cloud EC2 Update-EC2SecurityGroupRuleIngressDescription UpdateSecurityGroupRuleDescriptionsIngress Amazon Elastic Compute Cloud EC2

Wenn Sie den Namen des Befehls AWS Command Line Interface (AWS CLI) kennen, können Sie den -AwsCliCommand Parameter und den gewünschten AWS CLI Befehlsnamen verwenden, um den Namen des Cmdlets abzurufen, das auf derselben API basiert. Um beispielsweise den Namen des Cmdlets abzurufen, der dem authorize-security-group-ingress AWS CLI Befehlsaufruf im EC2 Amazon-Service entspricht, führen Sie den folgenden Befehl aus:

PS > Get-AWSCmdletName -AwsCliCommand "aws ec2 authorize-security-group-ingress" CmdletName ServiceOperation ServiceName CmdletNounPrefix ---------- ---------------- ----------- ---------------- Grant-EC2SecurityGroupIngress AuthorizeSecurityGroupIngress Amazon Elastic Compute Cloud EC2

Das Get-AWSCmdletName Cmdlet benötigt nur genügend AWS CLI Befehlsnamen, um den Service und die API zu identifizieren. AWS

Um eine Liste aller Cmdlets in den Tools for PowerShell Core abzurufen, führen Sie das PowerShell Get-Command Cmdlet aus, wie im folgenden Beispiel gezeigt.

PS > Get-Command -Module AWSPowerShell.NetCore

Sie können denselben Befehl mit -Module AWSPowerShell ausführen, um die Cmdlets in den AWS Tools for Windows PowerShell anzuzeigen.

Das Cmdlet Get-Command generiert die Liste der Cmdlets in alphabetischer Reihenfolge. Beachten Sie, dass die Liste standardmäßig nach PowerShell Verb und nicht nach Substantiv sortiert ist. PowerShell

Um die Ergebnisse stattdessen nach Service zu sortieren, führen Sie den folgenden Befehl aus:

PS > Get-Command -Module AWSPowerShell.NetCore | Sort-Object Noun,Verb

Um die vom Cmdlet zurückgegebenen Cmdlets zu filtern, leiten Sie die Ausgabe über die Pipeline an das Get-Command Cmdlet weiter. PowerShell Select-String Um beispielsweise den Satz von Cmdlets anzuzeigen, die mit Regionen funktionieren, führen Sie den folgenden Befehl aus: AWS

PS > Get-Command -Module AWSPowerShell.NetCore | Select-String region Clear-DefaultAWSRegion Copy-HSM2BackupToRegion Get-AWSRegion Get-DefaultAWSRegion Get-EC2Region Get-LSRegionList Get-RDSSourceRegion Set-DefaultAWSRegion

Sie können Cmdlets für einen bestimmten Service auch ermitteln, indem Sie nach dem Service-Präfix des Cmdlet-Substantivs filtern. Führen Sie Get-AWSPowerShellVersion -ListServiceVersionInfo aus, um die Liste der verfügbaren Servicepräfixe anzuzeigen. Im folgenden Beispiel werden Cmdlets zurückgegeben, die den Amazon CloudWatch Events-Service unterstützen.

PS > Get-Command -Module AWSPowerShell -Noun CWE* CommandType Name Version Source ----------- ---- ------- ------ Cmdlet Add-CWEResourceTag 3.3.563.1 AWSPowerShell.NetCore Cmdlet Disable-CWEEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Disable-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Enable-CWEEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Enable-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEEventBus 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEEventBusList 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEEventSourceList 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEPartnerEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEPartnerEventSourceAccountList 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEPartnerEventSourceList 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWEResourceTag 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWERuleDetail 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWERuleNamesByTarget 3.3.563.1 AWSPowerShell.NetCore Cmdlet Get-CWETargetsByRule 3.3.563.1 AWSPowerShell.NetCore Cmdlet New-CWEEventBus 3.3.563.1 AWSPowerShell.NetCore Cmdlet New-CWEPartnerEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWEEventBus 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWEPartnerEventSource 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWEPermission 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWEResourceTag 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Remove-CWETarget 3.3.563.1 AWSPowerShell.NetCore Cmdlet Test-CWEEventPattern 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWEEvent 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWEPartnerEvent 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWEPermission 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWERule 3.3.563.1 AWSPowerShell.NetCore Cmdlet Write-CWETarget 3.3.563.1 AWSPowerShell.NetCore

Cmdlet-Namen und -Aliasse

Die Cmdlets AWS -Tools für PowerShell für jeden Service basieren auf den Methoden, die vom AWS SDK für den Service bereitgestellt werden. Aufgrund der PowerShell verbindlichen Benennungskonventionen kann sich der Name eines Cmdlets jedoch vom Namen des API-Aufrufs oder der Methode unterscheiden, auf der es basiert. Das Get-EC2Instance Cmdlet basiert beispielsweise auf der EC2 DescribeInstances Amazon-Methode.

In manchen Fällen kann der Cmdlet-Name dem Namen einer Methode ähneln, obwohl es eine andere Funktion ausführt. Die Amazon-S3-Methode GetObject ruft beispielsweise ein Amazon-S3-Objekt ab. Das Cmdlet Get-S3Object gibt jedoch Informationen zu einem Amazon-S3-Objekt zurück, nicht das Objekt selbst.

PS > Get-S3Object -BucketName text-content -Key aws-tech-docs ETag : "df000002a0fe0000f3c000004EXAMPLE" BucketName : aws-tech-docs Key : javascript/frameset.js LastModified : 6/13/2011 1:24:18 PM Owner : Amazon.S3.Model.Owner Size : 512 StorageClass : STANDARD

Um ein S3-Objekt mit dem abzurufen AWS -Tools für PowerShell, führen Sie das folgende Cmdlet aus: Read-S3Object

PS > Read-S3Object -BucketName text-content -Key text-object.txt -file c:\tmp\text-object-download.text Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 11/5/2012 7:29 PM 20622 text-object-download.text
Anmerkung

Die Cmdlet-Hilfe für ein AWS Cmdlet enthält den Namen der AWS SDK-API, auf der das Cmdlet basiert.

Weitere Informationen zu PowerShell Standardverben und ihren Bedeutungen finden Sie unter Zulässige Verben für Befehle. PowerShell

Alle AWS Cmdlets, die das Remove Verb verwenden — und das Stop-EC2Instance Cmdlet, wenn Sie den -Terminate Parameter hinzufügen — werden zur Bestätigung aufgefordert, bevor der Vorgang fortgesetzt wird. Mit dem Parameter -Force können Sie die Bestätigung umgehen.

Wichtig

AWS Cmdlets unterstützen den Switch nicht. -WhatIf

Aliasnamen

Beim Setup von AWS -Tools für PowerShell wird eine Aliasdatei installiert, die Aliase für viele der Cmdlets enthält. AWS Diese Aliasnamen sind möglicherweise intuitiver als die Cmdlet-Namen. Beispielsweise ersetzen Dienstnamen und AWS SDK-Methodennamen PowerShell Verben und Substantive in einigen Aliasnamen. Ein Beispiel ist der Alias EC2-DescribeInstances.

Andere Aliase verwenden Verben, die zwar nicht den PowerShell Standardkonventionen entsprechen, die eigentliche Operation aber aussagekräftiger beschreiben können. Die Aliasdatei ordnet beispielsweise den Alias Get-S3Content dem Cmdlet Read-S3Object zu.

PS > Set-Alias -Name Get-S3Content -Value Read-S3Object

Die Aliasdatei befindet sich im Installationsverzeichnis. AWS -Tools für PowerShell Um die Aliasnamen in die Umgebung zu laden, geben Sie die Datei in der Punkt-Quelle-Schreibweise an. Im Folgenden finden Sie ein Windows-basiertes Beispiel.

PS > . "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowershell\AWSAliases.ps1"

Für eine Linux- oder macOS-Shell könnte es folgendermaßen aussehen:

. ~/.local/share/powershell/Modules/AWSPowerShell.NetCore/3.3.563.1/AWSAliases.ps1

Führen Sie den folgenden Befehl aus, um alle AWS -Tools für PowerShell Aliase anzuzeigen. Dieser Befehl verwendet den ? Alias für das PowerShell Where-Object Cmdlet und die Source Eigenschaft, um nur nach Aliasen zu filtern, die aus dem Modul stammen. AWSPowerShell.NetCore

PS > Get-Alias | ? Source -like "AWSPowerShell.NetCore" CommandType Name Version Source ----------- ---- ------- ------ Alias Add-ASInstances 3.3.343.0 AWSPowerShell Alias Add-CTTag 3.3.343.0 AWSPowerShell Alias Add-DPTags 3.3.343.0 AWSPowerShell Alias Add-DSIpRoutes 3.3.343.0 AWSPowerShell Alias Add-ELBTags 3.3.343.0 AWSPowerShell Alias Add-EMRTag 3.3.343.0 AWSPowerShell Alias Add-ESTag 3.3.343.0 AWSPowerShell Alias Add-MLTag 3.3.343.0 AWSPowerShell Alias Clear-AWSCredentials 3.3.343.0 AWSPowerShell Alias Clear-AWSDefaults 3.3.343.0 AWSPowerShell Alias Dismount-ASInstances 3.3.343.0 AWSPowerShell Alias Edit-EC2Hosts 3.3.343.0 AWSPowerShell Alias Edit-RSClusterIamRoles 3.3.343.0 AWSPowerShell Alias Enable-ORGAllFeatures 3.3.343.0 AWSPowerShell Alias Find-CTEvents 3.3.343.0 AWSPowerShell Alias Get-ASACases 3.3.343.0 AWSPowerShell Alias Get-ASAccountLimits 3.3.343.0 AWSPowerShell Alias Get-ASACommunications 3.3.343.0 AWSPowerShell Alias Get-ASAServices 3.3.343.0 AWSPowerShell Alias Get-ASASeverityLevels 3.3.343.0 AWSPowerShell Alias Get-ASATrustedAdvisorCheckRefreshStatuses 3.3.343.0 AWSPowerShell Alias Get-ASATrustedAdvisorChecks 3.3.343.0 AWSPowerShell Alias Get-ASATrustedAdvisorCheckSummaries 3.3.343.0 AWSPowerShell Alias Get-ASLifecycleHooks 3.3.343.0 AWSPowerShell Alias Get-ASLifecycleHookTypes 3.3.343.0 AWSPowerShell Alias Get-AWSCredentials 3.3.343.0 AWSPowerShell Alias Get-CDApplications 3.3.343.0 AWSPowerShell Alias Get-CDDeployments 3.3.343.0 AWSPowerShell Alias Get-CFCloudFrontOriginAccessIdentities 3.3.343.0 AWSPowerShell Alias Get-CFDistributions 3.3.343.0 AWSPowerShell Alias Get-CFGConfigRules 3.3.343.0 AWSPowerShell Alias Get-CFGConfigurationRecorders 3.3.343.0 AWSPowerShell Alias Get-CFGDeliveryChannels 3.3.343.0 AWSPowerShell Alias Get-CFInvalidations 3.3.343.0 AWSPowerShell Alias Get-CFNAccountLimits 3.3.343.0 AWSPowerShell Alias Get-CFNStackEvents 3.3.343.0 AWSPowerShell ...

Um dieser Datei eigene Aliase hinzuzufügen, müssen Sie möglicherweise den Wert der $MaximumAliasCount Präferenzvariablen auf einen Wert über PowerShell 5500 erhöhen. Der Standardwert ist 4096. Sie können ihn auf maximal 32.768 erhöhen. Führen Sie dazu den folgenden Befehl aus.

PS > $MaximumAliasCount = 32768

Um zu überprüfen, ob Ihre Änderung erfolgreich war, geben Sie den Variablennamen ein, um den aktuellen Wert anzuzeigen.

PS > $MaximumAliasCount 32768