Get-RdsDiagnosticActivities

Gets the details of a user action in the system.

Syntax

Get-RdsDiagnosticActivities
   [-StartTime <DateTime>]
   [-EndTime <DateTime>]
   [-ActivityType <ActivityType>]
   [-UserName <String>]
   [-ActivityId <Guid>]
   [-Outcome <Outcome>]
   [-TenantName <String>]
   [-Deployment]
   [-Detailed]
   [<CommonParameters>]

Description

The Get-RdsDiagnosticActivities cmdlet gets the details of a user action in the system, both for end-user or administrative purposes. The list of activities can be filtered by the following parameters:

  • ActivityId
  • ActivityType
  • Outcome
  • StartTime (and optionally, EndTime)
  • UserName

You can combine multiple filters into a single query. If you do not specify a start time or a time range, you will receive a list of activities only for the last hour. You can also query with the -Detailed parameter to receive additional information about each activity. The additional information for each activity varies depending on the activity type.

Examples

Example 1: Retrieve basic diagnostic activities in a tenant

PS C:\> Get-RdsDiagnosticActivities -TenantName "contoso"

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:20:00 PM
EndTime           :
UserName          : user1@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782CE977;mrs-eus2r0c001-rdbroker-prod-staging::RD2818785C1CF1;sh1.contoso.com;
Outcome           :
Status            : Ongoing
Details           :
LastHeartbeatTime : 1/1/2018 4:01:00 PM
Checkpoints       :
Errors            :

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Feed
StartTime         : 1/1/2018 3:52:20 PM
EndTime           : 1/1/2018 3:52:26 PM
UserName          : user2@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdbroker-prod-staging::RD28187853BC78;
Outcome           : Success
Status            : Completed
Details           :
LastHeartbeatTime : 1/1/2018 3:52:26 PM
Checkpoints       :
Errors            :

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Management
StartTime         : 1/1/2018 3:44:54 PM
EndTime           : 1/1/2018 3:44:54 PM
UserName          : admin@contoso.com
RoleInstances     : mrs-eus2r0c001-rdbroker-prod-staging::RD28187853BC78;
Outcome           : Success
Status            : Completed
Details           : 
LastHeartbeatTime : 1/1/2018 3:44:54 PM
Checkpoints       : 
Errors            : 

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:14:15 AM
EndTime           : 1/1/2018 3:18:00 AM
UserName          : user2@contoso.com
RoleInstances     : user2client.contoso.com;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782C3626;mrs-eus2r0c001-rdbroker-prod::RD28187853BC78;sh1.contoso.com;
Outcome           : Success
Status            : Completed
Details           : 
LastHeartbeatTime : 1/1/2018 3:18:00 AM
Checkpoints       : 
Errors            :

This command gets activities for the specified tenant. By running the Get-RdsDiagnosticActivities cmdlet without specifying a time range, you will only receive activities for the past hour.

Example 2: Retrieve detailed diagnostic activities in a tenant

PS C:\> Get-RdsDiagnosticActivities -TenantName "contoso" -Detailed

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:20:00 PM
EndTime           :
UserName          : user1@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782CE977;mrs-eus2r0c001-rdbroker-prod-staging::RD2818785C1CF1;sh1.contoso.com;
Outcome           :
Status            : Ongoing
Details           : {[ClientOS, ], [ClientVersion, ], [ClientType, ], [PredecessorConnectionId, ]...}
LastHeartbeatTime : 1/1/2018 4:01:00 PM
Checkpoints       : {RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress...}
Errors            : {}

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Feed
StartTime         : 1/1/2018 3:52:20 PM
EndTime           : 1/1/2018 3:52:26 PM
UserName          : user2@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdbroker-prod-staging::RD28187853BC78;
Outcome           : Success
Status            : Completed
Details           : {[ClientOS, Win32 Chrome 70.0.3538.110], [ClientVersion, 1.0.4-wvd], [ClientType, HTML], [ClientIPAddress, ]...}
LastHeartbeatTime : 1/1/2018 3:52:26 PM
Checkpoints       : {TenantListComplete, TenantResourceComplete}
Errors            : {}

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Management
StartTime         : 1/1/2018 3:44:54 PM
EndTime           : 1/1/2018 3:44:54 PM
UserName          : admin@contoso.com
RoleInstances     : mrs-eus2r0c001-rdbroker-prod-staging::RD28187853BC78;
Outcome           : Success
Status            : Completed
Details           : {[Object, /RdsManagement/V1/TenantGroups/Default%20Tenant%20Group/Tenants/Contoso], [Method, Get], [Route,
                    Tenant::GetTenantAsync], [ObjectsFetched, 1]...}
LastHeartbeatTime : 1/1/2018 3:44:54 PM
Checkpoints       : {}
Errors            : {}

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:14:15 AM
EndTime           : 1/1/2018 3:18:00 AM
UserName          : user2@contoso.com
RoleInstances     : user2client.contoso.com;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782C3626;mrs-eus2r0c001-rdbroker-prod::RD28187853BC78;sh1.contoso.com;
Outcome           : Success
Status            : Completed
Details           : {[ClientOS, WINDOWS 10.0.17763], [ClientVersion, 10.0.17763.1], [ClientType, MSTSC], [PredecessorConnectionId, ]...}
LastHeartbeatTime : 1/1/2018 3:18:00 AM
Checkpoints       : {LoadBalancedNewConnection, RdpStackAuthenticaticatedUser, RdpStackAuthorization, OnConnected...}
Errors            : {}

This command gets detailed activities for the specified tenant.

Example 3: Retrieve detailed diagnostics of a specific activity

PS C:\> Get-RdsDiagnosticActivities -TenantName "contoso" -ActivityGuid "xxxx-xxxx-xxxx-xxxx-xxxx" -Detailed

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:20:00 PM
EndTime           :
UserName          : user1@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782CE977;mrs-eus2r0c001-rdbroker-prod-staging::RD2818785C1CF1;sh1.contoso.com;
Outcome           :
Status            : Ongoing
Details           : {[ClientOS, ], [ClientVersion, ], [ClientType, ], [PredecessorConnectionId, ]...}
LastHeartbeatTime : 1/1/2018 4:01:00 PM
Checkpoints       : {RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress...}
Errors            : {}

This command gets the specific detailed activity.

Example 4: Retrieve detailed diagnostics of a specific user

PS C:\> Get-RdsDiagnosticActivities -TenantName "contoso" -UserName "user2@contoso.com" -Detailed

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Feed
StartTime         : 1/1/2018 3:52:20 PM
EndTime           : 1/1/2018 3:52:26 PM
UserName          : user2@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdbroker-prod-staging::RD28187853BC78;
Outcome           : Success
Status            : Completed
Details           : {[ClientOS, Win32 Chrome 70.0.3538.110], [ClientVersion, 1.0.4-wvd], [ClientType, HTML], [ClientIPAddress, ]...}
LastHeartbeatTime : 1/1/2018 3:52:26 PM
Checkpoints       : {TenantListComplete, TenantResourceComplete}
Errors            : {}

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:14:15 AM
EndTime           : 1/1/2018 3:18:00 AM
UserName          : user2@contoso.com
RoleInstances     : user2client.contoso.com;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782C3626;mrs-eus2r0c001-rdbroker-prod::RD28187853BC78;sh1.contoso.com;
Outcome           : Success
Status            : Completed
Details           : {[ClientOS, WINDOWS 10.0.17763], [ClientVersion, 10.0.17763.1], [ClientType, MSTSC], [PredecessorConnectionId, ]...}
LastHeartbeatTime : 1/1/2018 3:18:00 AM
Checkpoints       : {LoadBalancedNewConnection, RdpStackAuthenticaticatedUser, RdpStackAuthorization, OnConnected...}
Errors            : {}

This command gets detailed activities associated with the specified user name.

Example 5: Retrieve detailed diagnostics by a start time

PS C:\> Get-RdsDiagnosticActivities -TenantName "contoso" -StartTime "1/1/2018 3:45:00 PM" -Detailed

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:20:00 PM
EndTime           :
UserName          : user1@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782CE977;mrs-eus2r0c001-rdbroker-prod-staging::RD2818785C1CF1;sh1.contoso.com;
Outcome           :
Status            : Ongoing
Details           : {[ClientOS, Win32 Edge 18.17763], [ClientVersion, 1.0.4-wvd], [ClientType, HTML], [PredecessorConnectionId, ]...}
LastHeartbeatTime : 1/1/2018 4:01:00 PM
Checkpoints       : {RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress...}
Errors            : {}

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Feed
StartTime         : 1/1/2018 3:52:20 PM
EndTime           : 1/1/2018 3:52:26 PM
UserName          : user2@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdbroker-prod-staging::RD28187853BC78;
Outcome           : Success
Status            : Completed
Details           : {[ClientOS, Win32 Chrome 70.0.3538.110], [ClientVersion, 1.0.4-wvd], [ClientType, HTML], [ClientIPAddress, ]...}
LastHeartbeatTime : 1/1/2018 3:52:26 PM
Checkpoints       : {TenantListComplete, TenantResourceComplete}
Errors            : {}

This command gets detailed activities that have completed after the specified time or that have been ongoing as of the specified time.

Example 6: Retrieve detailed diagnostics by a start time and end time

PS C:\> Get-RdsDiagnosticActivities -TenantName "contoso" -StartTime "1/1/2018 3:45:00 PM" -EndTime "1/1/2018 3:50:00 PM" -Detailed

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:20:00 PM
EndTime           :
UserName          : user1@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782CE977;mrs-eus2r0c001-rdbroker-prod-staging::RD2818785C1CF1;sh1.contoso.com;
Outcome           :
Status            : Ongoing
Details           : {[ClientOS, Win32 Edge 18.17763], [ClientVersion, 1.0.4-wvd], [ClientType, HTML], [PredecessorConnectionId, ]...}
LastHeartbeatTime : 1/1/2018 4:01:00 PM
Checkpoints       : {RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress...}
Errors            : {}

This command gets detailed activities that have completed during the specified time or that has been ongoing since the specified time range.

Example 7: Retrieve detailed diagnostics by activity type

PS C:\> Get-RdsDiagnosticActivities -TenantName "contoso" -ActivityType Connection -Detailed

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:20:00 PM
EndTime           :
UserName          : user1@contoso.com
RoleInstances     : rdwebclient;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782CE977;mrs-eus2r0c001-rdbroker-prod-staging::RD2818785C1CF1;sh1.contoso.com;
Outcome           :
Status            : Ongoing
Details           : {[ClientOS, Win32 Edge 18.17763], [ClientVersion, 1.0.4-wvd], [ClientType, HTML], [PredecessorConnectionId, ]...}
LastHeartbeatTime : 1/1/2018 4:01:00 PM
Checkpoints       : {RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress, RdpConnectionProgress...}
Errors            : {}

ActivityId        : xxxx-xxxx-xxxx-xxxx-xxxx
ActivityType      : Connection
StartTime         : 1/1/2018 3:14:15 AM
EndTime           : 1/1/2018 3:18:00 AM
UserName          : user2@contoso.com
RoleInstances     : user2client.contoso.com;mrs-eus2r0c001-rdgateway-prod-staging::RD2818782C3626;mrs-eus2r0c001-rdbroker-prod::RD28187853BC78;sh1.contoso.com;
Outcome           : Success
Status            : Completed
Details           : {[ClientOS, WINDOWS 10.0.17763], [ClientVersion, 10.0.17763.1], [ClientType, MSTSC], [PredecessorConnectionId, ]...}
LastHeartbeatTime : 1/1/2018 3:18:00 AM
Checkpoints       : {LoadBalancedNewConnection, RdpStackAuthenticaticatedUser, RdpStackAuthorization, OnConnected...}
Errors            : {}

This command gets detailed activities that match the specified activity type.

Parameters

-ActivityId

The ID of the activity.

Type:Guid
Aliases:Id
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ActivityType

The type of the activity. Activities are classified into the following categories:

  • Connection
  • Feed
  • Management
Type:ActivityType
Aliases:Type
Accepted values:Connection, Management, Feed, RegistrationToken
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Deployment

A scope specific to Windows Virtual Desktop.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Detailed

A switch indicating to return more detailed information for each activity. The additional information returned will vary depending on the type of each activity.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EndTime

The date time to use as the upper bound for querying activities.

Type:DateTime
Aliases:End
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Outcome

The outcome of the activity. Activities can have one of two outcomes:

  • Success
  • Failure
Type:Outcome
Accepted values:Success, Failure
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-StartTime

The date time to use as the lower bound for querying activities.

Type:DateTime
Aliases:Start
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-TenantName

The name of the tenant associated with the activity.

Type:String
Aliases:Tenant
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UserName

The user principal name (UPN) of the user associated with the activity.

Type:String
Aliases:User
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Inputs

System.Nullable`1[[System.DateTime, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

System.Nullable`1[[Microsoft.RDInfra.Diagnostics.Common.ActivityType, Microsoft.RDInfra.Diagnostics.Common, Version=1.0.0.1, Culture=neutral, PublicKeyToken=99498ce06f56ba9d]]

System.String

System.Nullable`1[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

System.Nullable`1[[Microsoft.RDInfra.Diagnostics.Common.Outcome, Microsoft.RDInfra.Diagnostics.Common, Version=1.0.0.1, Culture=neutral, PublicKeyToken=99498ce06f56ba9d]]

System.Management.Automation.SwitchParameter

Outputs

System.Object