Share via


Find-MgUserMeetingTime

Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.Based on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time.

Note

To view the beta release of this cmdlet, view Find-MgBetaUserMeetingTime

Syntax

FindExpanded (Default)

Find-MgUserMeetingTime
    -UserId <String>
    [-ResponseHeadersVariable <String>]
    [-AdditionalProperties <Hashtable>]
    [-Attendees <IMicrosoftGraphAttendeeBase[]>]
    [-IsOrganizerOptional]
    [-LocationConstraint <IMicrosoftGraphLocationConstraint>]
    [-MaxCandidates <Int32>]
    [-MeetingDuration <TimeSpan>]
    [-MinimumAttendeePercentage <Double>]
    [-ReturnSuggestionReasons]
    [-TimeConstraint <IMicrosoftGraphTimeConstraint>]
    [-Headers <IDictionary>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Find

Find-MgUserMeetingTime
    -UserId <String>
    -BodyParameter <IComponents1H459T5RequestbodiesFindmeetingtimesrequestbodyContentApplicationJsonSchema>
    [-ResponseHeadersVariable <String>]
    [-Headers <IDictionary>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

FindViaIdentityExpanded

Find-MgUserMeetingTime
    -InputObject <IUsersActionsIdentity>
    [-ResponseHeadersVariable <String>]
    [-AdditionalProperties <Hashtable>]
    [-Attendees <IMicrosoftGraphAttendeeBase[]>]
    [-IsOrganizerOptional]
    [-LocationConstraint <IMicrosoftGraphLocationConstraint>]
    [-MaxCandidates <Int32>]
    [-MeetingDuration <TimeSpan>]
    [-MinimumAttendeePercentage <Double>]
    [-ReturnSuggestionReasons]
    [-TimeConstraint <IMicrosoftGraphTimeConstraint>]
    [-Headers <IDictionary>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

FindViaIdentity

Find-MgUserMeetingTime
    -InputObject <IUsersActionsIdentity>
    -BodyParameter <IComponents1H459T5RequestbodiesFindmeetingtimesrequestbodyContentApplicationJsonSchema>
    [-ResponseHeadersVariable <String>]
    [-Headers <IDictionary>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.Based on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time.

Permissions

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Calendars.Read.Shared, Calendars.ReadWrite.Shared,
Delegated (personal Microsoft account) Not supported
Application Not supported

Examples

Example 1: Using the Find-MgUserMeetingTime Cmdlet

Import-Module Microsoft.Graph.Users.Actions
$params = @{
	Attendees = @(
		@{
			Type = "required"
			EmailAddress = @{
				Name = "Alex Wilbur"
				Address = "alexw@contoso.onmicrosoft.com"
			}
		}
	)
	LocationConstraint = @{
		IsRequired = $false
		SuggestLocation = $false
		Locations = @(
			@{
				ResolveAvailability = $false
				DisplayName = "Conf room Hood"
			}
		)
	}
	TimeConstraint = @{
		ActivityDomain = "work"
		TimeSlots = @(
			@{
				Start = @{
					DateTime = "2019-04-16T09:00:00"
					TimeZone = "Pacific Standard Time"
				}
				End = @{
					DateTime = "2019-04-18T17:00:00"
					TimeZone = "Pacific Standard Time"
				}
			}
		)
	}
	IsOrganizerOptional = "false"
	MeetingDuration = "PT1H"
	ReturnSuggestionReasons = "true"
	MinimumAttendeePercentage = "100"
}
# A UPN can also be used as -UserId.
Find-MgUserMeetingTime -UserId $userId -BodyParameter $params

This example shows how to use the Find-MgUserMeetingTime Cmdlet. To learn about permissions for this resource, see the permissions reference.

Parameters

-AdditionalProperties

Additional Parameters

Parameter properties

Type:Hashtable
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Attendees

To construct, see NOTES section for ATTENDEES properties and create a hash table.

Parameter properties

Type:

IMicrosoftGraphAttendeeBase[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-BodyParameter

To construct, see NOTES section for BODYPARAMETER properties and create a hash table.

Parameter properties

Type:IComponents1H459T5RequestbodiesFindmeetingtimesrequestbodyContentApplicationJsonSchema
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

Find
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentity
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False
Aliases:cf

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Headers

Optional headers that will be added to the request.

Parameter properties

Type:IDictionary
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-InputObject

Identity Parameter To construct, see NOTES section for INPUTOBJECT properties and create a hash table.

Parameter properties

Type:IUsersActionsIdentity
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

FindViaIdentityExpanded
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentity
Position:Named
Mandatory:True
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-IsOrganizerOptional

Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.Based on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time.

Permissions

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Calendars.Read.Shared, Calendars.ReadWrite.Shared,
Delegated (personal Microsoft account) Not supported
Application Not supported

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-LocationConstraint

locationConstraint To construct, see NOTES section for LOCATIONCONSTRAINT properties and create a hash table.

Parameter properties

Type:IMicrosoftGraphLocationConstraint
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-MaxCandidates

Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.Based on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time.

Permissions

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Calendars.Read.Shared, Calendars.ReadWrite.Shared,
Delegated (personal Microsoft account) Not supported
Application Not supported

Parameter properties

Type:Int32
Default value:0
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-MeetingDuration

Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.Based on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time.

Permissions

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Calendars.Read.Shared, Calendars.ReadWrite.Shared,
Delegated (personal Microsoft account) Not supported
Application Not supported

Parameter properties

Type:TimeSpan
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-MinimumAttendeePercentage

Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.Based on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time.

Permissions

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Calendars.Read.Shared, Calendars.ReadWrite.Shared,
Delegated (personal Microsoft account) Not supported
Application Not supported

Parameter properties

Type:Double
Default value:0
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ResponseHeadersVariable

Optional Response Headers Variable.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False
Aliases:RHV

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-ReturnSuggestionReasons

Suggest meeting times and locations based on organizer and attendee availability, and time or location constraints specified as parameters. If findMeetingTimes cannot return any meeting suggestions, the response would indicate a reason in the emptySuggestionsReason property.Based on this value, you can better adjust the parameters and call findMeetingTimes again. The algorithm used to suggest meeting times and locations undergoes fine-tuning from time to time. In scenarios like test environments where the input parameters and calendar data remain static, expect that the suggested results may differ over time.

Permissions

Permission type Permissions (from least to most privileged)
Delegated (work or school account) Calendars.Read.Shared, Calendars.ReadWrite.Shared,
Delegated (personal Microsoft account) Not supported
Application Not supported

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-TimeConstraint

timeConstraint To construct, see NOTES section for TIMECONSTRAINT properties and create a hash table.

Parameter properties

Type:IMicrosoftGraphTimeConstraint
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
FindViaIdentityExpanded
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-UserId

The unique identifier of user

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

FindExpanded
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False
Find
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False
Aliases:wi

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

Microsoft.Graph.PowerShell.Models.IComponents1H459T5RequestbodiesFindmeetingtimesrequestbodyContentApplicationJsonSchema

Microsoft.Graph.PowerShell.Models.IUsersActionsIdentity

System.Collections.IDictionary

Outputs

Microsoft.Graph.PowerShell.Models.IMicrosoftGraphMeetingTimeSuggestionsResult

Notes

COMPLEX PARAMETER PROPERTIES

To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.

ATTENDEES <IMicrosoftGraphAttendeeBase- []>: .

  • [EmailAddress <IMicrosoftGraphEmailAddress>]: emailAddress
    • [(Any) <Object>]: This indicates any property can be added to this object.
    • [Address <String>]: The email address of the person or entity.
    • [Name <String>]: The display name of the person or entity.
  • [Type <String>]: attendeeType

BODYPARAMETER <IComponents1H459T5RequestbodiesFindmeetingtimesrequestbodyContentApplicationJsonSchema>: .

  • [(Any) <Object>]: This indicates any property can be added to this object.
  • [Attendees <IMicrosoftGraphAttendeeBase- []>]:
    • [EmailAddress <IMicrosoftGraphEmailAddress>]: emailAddress
      • [(Any) <Object>]: This indicates any property can be added to this object.
      • [Address <String>]: The email address of the person or entity.
      • [Name <String>]: The display name of the person or entity.
    • [Type <String>]: attendeeType
  • [IsOrganizerOptional <Boolean?>]:
  • [LocationConstraint <IMicrosoftGraphLocationConstraint>]: locationConstraint
    • [(Any) <Object>]: This indicates any property can be added to this object.
    • [IsRequired <Boolean?>]: The client requests the service to include in the response a meeting location for the meeting. If this is true and all the resources are busy, findMeetingTimes won't return any meeting time suggestions. If this is false and all the resources are busy, findMeetingTimes would still look for meeting times without locations.
    • [Locations <IMicrosoftGraphLocationConstraintItem- []>]: Constraint information for one or more locations that the client requests for the meeting.
      • [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
        • [(Any) <Object>]: This indicates any property can be added to this object.
        • [City <String>]: The city.
        • [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
        • [PostalCode <String>]: The postal code.
        • [State <String>]: The state.
        • [Street <String>]: The street.
      • [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
        • [(Any) <Object>]: This indicates any property can be added to this object.
        • [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
        • [Altitude <Double?>]: The altitude of the location.
        • [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
        • [Latitude <Double?>]: The latitude of the location.
        • [Longitude <Double?>]: The longitude of the location.
      • [DisplayName <String>]: The name associated with the location.
      • [LocationEmailAddress <String>]: Optional email address of the location.
      • [LocationType <String>]: locationType
      • [LocationUri <String>]: Optional URI representing the location.
      • [UniqueId <String>]: For internal use only.
      • [UniqueIdType <String>]: locationUniqueIdType
      • [ResolveAvailability <Boolean?>]: If set to true and the specified resource is busy, findMeetingTimes looks for another resource that is free. If set to false and the specified resource is busy, findMeetingTimes returns the resource best ranked in the user's cache without checking if it's free. Default is true.
    • [SuggestLocation <Boolean?>]: The client requests the service to suggest one or more meeting locations.
  • [MaxCandidates <Int32?>]:
  • [MeetingDuration <TimeSpan?>]:
  • [MinimumAttendeePercentage <Double?>]:
  • [ReturnSuggestionReasons <Boolean?>]:
  • [TimeConstraint <IMicrosoftGraphTimeConstraint>]: timeConstraint
    • [(Any) <Object>]: This indicates any property can be added to this object.
    • [ActivityDomain <String>]: activityDomain
    • [TimeSlots <IMicrosoftGraphTimeSlot- []>]:
      • [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
        • [(Any) <Object>]: This indicates any property can be added to this object.
        • [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000).
        • [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values.
      • [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone

INPUTOBJECT <IUsersActionsIdentity>: Identity Parameter

  • [UserId <String>]: The unique identifier of user

LOCATIONCONSTRAINT <IMicrosoftGraphLocationConstraint>: locationConstraint

  • [(Any) <Object>]: This indicates any property can be added to this object.
  • [IsRequired <Boolean?>]: The client requests the service to include in the response a meeting location for the meeting. If this is true and all the resources are busy, findMeetingTimes won't return any meeting time suggestions. If this is false and all the resources are busy, findMeetingTimes would still look for meeting times without locations.
  • [Locations <IMicrosoftGraphLocationConstraintItem- []>]: Constraint information for one or more locations that the client requests for the meeting.
    • [Address <IMicrosoftGraphPhysicalAddress>]: physicalAddress
      • [(Any) <Object>]: This indicates any property can be added to this object.
      • [City <String>]: The city.
      • [CountryOrRegion <String>]: The country or region. It's a free-format string value, for example, 'United States'.
      • [PostalCode <String>]: The postal code.
      • [State <String>]: The state.
      • [Street <String>]: The street.
    • [Coordinates <IMicrosoftGraphOutlookGeoCoordinates>]: outlookGeoCoordinates
      • [(Any) <Object>]: This indicates any property can be added to this object.
      • [Accuracy <Double?>]: The accuracy of the latitude and longitude. As an example, the accuracy can be measured in meters, such as the latitude and longitude are accurate to within 50 meters.
      • [Altitude <Double?>]: The altitude of the location.
      • [AltitudeAccuracy <Double?>]: The accuracy of the altitude.
      • [Latitude <Double?>]: The latitude of the location.
      • [Longitude <Double?>]: The longitude of the location.
    • [DisplayName <String>]: The name associated with the location.
    • [LocationEmailAddress <String>]: Optional email address of the location.
    • [LocationType <String>]: locationType
    • [LocationUri <String>]: Optional URI representing the location.
    • [UniqueId <String>]: For internal use only.
    • [UniqueIdType <String>]: locationUniqueIdType
    • [ResolveAvailability <Boolean?>]: If set to true and the specified resource is busy, findMeetingTimes looks for another resource that is free. If set to false and the specified resource is busy, findMeetingTimes returns the resource best ranked in the user's cache without checking if it's free. Default is true.
  • [SuggestLocation <Boolean?>]: The client requests the service to suggest one or more meeting locations.

TIMECONSTRAINT <IMicrosoftGraphTimeConstraint>: timeConstraint

  • [(Any) <Object>]: This indicates any property can be added to this object.
  • [ActivityDomain <String>]: activityDomain
  • [TimeSlots <IMicrosoftGraphTimeSlot- []>]:
    • [End <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone
      • [(Any) <Object>]: This indicates any property can be added to this object.
      • [DateTime <String>]: A single point of time in a combined date and time representation ({date}T{time}; for example, 2017-08-29T04:00:00.0000000).
      • [TimeZone <String>]: Represents a time zone, for example, 'Pacific Standard Time'. See below for more possible values.
    • [Start <IMicrosoftGraphDateTimeZone>]: dateTimeTimeZone