

第 5 版 (V5) AWS Tools for PowerShell 已發行！

如需有關中斷變更和遷移應用程式的資訊，請參閱[遷移主題](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)。

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Tools for PowerShell V5 的 CloudTrail 範例
<a name="powershell_cloudtrail_code_examples"></a>

下列程式碼範例示範如何使用 AWS Tools for PowerShell V5 搭配 CloudTrail 來執行動作和實作常見案例。

*Actions* 是大型程式的程式碼摘錄，必須在內容中執行。雖然動作會告訴您如何呼叫個別服務函數，但您可以在其相關情境中查看內容中的動作。

每個範例均包含完整原始碼的連結，您可在連結中找到如何設定和執行內容中程式碼的相關指示。

**Topics**
+ [動作](#actions)

## 動作
<a name="actions"></a>

### `Find-CTEvent`
<a name="cloudtrail_LookupEvents_powershell_topic"></a>

以下程式碼範例顯示如何使用 `Find-CTEvent`。

**Tools for PowerShell V5**  
**範例 1：傳回過去七天內發生的所有事件。根據預設，Cmdlet 會自動進行多次呼叫以傳遞所有事件，並在服務指出沒有其他資料可用時結束。**  

```
Find-CTEvent
```
**範例 2：傳回過去七天內發生的所有事件，指定不是目前 shell 預設值的區域。**  

```
Find-CTEvent -Region eu-central-1
```
**範例 3：傳回與 RunInstances API 呼叫相關聯的所有事件。**  

```
Find-CTEvent -LookupAttribute @{ AttributeKey="EventName"; AttributeValue="RunInstances" }
```
**範例 4：傳回前 5 個可用的事件。**  

```
Find-CTEvent -MaxResult 5
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [LookupEvents](https://docs.aws.amazon.com/powershell/v5/reference)。

### `Get-CTTrail`
<a name="cloudtrail_DescribeTrails_powershell_topic"></a>

以下程式碼範例顯示如何使用 `Get-CTTrail`。

**Tools for PowerShell V5**  
**範例 1：傳回與您的帳戶目前區域相關聯的所有追蹤設定。**  

```
Get-CTTrail
```
**範例 2：傳回指定的追蹤設定。**  

```
Get-CTTrail -TrailNameList trail1,trail2
```
**範例 3：傳回在目前 shell 預設 (在本案例中為法蘭克福 (eu-central-1) 區域) 以外區域中建立的指定追蹤設定。**  

```
Get-CTTrail -TrailNameList trailABC,trailDEF -Region eu-central-1
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [DescribeTrails](https://docs.aws.amazon.com/powershell/v5/reference)。

### `Get-CTTrailStatus`
<a name="cloudtrail_GetTrailStatus_powershell_topic"></a>

以下程式碼範例顯示如何使用 `Get-CTTrailStatus`。

**Tools for PowerShell V5**  
**範例 1：傳回名為 'myExampleTrail' 的追蹤狀態資訊。傳回的資料包含交付錯誤、Amazon SNS 和 Amazon S3 錯誤，以及開始和停止追蹤記錄時間的相關資訊。此範例假設追蹤是在與目前 shell 預設值相同的區域中建立的。**  

```
Get-CTTrailStatus -Name myExampleTrail
```
**範例 2：傳回在目前 shell 預設值 (在本案例中為法蘭克福 (eu-central-1) 區域) 以外區域中建立的追蹤狀態資訊。**  

```
Get-CTTrailStatus -Name myExampleTrail -Region eu-central-1
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [GetTrailStatus](https://docs.aws.amazon.com/powershell/v5/reference)。

### `New-CTTrail`
<a name="cloudtrail_CreateTrail_powershell_topic"></a>

以下程式碼範例顯示如何使用 `New-CTTrail`。

**Tools for PowerShell V5**  
**範例 1：建立使用儲存貯體 'amzn-s3-demo-bucket' 進行日誌檔儲存的追蹤記錄。**  

```
New-CTTrail -Name "awscloudtrail-example" -S3BucketName "amzn-s3-demo-bucket"
```
**範例 2：建立使用儲存貯體 'amzn-s3-demo-bucket' 進行日誌檔儲存的追蹤記錄。代表日誌的 S3 物件具有 'mylogs' 的常用鍵字首。當新日誌交付至儲存貯體時，傳送通知至 SNS 主題 'mlog-deliverytopic'。此範例使用 splatting 將參數值提供給 Cmdlet。**  

```
$params = @{
    Name="awscloudtrail-example"
    S3BucketName="amzn-s3-demo-bucket"
    S3KeyPrefix="mylogs"
    SnsTopicName="mlog-deliverytopic"
}      
New-CTTrail @params
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [CreateTrail](https://docs.aws.amazon.com/powershell/v5/reference)。

### `Remove-CTTrail`
<a name="cloudtrail_DeleteTrail_powershell_topic"></a>

以下程式碼範例顯示如何使用 `Remove-CTTrail`。

**Tools for PowerShell V5**  
**範例 1：刪除指定的追蹤記錄。執行命令之前，系統會提示您確認。若要隱藏確認，請新增 -Force 切換變數。**  

```
Remove-CTTrail -Name "awscloudtrail-example"
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [DeleteTrail](https://docs.aws.amazon.com/powershell/v5/reference)。

### `Start-CTLogging`
<a name="cloudtrail_StartLogging_powershell_topic"></a>

以下程式碼範例顯示如何使用 `Start-CTLogging`。

**Tools for PowerShell V5**  
**範例 1：開始記錄名為 'myExampleTrail' 之線索的 AWS API 呼叫和日誌檔案交付。此範例假設追蹤是在與目前 shell 預設值相同的區域中建立的。**  

```
Start-CTLogging -Name myExampleTrail
```
**範例 2：開始記錄在目前 shell 預設 （在此情況下為法蘭克福 (eu-central-1) 區域） 以外區域中建立之線索的 AWS API 呼叫和日誌檔案交付。**  

```
Start-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [StartLogging](https://docs.aws.amazon.com/powershell/v5/reference)。

### `Stop-CTLogging`
<a name="cloudtrail_StopLogging_powershell_topic"></a>

以下程式碼範例顯示如何使用 `Stop-CTLogging`。

**Tools for PowerShell V5**  
**範例 1：暫停記錄名為 'myExampleTrail' 之線索的 AWS API 呼叫和日誌檔案交付。此範例假設追蹤是在與目前 shell 預設值相同的區域中建立的。**  

```
Stop-CTLogging -Name myExampleTrail
```
**範例 2：暫停記錄在目前 shell 預設 （在此情況下為法蘭克福 (eu-central-1) 區域） 以外區域中建立之線索的 AWS API 呼叫和日誌檔案交付。**  

```
Stop-CTLogging -Name myExampleTrail -Region eu-central-1
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [StopLogging](https://docs.aws.amazon.com/powershell/v5/reference)。

### `Update-CTTrail`
<a name="cloudtrail_UpdateTrail_powershell_topic"></a>

以下程式碼範例顯示如何使用 `Update-CTTrail`。

**Tools for PowerShell V5**  
**範例 1：更新指定的追蹤，以便記錄全域服務事件 (例如來自 IAM 的事件)，並將後續日誌檔的常見金鑰字首變更為 'globallogs'。**  

```
Update-CTTrail -Name "awscloudtrail-example" -IncludeGlobalServiceEvents $true -S3KeyPrefix "globallogs"
```
**範例 2：更新指定的追蹤，以便將新日誌交付的通知傳送至指定的 SNS 主題。**  

```
Update-CTTrail -Name "awscloudtrail-example" -SnsTopicName "mlog-deliverytopic2"
```
**範例 3：更新指定的追蹤，以便將日誌傳送到不同的儲存貯體。**  

```
Update-CTTrail -Name "awscloudtrail-example" -S3BucketName "otherlogs"
```
+  如需 API 詳細資訊，請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》**中的 [UpdateTrail](https://docs.aws.amazon.com/powershell/v5/reference)。