

AWS Tools for PowerShell V4 已进入维护模式。

我们建议您迁移到 [AWS Tools for PowerShell V5](https://docs.aws.amazon.com/powershell/v5/userguide/)。有关如何迁移的更多详细信息和信息，请参阅我们的[维护模式公告](https://aws.amazon.com/blogs/developer/aws-tools-for-powershell-v4-maintenance-mode-announcement/)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用中的 AWS 服务 AWS Tools for PowerShell
<a name="pstools-using"></a>

本节提供了使用 AWS Tools for PowerShell 访问 AWS 服务的示例。这些示例有助于演示如何使用 cmdlet 执行实际 AWS 任务。这些示例依赖于工具提供 PowerShell 的 cmdlet。要查看有哪些 cmdlet 可用，请参阅 [AWS Tools for PowerShell Cmdlet 参考](https://docs.aws.amazon.com/powershell/v4/reference/)。

## PowerShell 文件串联编码
<a name="powershell-file-concatenation-encoding"></a>

中的某些 cmdle AWS Tools for PowerShell t 会编辑您现有的文件或记录。 AWS例如`Edit-R53ResourceRecordSet`，它调用了 Amazon Route 53 [ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html)的 API。

在 PowerShell 5.1 或更早版本中编辑或连接文件时，将以 UTF-16 而不是 UTF-8 对输出进行 PowerShell 编码。这可能会添加不需要的字符并创建无效的结果。十六进制编辑器可以显示不需要的字符。

为避免将文件输出转换为 UTF-16，您可以通过管道将命令传送到 PowerShell的 `Out-File` cmdlet 中并指定 UTF-8 编码，如以下示例所示：

```
PS > *some file concatenation command* | Out-File filename.txt -Encoding utf8
```

如果您在 PowerShell 控制台中运行 AWS CLI 命令，则同样的行为适用。你可以通过管道将 AWS CLI 命令的输出传送到 PowerShell 控制台`Out-File`中。其他 cmdlet（例如 `Export-Csv` 或 `Export-Clixml`）也具有 `Encoding` 参数。有关具有 `Encoding` 参数并允许您纠正联接文件输出的编码的 cmdlet 的完整列表，请运行以下命令：

```
PS > Get-Command -ParameterName "Encoding"
```

**注意**  
PowerShell 6.0 及更高版本（包括 C PowerShell ore）会自动保留串联文件输出的 UTF-8 编码。

## PowerShell 工具返回的对象
<a name="returned-objects-for-the-powershell-tools"></a>

为了在原生 PowerShell 环境中 AWS Tools for PowerShell 更有用， AWS Tools for PowerShell cmdlet 返回的对象是.NET 对象，而不是通常从软件开发工具包中相应 API 返回的 JSON 文本对象。 AWS 例如，`Get-S3Bucket` 发出 `Buckets` 集合，而不是 Amazon S3 JSON 响应对象。可以将`Buckets`馆藏放入 PowerShell 管道中，并以适当的方式与之互动。同样，`Get-EC2Instance` 发出一个 `Reservation` .NET 对象集合，而不是 `DescribeEC2Instances` JSON 结果对象。这种行为是设计使 AWS Tools for PowerShell 体验与惯用语 PowerShell更加一致。

如果您需要，您可以使用实际的服务响应。它们作为 `note` 属性存储在返回的对象上。对于使用 `NextToken` 字段支持分页的 API 操作，这些还可作为 `note` 属性附加。

## [Amazon EC2](pstools-ec2.md)
<a name="using-ec2"></a>

本节演示了启动 Amazon EC2 实例所需的步骤，包括如何：
+ 检索 Amazon 系统映像列表 (AMIs)。
+ 为 SSH 身份验证创建密钥对。
+ 创建和配置 Amazon EC2 安全组。
+ 启动实例并检索关于它的信息。

## [Amazon S3](pstools-s3.md)
<a name="using-s3"></a>

本节演示创建托管在 Amazon S3 中的静态网站所需的步骤。它将介绍如何：
+ 创建和删除 Amazon S3 存储桶。
+ 将文件作为对象上传到 Amazon S3 存储桶中。
+ 从 Amazon S3 存储桶中删除对象。
+ 指定 Amazon S3 存储桶作为网站。

## [AWS Lambda 和 AWS Tools for PowerShell](pstools-lambda.md)
<a name="using-lambda"></a>

本节简要概述了适用于 PowerShell 模块的 AWS Lambda 工具，并描述了设置该模块所需的步骤。

## [Amazon SNS 和 Amazon SQS](pstools-sqs-queue-sns-topic.md)
<a name="using-sns"></a>

本节介绍为 Amazon SQS 队列订阅 Amazon SNS 主题所需的步骤。它将介绍如何：
+ 创建 Amazon SNS 主题。
+ 创建 Amazon SQS 队列。
+ 为队列订阅 主题。
+ 发送消息到主题。
+ 从队列接收消息。

## [CloudWatch](pstools-cw.md)
<a name="using-cw"></a>

此部分提供如何将自定义数据发布到 CloudWatch 的示例。
+ 将自定义指标发布到您的 CloudWatch 控制面板。

## 另请参阅
<a name="see-also"></a>
+  [开始使用 AWS Tools for Windows PowerShell](pstools-getting-started.md) 

## 主题
<a name="w2aac15c21"></a>
+ [Amazon S3 与 Tools for Windows PowerShell](pstools-s3.md)
+ [Amazon EC2 与 Tools for Windows PowerShell](pstools-ec2.md)
+ [AWS Lambda 和 AWS Tools for PowerShell](pstools-lambda.md)
+ [亚马逊 SQS、亚马逊 SNS 和适用于 Windows 的工具 PowerShell](pstools-sqs-queue-sns-topic.md)
+ [CloudWatch 来自 AWS Tools for Windows PowerShell](pstools-cw.md)
+ [在 cmdlet 中使用 ClientConfig 参数](pstools-clientconfig.md)