使用 Tools for PowerShell V4 的 WorkSpaces 示例 - AWS Tools for PowerShell(版本 4)

AWS Tools for PowerShell 版本 5(V5)已经发布!

要开始使用新版本的工具,请参阅《AWS Tools for PowerShell 用户指南(V5)》,特别是关于迁移到 V5 的主题。

使用 Tools for PowerShell V4 的 WorkSpaces 示例

以下代码示例演示如何通过将 AWS Tools for PowerShell V4 与 WorkSpaces 结合使用,来执行操作和实现常见场景。

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示了如何使用 Approve-WKSIpRule

Tools for PowerShell V4

示例 1:此示例向现有 IP 组添加规则

$Rule = @( @{IPRule = "10.1.0.0/0"; RuleDesc = "First Rule Added"}, @{IPRule = "10.2.0.0/0"; RuleDesc = "Second Rule Added"} ) Approve-WKSIpRule -GroupId wsipg-abcnx2fcw -UserRule $Rule
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 AuthorizeIpRules

以下代码示例演示了如何使用 Copy-WKSWorkspaceImage

Tools for PowerShell V4

示例 1:此示例将具有指定 ID 的工作空间映像从 us-west-2 复制到名为“CopiedImageTest”的当前区域

Copy-WKSWorkspaceImage -Name CopiedImageTest -SourceRegion us-west-2 -SourceImageId wsi-djfoedhw6

输出:

wsi-456abaqfe
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 CopyWorkspaceImage

以下代码示例演示了如何使用 Edit-WKSClientProperty

Tools for PowerShell V4

示例 1:此示例为 Workspaces 客户端启用重新连接

Edit-WKSClientProperty -Region us-west-2 -ClientProperties_ReconnectEnabled "ENABLED" -ResourceId d-123414a369
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 ModifyClientProperties

以下代码示例演示了如何使用 Edit-WKSSelfServicePermission

Tools for PowerShell V4

示例 1:此示例启用自助服务权限,以便为指定的目录更改计算类型并增加卷大小

Edit-WKSSelfservicePermission -Region us-west-2 -ResourceId d-123454a369 -SelfservicePermissions_ChangeComputeType ENABLED -SelfservicePermissions_IncreaseVolumeSize ENABLED

以下代码示例演示了如何使用 Edit-WKSWorkspaceAccessProperty

Tools for PowerShell V4

示例 1:此示例在 Android 和 Chrome 操作系统上针对指定目录启用工作空间访问

Edit-WKSWorkspaceAccessProperty -Region us-west-2 -ResourceId d-123454a369 -WorkspaceAccessProperties_DeviceTypeAndroid ALLOW -WorkspaceAccessProperties_DeviceTypeChromeOs ALLOW

以下代码示例演示了如何使用 Edit-WKSWorkspaceCreationProperty

Tools for PowerShell V4

示例 1:此示例支持在创建工作空间时将互联网访问和维护模式设置为 true 作为默认值

Edit-WKSWorkspaceCreationProperty -Region us-west-2 -ResourceId d-123454a369 -WorkspaceCreationProperties_EnableInternetAccess $true -WorkspaceCreationProperties_EnableMaintenanceMode $true

以下代码示例演示了如何使用 Edit-WKSWorkspaceProperty

Tools for PowerShell V4

示例 1:此示例将指定工作空间的“工作空间运行模式”属性更改为“自动停止

Edit-WKSWorkspaceProperty -WorkspaceId ws-w361s100v -Region us-west-2 -WorkspaceProperties_RunningMode AUTO_STOP

以下代码示例演示了如何使用 Edit-WKSWorkspaceState

Tools for PowerShell V4

示例 1:此示例将指定工作空间的状态更改为“可用

Edit-WKSWorkspaceState -WorkspaceId ws-w361s100v -Region us-west-2 -WorkspaceState AVAILABLE
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 ModifyWorkspaceState

以下代码示例演示了如何使用 Get-WKSClientProperty

Tools for PowerShell V4

示例 1:此示例获取指定目录的工作空间客户端的客户端属性

Get-WKSClientProperty -ResourceId d-223562a123
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DescribeClientProperties

以下代码示例演示了如何使用 Get-WKSIpGroup

Tools for PowerShell V4

示例 1:此示例获取指定区域中指定 IP 组的详细信息

Get-WKSIpGroup -Region us-east-1 -GroupId wsipg-8m1234v45

输出:

GroupDesc GroupId GroupName UserRules --------- ------- --------- --------- wsipg-8m1234v45 TestGroup {Amazon.WorkSpaces.Model.IpRuleItem, Amazon.WorkSpaces.Model.IpRuleItem}
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DescribeIpGroups

以下代码示例演示了如何使用 Get-WKSTag

Tools for PowerShell V4

示例 1:此示例获取给定工作空间的标签

Get-WKSTag -WorkspaceId ws-w361s234r -Region us-west-2

输出:

Key Value --- ----- auto-delete no purpose Workbench
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DescribeTags

以下代码示例演示了如何使用 Get-WKSWorkspace

Tools for PowerShell V4

示例 1:将所有 WorkSpaces 的详细信息检索到管道。

Get-WKSWorkspace

输出:

BundleId : wsb-1a2b3c4d ComputerName : DirectoryId : d-1a2b3c4d ErrorCode : ErrorMessage : IpAddress : RootVolumeEncryptionEnabled : False State : PENDING SubnetId : UserName : myuser UserVolumeEncryptionEnabled : False VolumeEncryptionKey : WorkspaceId : ws-1a2b3c4d WorkspaceProperties : Amazon.WorkSpaces.Model.WorkspaceProperties

示例 2:此命令显示 us-west-2 区域中某个工作空间的 WorkSpaceProperties 的各个子属性的值。有关 WorkSpaceProperties 的子属性的更多信息,请参阅 https://docs.aws.amazon.com/workspaces/latest/api/API_WorkspaceProperties.html。

(Get-WKSWorkspace -Region us-west-2 -WorkSpaceId ws-xdaf7hc9s).WorkspaceProperties

输出:

ComputeTypeName : STANDARD RootVolumeSizeGib : 80 RunningMode : AUTO_STOP RunningModeAutoStopTimeoutInMinutes : 60 UserVolumeSizeGib : 50

示例 3:此命令显示 us-west-2 区域中某个工作空间的 WorkSpaceProperties 的子属性 RootVolumeSizeGib 的值。根卷大小(以 GiB 为单位)为 80。

(Get-WKSWorkspace -Region us-west-2 -WorkSpaceId ws-xdaf7hc9s).WorkspaceProperties.RootVolumeSizeGib

输出:

80
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DescribeWorkspaces

以下代码示例演示了如何使用 Get-WKSWorkspaceBundle

Tools for PowerShell V4

示例 1:此示例获取当前区域中所有工作空间捆绑包的详细信息

Get-WKSWorkspaceBundle

输出:

BundleId : wsb-sfhdgv342 ComputeType : Amazon.WorkSpaces.Model.ComputeType Description : This bundle is custom ImageId : wsi-235aeqges LastUpdatedTime : 12/26/2019 06:44:07 Name : CustomBundleTest Owner : 233816212345 RootStorage : Amazon.WorkSpaces.Model.RootStorage UserStorage : Amazon.WorkSpaces.Model.UserStorage
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DescribeWorkspaceBundles

以下代码示例演示了如何使用 Get-WKSWorkspaceDirectory

Tools for PowerShell V4

示例 1:此示例列出已注册目录的目录详细信息

Get-WKSWorkspaceDirectory

输出:

Alias : TestWorkspace CustomerUserName : Administrator DirectoryId : d-123414a369 DirectoryName : TestDirectory.com DirectoryType : MicrosoftAD DnsIpAddresses : {172.31.43.45, 172.31.2.97} IamRoleId : arn:aws:iam::761234567801:role/workspaces_RoleDefault IpGroupIds : {} RegistrationCode : WSpdx+4RRT43 SelfservicePermissions : Amazon.WorkSpaces.Model.SelfservicePermissions State : REGISTERED SubnetIds : {subnet-1m3m7b43, subnet-ard11aba} Tenancy : SHARED WorkspaceAccessProperties : Amazon.WorkSpaces.Model.WorkspaceAccessProperties WorkspaceCreationProperties : Amazon.WorkSpaces.Model.DefaultWorkspaceCreationProperties WorkspaceSecurityGroupId : sg-0ed2441234a123c43

以下代码示例演示了如何使用 Get-WKSWorkspaceImage

Tools for PowerShell V4

示例 1:此示例获取区域中所有映像的所有详细信息

Get-WKSWorkspaceImage

输出:

Description :This image is copied from another image ErrorCode : ErrorMessage : ImageId : wsi-345ahdjgo Name : CopiedImageTest OperatingSystem : Amazon.WorkSpaces.Model.OperatingSystem RequiredTenancy : DEFAULT State : AVAILABLE
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DescribeWorkspaceImages

以下代码示例演示了如何使用 Get-WKSWorkspaceSnapshot

Tools for PowerShell V4

示例 1:此示例演示为指定 Workspace 创建的最新快照的时间戳

Get-WKSWorkspaceSnapshot -WorkspaceId ws-w361s100v

输出:

RebuildSnapshots RestoreSnapshots ---------------- ---------------- {Amazon.WorkSpaces.Model.Snapshot} {Amazon.WorkSpaces.Model.Snapshot}

以下代码示例演示了如何使用 Get-WKSWorkspacesConnectionStatus

Tools for PowerShell V4

示例 1:此示例获取指定 Workspace 的连接状态

Get-WKSWorkspacesConnectionStatus -WorkspaceId ws-w123s234r

以下代码示例演示了如何使用 New-WKSIpGroup

Tools for PowerShell V4

示例 1:此示例创建一个名为 FreshEmptyIpGroup 的空 Ip 组

New-WKSIpGroup -GroupName "FreshNewIPGroup"

输出:

wsipg-w45rty4ty
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 CreateIpGroup

以下代码示例演示了如何使用 New-WKSTag

Tools for PowerShell V4

示例 1:此示例向名为 ws-wsname 的工作空间添加一个新标签。该标签的键为“Name”,键值为 AWS_Workspace

$tag = New-Object Amazon.WorkSpaces.Model.Tag $tag.Key = "Name" $tag.Value = "AWS_Workspace" New-WKSTag -Region us-west-2 -WorkspaceId ws-wsname -Tag $tag

示例 2:此示例向名为 ws-wsname 的工作空间添加多个标签。一个标签的键为“Name”,键值为 AWS_Workspace;另一个标签的标签键为“Stage”,键值为“Test”。

$tag = New-Object Amazon.WorkSpaces.Model.Tag $tag.Key = "Name" $tag.Value = "AWS_Workspace" $tag2 = New-Object Amazon.WorkSpaces.Model.Tag $tag2.Key = "Stage" $tag2.Value = "Test" New-WKSTag -Region us-west-2 -WorkspaceId ws-wsname -Tag $tag,$tag2
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 CreateTags

以下代码示例演示了如何使用 New-WKSWorkspace

Tools for PowerShell V4

示例 1:为提供的捆绑包、目录和用户创建 WorkSpace。

New-WKSWorkspace -Workspace @{"BundleID" = "wsb-1a2b3c4d"; "DirectoryId" = "d-1a2b3c4d"; "UserName" = "USERNAME"}

示例 2:此示例创建多个 WorkSpace

New-WKSWorkspace -Workspace @{"BundleID" = "wsb-1a2b3c4d"; "DirectoryId" = "d-1a2b3c4d"; "UserName" = "USERNAME_1"},@{"BundleID" = "wsb-1a2b3c4d"; "DirectoryId" = "d-1a2b3c4d"; "UserName" = "USERNAME_2"}
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 CreateWorkspaces

以下代码示例演示了如何使用 Register-WKSIpGroup

Tools for PowerShell V4

示例 1:此示例将指定的 IP 组注册到指定的目录

Register-WKSIpGroup -GroupId wsipg-23ahsdres -DirectoryId d-123412e123
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 AssociateIpGroups

以下代码示例演示了如何使用 Register-WKSWorkspaceDirectory

Tools for PowerShell V4

示例 1:此示例注册 Workspaces 服务的指定目录

Register-WKSWorkspaceDirectory -DirectoryId d-123412a123 -EnableWorkDoc $false

以下代码示例演示了如何使用 Remove-WKSIpGroup

Tools for PowerShell V4

示例 1:此示例删除指定的 IP 组

Remove-WKSIpGroup -GroupId wsipg-32fhgtred

输出:

Confirm Are you sure you want to perform this action? Performing the operation "Remove-WKSIpGroup (DeleteIpGroup)" on target "wsipg-32fhgtred". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeleteIpGroup

以下代码示例演示了如何使用 Remove-WKSTag

Tools for PowerShell V4

示例 1:此示例移除与工作空间关联的标签

Remove-WKSTag -ResourceId ws-w10b3abcd -TagKey "Type"

输出:

Confirm Are you sure you want to perform this action? Performing the operation "Remove-WKSTag (DeleteTags)" on target "ws-w10b3abcd". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DeleteTags

以下代码示例演示了如何使用 Remove-WKSWorkspace

Tools for PowerShell V4

示例 1:终止多个 WorkSpace。使用 -Force 开关可阻止 cmdlet 提示进行确认。

Remove-WKSWorkspace -WorkspaceId "ws-1a2b3c4d5","ws-6a7b8c9d0" -Force

示例 2:检索所有 WorkSpace 的集合,然后将 ID 通过管道传输到 Remove-WKSWorkspace 的 -WorkSpaceId 参数,同时终止所有 WorkSpace。cmdlet 将在终止每个 WorkSpace 之前发出提示。要禁止确认提示,请添加 -Force 开关。

Get-WKSWorkspaces | Remove-WKSWorkspace

示例 3:此示例演示如何传递 TerminateRequest 对象,这些对象定义要终止的 WorkSpace。除非也指定了 -Force 开关参数,否则在继续操作之前,cmdlet 会提示您进行确认。

$arrRequest = @() $request1 = New-Object Amazon.WorkSpaces.Model.TerminateRequest $request1.WorkspaceId = 'ws-12345678' $arrRequest += $request1 $request2 = New-Object Amazon.WorkSpaces.Model.TerminateRequest $request2.WorkspaceId = 'ws-abcdefgh' $arrRequest += $request2 Remove-WKSWorkspace -Request $arrRequest
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 TerminateWorkspaces

以下代码示例演示了如何使用 Reset-WKSWorkspace

Tools for PowerShell V4

示例 1:重建指定的 WorkSpace。

Reset-WKSWorkspace -WorkspaceId "ws-1a2b3c4d"

示例 2:检索所有 WorkSpace 的集合,然后将 ID 通过管道传输到 Reset-WKSWorkspace 的 -WorkSpaceId 参数,从而重建 WorkSpace。

Get-WKSWorkspaces | Reset-WKSWorkspace
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 RebuildWorkspaces

以下代码示例演示了如何使用 Restart-WKSWorkspace

Tools for PowerShell V4

示例 1:重启指定的 WorkSpace。

Restart-WKSWorkspace -WorkspaceId "ws-1a2b3c4d"

示例 2:重启多个 WorkSpace。

Restart-WKSWorkspace -WorkspaceId "ws-1a2b3c4d","ws-5a6b7c8d"

示例 3:检索所有 WorkSpace 的集合,然后将 ID 通过管道传输到 Restart-WKSWorkspace 的 -WorkSpaceId 参数,从而重启 WorkSpace。

Get-WKSWorkspaces | Restart-WKSWorkspace
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 RebootWorkspaces

以下代码示例演示了如何使用 Stop-WKSWorkspace

Tools for PowerShell V4

示例 1:停止多个 WorkSpace。

Stop-WKSWorkspace -WorkspaceId "ws-1a2b3c4d5","ws-6a7b8c9d0"

示例 2:检索所有 WorkSpace 的集合,然后将 ID 通过管道传输到 Stop-WKSWorkspace 的 -WorkSpaceId 参数,从而停止 WorkSpace。

Get-WKSWorkspaces | Stop-WKSWorkspace

示例 3:此示例演示如何传递 StopRequest 对象,这些对象定义要停止的 WorkSpace。

$arrRequest = @() $request1 = New-Object Amazon.WorkSpaces.Model.StopRequest $request1.WorkspaceId = 'ws-12345678' $arrRequest += $request1 $request2 = New-Object Amazon.WorkSpaces.Model.StopRequest $request2.WorkspaceId = 'ws-abcdefgh' $arrRequest += $request2 Stop-WKSWorkspace -Request $arrRequest
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 StopWorkspaces

以下代码示例演示了如何使用 Unregister-WKSIpGroup

Tools for PowerShell V4

示例 1:此示例从指定的目录中取消注册指定的 IP 组

Unregister-WKSIpGroup -GroupId wsipg-12abcdphq -DirectoryId d-123454b123
  • 有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 DisassociateIpGroups