使用 Tools for PowerShell V5 的 WorkSpaces 範例 - AWS SDK 程式碼範例

AWS文件開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例。

使用 Tools for PowerShell V5 的 WorkSpaces 範例

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

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

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

主題

動作

以下程式碼範例顯示如何使用 Approve-WKSIpRule

Tools for PowerShell V5

範例 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 參考 (V5)》中的 AuthorizeIpRules

以下程式碼範例顯示如何使用 Copy-WKSWorkspaceImage

Tools for PowerShell V5

範例 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 參考 (V5)》中的 CopyWorkspaceImage

以下程式碼範例顯示如何使用 Edit-WKSClientProperty

Tools for PowerShell V5

範例 1:此範例會啟用 Workspaces 用戶端的重新連線

Edit-WKSClientProperty -Region us-west-2 -ClientProperties_ReconnectEnabled "ENABLED" -ResourceId d-123414a369
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 ModifyClientProperties

以下程式碼範例顯示如何使用 Edit-WKSSelfServicePermission

Tools for PowerShell V5

範例 1:此範例會啟用自助服務權限來變更指定目錄的運算類型,並增加磁碟區大小

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

以下程式碼範例顯示如何使用 Edit-WKSWorkspaceAccessProperty

Tools for PowerShell V5

範例 1:此範例可為指定的目錄啟用 Android 和 Chrome 作業系統上的 Workspace 存取

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

以下程式碼範例顯示如何使用 Edit-WKSWorkspaceCreationProperty

Tools for PowerShell V5

範例 1:此範例在建立 Workspace 時,將網際網路存取和維護模式設為預設值

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

以下程式碼範例顯示如何使用 Edit-WKSWorkspaceProperty

Tools for PowerShell V5

範例 1:此範例會將指定 Workspace 的 Workspace 執行模式屬性變更為自動停止

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

以下程式碼範例顯示如何使用 Edit-WKSWorkspaceState

Tools for PowerShell V5

範例 1:此範例將指定的 Workspace 狀態變更為可用

Edit-WKSWorkspaceState -WorkspaceId ws-w361s100v -Region us-west-2 -WorkspaceState AVAILABLE
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 ModifyWorkspaceState

以下程式碼範例顯示如何使用 Get-WKSClientProperty

Tools for PowerShell V5

範例 1:此範例會取得指定目錄之 Workspace 用戶端的用戶端屬性

Get-WKSClientProperty -ResourceId d-223562a123
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 DescribeClientProperties

以下程式碼範例顯示如何使用 Get-WKSIpGroup

Tools for PowerShell V5

範例 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 參考 (V5)》中的 DescribeIpGroups

以下程式碼範例顯示如何使用 Get-WKSTag

Tools for PowerShell V5

範例 1:此範例會擷取給定 Workspace 的標籤

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

輸出:

Key Value --- ----- auto-delete no purpose Workbench
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 DescribeTags

以下程式碼範例顯示如何使用 Get-WKSWorkspace

Tools for PowerShell V5

範例 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 參考 (V5)》中的 DescribeWorkspaces

以下程式碼範例顯示如何使用 Get-WKSWorkspaceBundle

Tools for PowerShell V5

範例 1:此範例會擷取目前區域中所有 Workspace 搭售組合的詳細資訊

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 參考 (V5)》中的 DescribeWorkspaceBundles

以下程式碼範例顯示如何使用 Get-WKSWorkspaceDirectory

Tools for PowerShell V5

範例 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 V5

範例 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 參考 (V5)》中的 DescribeWorkspaceImages

以下程式碼範例顯示如何使用 Get-WKSWorkspaceSnapshot

Tools for PowerShell V5

範例 1:此範例示範針對指定之 Workspace 建立的最新快照時間戳記

Get-WKSWorkspaceSnapshot -WorkspaceId ws-w361s100v

輸出:

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

以下程式碼範例顯示如何使用 Get-WKSWorkspacesConnectionStatus

Tools for PowerShell V5

範例 1:此範例會擷取指定之 Workspace 的連線狀態

Get-WKSWorkspacesConnectionStatus -WorkspaceId ws-w123s234r

以下程式碼範例顯示如何使用 New-WKSIpGroup

Tools for PowerShell V5

範例 1:此範例會建立名為 FreshEmptyIpGroup 的空 Ip 群組

New-WKSIpGroup -GroupName "FreshNewIPGroup"

輸出:

wsipg-w45rty4ty
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 CreateIpGroup

以下程式碼範例顯示如何使用 New-WKSTag

Tools for PowerShell V5

範例 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 參考 (V5)》中的 CreateTags

以下程式碼範例顯示如何使用 New-WKSWorkspace

Tools for PowerShell V5

範例 1:為提供的搭售組合、目錄和使用者建立 WorkSpace。

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

範例 2:此範例會建立多個 WorkSpaces

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 參考 (V5)》中的 CreateWorkspaces

以下程式碼範例顯示如何使用 Register-WKSIpGroup

Tools for PowerShell V5

範例 1:此範例會向指定的目錄註冊指定的 IP 群組

Register-WKSIpGroup -GroupId wsipg-23ahsdres -DirectoryId d-123412e123
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 AssociateIpGroups

以下程式碼範例顯示如何使用 Register-WKSWorkspaceDirectory

Tools for PowerShell V5

範例 1:此範例會為 Workspaces Service 註冊指定目錄

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

以下程式碼範例顯示如何使用 Remove-WKSIpGroup

Tools for PowerShell V5

範例 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 參考 (V5)》中的 DeleteIpGroup

以下程式碼範例顯示如何使用 Remove-WKSTag

Tools for PowerShell V5

範例 1:此範例會移除與 Workspace 相關聯的標籤

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 參考 (V5)》中的 DeleteTags

以下程式碼範例顯示如何使用 Remove-WKSWorkspace

Tools for PowerShell V5

範例 1:終止多個 WorkSpaces。使用 -Force 切換變數可阻止 Cmdlet 提示確認。

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

範例 2:擷取所有 WorkSpaces 的集合,並將 ID 傳輸至 Remove-WKSWorkspace 的 -WorkSpaceId 參數,終止所有 WorkSpaces。Cmdlet 會在每個 WorkSpace 終止之前提示。若要隱藏確認提示,請新增 -Force 切換變數。

Get-WKSWorkspaces | Remove-WKSWorkspace

範例 3:此範例示範如何傳遞定義要終止之 WorkSpaces 的 TerminateRequest 物件。除非也指定 -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 參考 (V5)》中的 TerminateWorkspaces

以下程式碼範例顯示如何使用 Reset-WKSWorkspace

Tools for PowerShell V5

範例 1:重建指定的 WorkSpace。

Reset-WKSWorkspace -WorkspaceId "ws-1a2b3c4d"

範例 2:擷取所有 WorkSpaces 的集合,並將 ID 傳輸至 Reset-WKSWorkspace 的 -WorkSpaceId 參數,導致 WorkSpaces 重建。

Get-WKSWorkspaces | Reset-WKSWorkspace
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 RebuildWorkspaces

以下程式碼範例顯示如何使用 Restart-WKSWorkspace

Tools for PowerShell V5

範例 1:重新啟動指定的 WorkSpace。

Restart-WKSWorkspace -WorkspaceId "ws-1a2b3c4d"

範例 2:重新啟動多個 WorkSpaces。

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

範例 3:擷取所有 WorkSpaces 的集合,並將 ID 傳輸至 Restart-WKSWorkspace 的 -WorkSpaceId 參數,導致 WorkSpaces 重新啟動。

Get-WKSWorkspaces | Restart-WKSWorkspace
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 RebootWorkspaces

以下程式碼範例顯示如何使用 Stop-WKSWorkspace

Tools for PowerShell V5

範例 1:停止多個 WorkSpaces。

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

範例 2:擷取所有 WorkSpaces 的集合,並將 ID 傳輸至 Stop-WKSWorkspace 的 -WorkSpaceId 參數,導致 WorkSpaces 停止。

Get-WKSWorkspaces | Stop-WKSWorkspace

範例 3:此範例示範如何傳遞 StopRequest 物件,定義要停止的 WorkSpaces。

$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 參考 (V5)》中的 StopWorkspaces

以下程式碼範例顯示如何使用 Unregister-WKSIpGroup

Tools for PowerShell V5

範例 1:此範例會從指定的目錄取消註冊指定的 IP 群組

Unregister-WKSIpGroup -GroupId wsipg-12abcdphq -DirectoryId d-123454b123
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 DisassociateIpGroups