如何从给定的AWS Powershell cmdlet /别名检索所有数据?

时间:2019-05-31 15:26:25

标签: amazon-web-services powershell aws-powershell amazon-workspaces

运行像 Get-WKSWorkspaces 这样的cmdlet时,它将返回一组有关您的工作区的属性(例如WorkspaceID,用户名,SubnetID,BundleID等),但不会返回您在工作区中看到的所有内容。 AWS GUI。我专门尝试拉诸如“运行模式”,“计算类型”和“创建时间”之类的东西,但似乎找不到将其拉出的位置。

在我的研究中,我到达了要使用$ AWSHistory尝试更深入地挖掘以前的cmdlet返回的数据的地步,但确实遇到了困难,似乎无法解决。

我确实有部分命令可以提供我所需的大部分输出:

$region = Get-DefaultAWSRegion
$lastuserconnect = Get-WKSWorkspacesConnectionStatus | Select LastKnownUserConnectionTimestamp

Get-WKSWorkspace -ProfileName ITSLayer1-053082227562-Profile | Select WorkspaceID, UserName, BundleID, DirectoryID, 
@{Name="Region"; Expression={$region.Region}}, 
@{Name="LastKnownUserConnect"; Expression= 
{$lastuserconnect.LastKnownUserConnectionTimestamp}}

2 个答案:

答案 0 :(得分:0)

通过查看文档,您会在属性WorkspaceProperties中找到所需的内容,该属性包含具有以下属性的Amazon.WorkSpaces.Model.WorkspaceProperties对象:

  

ComputeTypeName Amazon.WorkSpaces.Compute
   RootVolumeSizeGib System.Int32
   RunningMode Amazon.WorkSpaces.RunningMode
   RunningModeAutoStopTimeoutInMinutes System.Int32
   UserVolumeSizeGib System.Int32

虽然不确定CreationTime ...

答案 1 :(得分:0)

以下是获取您要查找的那些属性的示例:

Get-WKSWorkspace | foreach {
    $connectionStatus = Get-WKSWorkspacesConnectionStatus -WorkspaceId $_.WorkspaceId; 
    echo "";
    echo "==> About $($_.WorkspaceId)";
    echo "Last State Check: $($connectionStatus.ConnectionStateCheckTimestamp)"; 
    echo "User Last Active: $($connectionStatus.LastKnownUserConnectionTimestamp)";
    echo "Directory: $($_.DirectoryId)";
    echo "Compute: $($_.WorkspaceProperties.ComputeTypeName)"; 
    echo "Running mode $($_.WorkspaceProperties.RunningMode)";
    echo "State $($_.State)"
}

我在控制台的工作区上也没有看到“创建时间”。