Penemuan dan alias Cmdlet - Alat AWS untuk PowerShell

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penemuan dan alias Cmdlet

Bagian ini menunjukkan cara daftar layanan yang didukung oleh Alat AWS untuk PowerShell, cara menampilkan kumpulan cmdlet yang disediakan oleh Alat AWS untuk PowerShell untuk mendukung layanan tersebut, dan cara menemukan nama cmdlet alternatif (juga disebut alias) untuk mengakses layanan tersebut.

Penemuan Cmdlet

Semua AWS operasi layanan (atau API) didokumentasikan dalam Panduan Referensi API untuk masing-masing layanan. Misalnya, lihat bagian Referensi API IAM. Ada, dalam banyak kasus, one-to-one korespondensi antara API AWS layanan dan AWS PowerShell cmdlet. Untuk mendapatkan nama cmdlet yang sesuai dengan nama API layanan AWS, jalankan cmdlet AWS Get-AWSCmdletName dengan parameter -ApiOperation dan nama API layanan AWS. Misalnya, untuk mendapatkan semua kemungkinan nama cmdlet yang didasarkan pada setiap API layanan DescribeInstances AWS yang tersedia, jalankan perintah berikut:

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

Parameter -ApiOperation merupakan parameter default, sehingga Anda dapat menghilangkan nama parameter. Contoh berikut setara dengan yang sebelumnya:

PS > Get-AWSCmdletName DescribeInstances

Jika Anda tahu nama-nama API dan layanan, Anda dapat menyertakan parameter -Service bersama dengan awalan kata benda cmdlet atau bagian dari nama layanan AWS. Sebagai contoh, awalan kata benda cmdlet untuk Amazon EC2 adalah EC2. Untuk mendapatkan nama cmdlet yang sesuai dengan API DescribeInstances dalam layanan Amazon EC2, jalankan salah satu perintah berikut. Semuanya menghasilkan output yang sama:

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

Nilai parameter dalam perintah ini peka huruf besar-kecil.

Jika Anda tidak tahu nama API layanan AWS atau layanan AWS yang diinginkan, Anda dapat menggunakan parameter -ApiOperation, bersama dengan pola untuk mencocokkan, dan parameter -MatchWithRegex. Misalnya, untuk mendapatkan semua nama cmdlet tersedia yang berisi SecurityGroup, jalankan perintah berikut:

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

Jika Anda tahu nama layanan AWS tetapi tidak tahu API layanan AWS, masukkan parameter -MatchWithRegex dan parameter -Service untuk lingkup pencarian ke layanan tunggal. Misalnya, untuk mendapatkan semua nama cmdlet yang berisi SecurityGroup hanya di layanan Amazon EC2, jalankan perintah berikut

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

Jika Anda tahu nama perintah AWS Command Line Interface (AWS CLI), Anda dapat menggunakan parameter -AwsCliCommand dan nama perintah AWS CLI yang diinginkan untuk mendapatkan nama cmdlet yang didasarkan pada API yang sama. Misalnya, untuk mendapatkan semua nama cmdlet yang sesuai dengan panggilan perintah authorize-security-group-ingress AWS CLI di layanan Amazon EC2, jalankan perintah berikut:

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

Cmdlet Get-AWSCmdletName hanya membutuhkan nama perintah AWS CLI untuk mengidentifikasi layanan dan perintah API AWS .

Untuk mendapatkan daftar semua cmdlet di Tools for PowerShell Core, jalankan PowerShell Get-Command cmdlet, seperti yang ditunjukkan pada contoh berikut.

PS > Get-Command -Module AWSPowerShell.NetCore

Anda dapat menjalankan perintah yang sama dengan -Module AWSPowerShell untuk melihat cmdlet di AWS Tools for Windows PowerShell.

Cmdlet Get-Command menghasilkan daftar cmdlet sesuai urutan abjad. Perhatikan bahwa secara default daftar diurutkan berdasarkan PowerShell kata kerja, bukan PowerShell kata benda.

Untuk mengurutkan hasil berdasarkan layanan, jalankan perintah berikut:

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

Untuk menyaring cmdlet yang dikembalikan oleh Get-Command cmdlet, pipa output ke cmdlet. PowerShell Select-String Misalnya, untuk melihat kumpulan cmdlet yang bekerja dengan wilayah AWS, jalankan perintah berikut:

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

Anda juga dapat menemukan cmdlet untuk layanan tertentu dengan menyaring prefiks layanan kata benda cmdlet. Untuk melihat daftar prefiks layanan yang tersedia, jalankan Get-AWSPowerShellVersion -ListServiceVersionInfo. Contoh berikut mengembalikan cmdlet yang mendukung layanan Amazon CloudWatch Events.

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

Penamaan dan Alias Cmdlet

Cmdlet dalam Alat AWS untuk PowerShell untuk masing-masing layanan didasarkan pada metode yang disediakan oleh SDK AWS untuk layanan. Namun, karena konvensi penamaan wajib, nama cmdlet mungkin berbeda dari nama panggilan API atau metode yang menjadi dasarnya. PowerShell Misalnya, cmdlet Get-EC2Instance didasarkan pada metode DescribeInstancesAmazon EC2.

Dalam beberapa kasus, nama cmdlet mungkin mirip dengan nama metode, tetapi keduanya mungkin sebenarnya melakukan fungsi yang berbeda. Misalnya, metode GetObjectAmazon S3 mengambil objek Amazon S3. Namun, cmdlet Get-S3Object mengembalikan Informasi tentang objek Amazon S3 dan bukan objek itu sendiri.

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

Untuk mendapatkan objek S3 dengan Alat AWS untuk PowerShell, jalankan perintah 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
catatan

Bantuan cmdlet untuk cmdlet AWS menyediakan nama SDK API AWS yang menjadi dasar cmdlet.

Untuk informasi selengkapnya tentang PowerShell kata kerja standar dan artinya, lihat Kata Kerja yang Disetujui untuk PowerShell Perintah.

Semua cmdlet AWS yang menggunakan kata kerja Remove — dan cmdlet Stop-EC2Instance saat Anda menambahkan parameter -Terminate - berikan perintah untuk konfirmasi sebelum melanjutkan. Untuk memotong konfirmasi, tambahkan parameter -Force ke perintah Anda.

penting

Cmdlet AWS tidak mendukung switch -WhatIf.

Alias

Penyiapan Alat AWS untuk PowerShell akan memasang file alias yang berisi alias untuk banyak cmdlet AWS. Alias ini mungkin lebih intuitif dibandingkan nama cmdlet. Misalnya, nama layanan dan nama metode AWS SDK menggantikan PowerShell kata kerja dan kata benda di beberapa alias. Sebagai contoh adalah alias EC2-DescribeInstances.

Alias lain menggunakan kata kerja yang, meskipun tidak mengikuti PowerShell konvensi standar, dapat lebih deskriptif dari operasi yang sebenarnya. Misalnya, file alias memetakan alias Get-S3Content ke cmdlet Read-S3Object.

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

File alias berada di direktori pemasangan Alat AWS untuk PowerShell. Untuk memuat alias ke lingkungan Anda, dot-souce file. Berikut ini adalah contoh berbasis Windows.

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

Untuk shell Linux atau macOS, mungkin akan terlihat seperti ini:

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

Untuk menampilkan semua alias Alat AWS untuk PowerShell, jalankan perintah berikut. Perintah ini menggunakan ? alias untuk PowerShell Where-Object cmdlet dan Source properti untuk memfilter hanya alias yang berasal dari modul. 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 ...

Untuk menambahkan alias Anda sendiri ke file ini, Anda mungkin perlu menaikkan nilai variabel $MaximumAliasCount preferensi ke nilai yang lebih besar dari 5500. PowerShell Nilai default adalah 4096; Anda dapat meningkatkan hingga maksimum 32768. Untuk melakukannya, jalankan yang berikut ini.

PS > $MaximumAliasCount = 32768

Untuk memverifikasi bahwa perubahan Anda berhasil, masukkan nama variabel untuk menunjukkan nilai saat ini.

PS > $MaximumAliasCount 32768