При выполнении командлета, подобного Get-WKSWorkspaces , он возвращает набор свойств для ваших рабочих пространств (например, WorkspaceID, Имя пользователя, SubnetID, BundleID и т. Д.), Но не все, что вы видите в AWS GUI. Я специально пытаюсь вытащить такие вещи, как «Режим работы», «Тип вычислений» и «Время создания», но, похоже, не могу найти, где его можно найти.
В своем исследовании я дошел до того, что я использовал $ AWSHistory, чтобы попытаться глубже вникнуть в данные, возвращенные моими предыдущими командлетами, но определенно натолкнулся на стену и, похоже, не могу обойти ее.
У меня есть частичная команда, которая дает мне большую часть нужного мне результата:
$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}}
Обновление для потомков: На самом деле есть что-то приличное, чтобы выйти сюда. Он медленный, но довольно хорошо рендерится в табличном формате и включает в себя немного в начале, чтобы выбрать регион AWS.
Предложения по улучшению включают в себя:
- Автоматическое переключение выбора региона, чтобы получить все рабочие пространства из
Основные регионы, которые мы используем
- Очистка линий, чтобы было легче
прочитать
- Получение от региона автоматического добавления имени файла, чтобы оно
не перезаписывает ваш файл каждый раз (он там, но не работает в
момент ... все еще выскакивает файл с 'workspace_properties.csv'
как имя)
Оптимизация скрипта, потому что он довольно медленный
$ lastuserconnect = Get-WKSWorkspacesConnectionStatus -ProfileName $ profile
$ defaultregion = Get-DefaultAWSRegion
$ showallregions = Get-AWSRegion
$ exportpath = "" + $ env: USERPROFILE + "\ workspace_properties" +
$ defaultregion.Region + ".csv"
$ showallregions | Format-Table
$ setregion = Read-Host -Prompt 'AWS Region'
Clear-DefaultAWSRegion
Set-DefaultAWSRegion $ setregion
Get-WKSWorkspace -ProfileName $ профиль | Выберите WorkspaceID, UserName, BundleID, DirectoryID, @ {Name = "ComputeType"; Expression = {$ .WorkspaceProperties.ComputeTypeName}}, @ {Name = "RunningMode"; Expression = {$ .WorkspaceProperties.RunningMode}}, @ {Name = "Region"; Выражение = {$ defaultregion.Region}}, @ {Name = "LastKnownUserConnect"; Выражение = {$ _ | foreach {$ lastuserconnect = Get-WKSWorkspacesConnectionStatus -ProfileName $ profile -WorkspaceId $ _. WorkspaceId; echo $ lastuserconnect.LastKnownUserConnectionTimestamp}}} | Export-Csv $ exportpath