Cmdlet-Erkennung und -Aliasse - AWS Tools for PowerShell

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 wird erläutert, wie Sie von AWS Tools for PowerShell unterstützte Services auflisten, wie Sie die von AWS Tools for PowerShell zur Unterstützung dieser Services bereitgestellten Cmdlets anzeigen und wie Sie alternative Cmdlet-Namen (Aliasnamen) für den Zugriff auf diese Services finden können.

Cmdlet-Erkennung

Alle AWS-Service-Operationen (oder APIs) sind im API-Referenzhandbuch für jeden Service dokumentiert. Siehe zum Beispiel die IAM-API-Referenz. In den meisten Fällen besteht eine exakte Übereinstimmung zwischen einer AWS-Service-API und einem AWS-PowerShell-Cmdlet. Um den Cmdlet-Namen zu ermitteln, der einem AWS-Service-API-Namen entspricht, führen Sie das AWS-Cmdlet Get-AWSCmdletName zusammen mit dem Parameter -ApiOperation und dem AWS-Service-API-Namen aus. 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 die Namen der API und des Services kennen, können Sie den Parameter -Service zusammen mit dem Cmdlet-Namenspräfix oder einem Teil des AWS-Service-Namens hinzufügen. Das Cmdlet-Namenspräfix für Amazon EC2 lautet beispielsweise EC2. Um den Cmdlet-Namen abzurufen, der der DescribeInstances-API im Amazon-EC2-Service entspricht, führen Sie einen der folgenden Befehle aus. 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 AWS-Services nicht kennen, können Sie den Parameter -ApiOperation zusammen mit dem Muster für die Zuordnung und dem Parameter -MatchWithRegex verwenden. 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 AWS-Services, aber nicht den der AWS-Service-API kennen, fügen Sie den Parameter -MatchWithRegex sowie den Parameter -Service hinzu, um die Suche auf einen einzelnen Service zu beschränken. Um beispielsweise alle verfügbaren Cmdlet-Namen zu ermitteln, die SecurityGroup nur im Amazon-EC2-Service enthalten, 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 AWS Command Line Interface(AWS CLI)-Befehls kennen, können Sie den Parameter -AwsCliCommand und den gewünschten AWS CLI-Befehlsaufruf verwenden, um den Namen des Cmdlet zu erhalten, das auf der gleichen API basiert. Um beispielsweise den Cmdlet-Namen abzurufen, der dem authorize-security-group-ingress-Befehlsaufruf AWS CLI im Amazon-EC2-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 Cmdlet Get-AWSCmdletName benötigt nur so viel vom AWS CLI-Befehlsnamen, um den Service und die AWS-API identifizieren zu können.

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

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 PowerShell-Substantiv sortiert wird.

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 Cmdlets zu filtern, die vom Cmdlet Get-Command zurückgegeben werden, leiten Sie die Ausgabe in das PowerShell-Cmdlet Select-String um. Mithilfe des folgenden Befehls zeigen Sie beispielsweise die Cmdlets an, die mit AWS-Regionen arbeiten:

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. Das folgende Beispiel gibt Cmdlets zurück, 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 von AWS Tools for PowerShell für einen bestimmten Service bereitgestellten Cmdlets basieren auf den Methoden, die vom AWS SDK für den betreffenden Service bereitgestellt werden. Aufgrund der obligatorischen PowerShell-Namenskonventionen kann der Name eines Cmdlets vom Namen des API-Aufrufs oder der Methode abweichen, auf denen es beruht. Beispiel: Das Cmdlet Get-EC2Instance basiert auf der Methode Amazon EC2DescribeInstances.

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

Verwenden Sie zum Abrufen des S3-Objekts mit AWS Tools for PowerShell das Cmdlet 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 zu einem AWS-Cmdlet stellt den Namen der AWS-SDK-API bereit, auf die das Cmdlet basiert.

Weitere Informationen zu PowerShell-Standardverben und ihren Bedeutungen finden Sie unter Genehmigte Verben für die PowerShell-Befehle.

Alle AWS-Cmdlets, die das Verb Remove verwenden, sowie das Cmdlet Stop-EC2Instance, sofern Sie den Parameter -Terminate hinzufügen, fordern eine Bestätigung an, bevor die Ausführung fortgesetzt wird. Mit dem Parameter -Force können Sie die Bestätigung umgehen.

Wichtig

AWS-Cmdlets unterstützen den Schalter -WhatIf nicht.

Aliasnamen

Das Installationsprogramm für AWS Tools for PowerShell installiert eine Aliasdatei, die Aliasnamen für viele der AWS-Cmdlets enthält. Diese Aliasnamen sind möglicherweise intuitiver als die Cmdlet-Namen. Beispielsweise ersetzen Servicenamen und AWS-SDK-Methodennamen PowerShell-Verbs und -Substantive in manchen Aliasnamen. Ein Beispiel ist der Alias EC2-DescribeInstances.

Andere Aliasnamen verwenden Verben, die möglicherweise nicht den PowerShell-Konventionen entsprechen, aber trotzdem aussagekräftiger als die eigentliche Operation sein 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 AWS Tools for PowerShell-Installationsverzeichnis. 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 for PowerShell-Aliasnamen anzuzeigen. Dieser Befehl verwendet den Alias ? für das PowerShell-Cmdlet Where-Object und die Eigenschaft Source, um nur nach Aliasnamen zu filtern, die aus dem Modul AWSPowerShell.NetCore stammen.

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 Ihre eigenen Aliasse hinzuzufügen, müssen Sie möglicherweise den Wert der $MaximumAliasCount Einstellungsvariablen von PowerShell auf einen Wert größer als 5500 setzen. 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