Microsoft.Graph.PlusPlus.types.ps1xml

<Types>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphUser</Name><Members>
       <PropertySet><Name>Organization</Name><ReferencedProperties>
            <Name>UserPrincipalName</Name>
            <Name>DisplayName</Name>
            <Name>JobTitle</Name>
            <Name>Department</Name>
            <Name>ManagerName</Name>
            <Name>Usagelocation</Name>
            <Name>Licensed</Name>
        </ReferencedProperties></PropertySet>
        <ScriptProperty><Name>Score</Name><GetScriptBlock>
            $This.scoredEmailAddresses[0].relevanceScore
        </GetScriptBlock></ScriptProperty>
        <AliasProperty><Name>emailaddresses</Name>
            <ReferencedMemberName>scoredEmailAddresses</ReferencedMemberName>
        </AliasProperty>
        <ScriptProperty><Name>ManagerName</Name><GetScriptBlock>
            $This.Manager.displayName
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>ManagerMail</Name><GetScriptBlock>
            $This.Manager.Mail
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Licensed</Name><GetScriptBlock>
            if ($This.AssignedLicenses) {$true} else {$null}
        </GetScriptBlock></ScriptProperty>
        <ScriptMethod><Name>ToString</Name><Script>
            $this.UserPrincipalName
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphEvent</Name><Members>
        <ScriptProperty><Name>When</Name><GetScriptBlock>
            $s = [convert]::ToDateTime($this.Start.datetime)
            $e = [convert]::ToDateTime($this.end.datetime)
            if ($s.AddDays(1) -eq $e -and
                $s.hour -eq 0 -and $s.minute -eq 0 ) {
                $s.ToShortDateString() + ' All day'
            }
            else {$s.ToString("g") + ' to ' + $e.ToString("g") + $this.End.timezone}
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>StartDateTime</Name><GetScriptBlock>
            [convert]::ToDateTime($this.start.dateTime)
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>EndDateTime</Name><GetScriptBlock>
            [convert]::ToDateTime($this.end.dateTime)
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Where</Name>
            <GetScriptBlock>$this.location.displayname
        </GetScriptBlock></ScriptProperty>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphTeam</Name><Members>
        <ScriptMethod><Name>ToString</Name><Script>
            $this.DisplayName
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphGroup</Name><Members>
        <ScriptMethod><Name>ToString</Name><Script>
            $this.DisplayName
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphChannel</Name><Members>
        <ScriptMethod><Name>ToString</Name><Script>
            $this.DisplayName
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphOnenotePage</Name><Members>
        <ScriptMethod><Name>ToString</Name><Script>
            $this.Title
        </Script></ScriptMethod>
        <ScriptMethod><Name>Open</Name><Script>
            Start-Process $this.Links.OneNoteWebUrl.Href
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphOnenoteSection</Name><Members>
        <ScriptMethod><Name>ToString</Name><Script>
            $this.DisplayName
        </Script></ScriptMethod>
        <ScriptMethod><Name>Open</Name><Script>
            Start-Process $this.Links.OneNoteWebUrl.Href
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphNotebook</Name><Members>
        <ScriptMethod><Name>ToString</Name><Script>
            $this.DisplayName
        </Script></ScriptMethod>
        <ScriptMethod><Name>Open</Name><Script>
            Start-Process $this.Links.OneNoteWebUrl.Href
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphDrive</Name><Members>
        <AliasProperty><Name>Drive</Name>
            <ReferencedMemberName>id</ReferencedMemberName>
        </AliasProperty>
        <ScriptMethod><Name>Open</Name><Script>
            Start-Process $this.WebUrl
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphDriveItem</Name><Members>
        <AliasProperty><Name>ItemID</Name>
            <ReferencedMemberName>id</ReferencedMemberName>
        </AliasProperty>
        <ScriptProperty><Name>Drive</Name><GetScriptBlock>
            $this.ParentReference.DriveID
        </GetScriptBlock></ScriptProperty>
        <ScriptMethod><Name>Open</Name><Script>
            Start-Process $this.WebUrl
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphSite</Name><Members>
        <ScriptProperty><Name>Template</Name><GetScriptBlock>
            $this.list.template
        </GetScriptBlock></ScriptProperty>
        <ScriptMethod><Name>Open</Name><Script>
            Start-Process $this.WebUrl
        </Script></ScriptMethod>
        <ScriptMethod><Name>List</Name><Script>
            if ($args[0] -is [int]) {$this.lists[$args[0]]}
            if ($args[0] -is [String]) {$this.lists | where-object name -like $args[0]}
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphCalendar</Name><Members>
        <AliasProperty><Name>Calendar</Name>
            <ReferencedMemberName>id</ReferencedMemberName>
        </AliasProperty>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphMessage</Name><Members>
        <ScriptProperty><Name>FromName</Name><GetScriptBlock>
            $this.from.emailAddress.name
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>FromAddress</Name><GetScriptBlock>
            $this.from.emailAddress.address
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>BodyText</Name><GetScriptBlock>
            $this.body.content
        </GetScriptBlock></ScriptProperty>
        <ScriptMethod><Name>Move</Name><Script>
            param($Destination)
            Move-GraphMailItem -Item $this @PSBoundParameters
        </Script></ScriptMethod>
        <ScriptMethod><Name>Open</Name><Script>
            Start-Process $this.WebUrl
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphAttachment</Name><Members>
        <ScriptMethod><Name>Move</Name><Script>
            param($Destination)
            Save-GraphMailAttachment -Attachment $this @PSBoundParameters
        </Script></ScriptMethod>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphContact</Name><Members>
        <MemberSet><Name>PSStandardMembers</Name><Members>
            <PropertySet><Name>DefaultDisplayPropertySet</Name><ReferencedProperties>
                <Name>displayname</Name>
                <Name>jobtitle</Name>
                <Name>companyname</Name>
                <Name>mail</Name>
                <Name>mobile</Name>
                <Name>business</Name>
                <Name>home</Name>
            </ReferencedProperties></PropertySet>
        </Members></MemberSet>
        <AliasProperty><Name>mobile</Name>
            <ReferencedMemberName>mobilephone</ReferencedMemberName>
        </AliasProperty>
        <ScriptProperty><Name>business</Name><GetScriptBlock>
            $this.businessPhones[0]
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>home</Name><GetScriptBlock>
            this.HomePhones[0]
        </GetScriptBlock></ScriptProperty>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphReminder</Name><Members>
        <AliasProperty><Name>Subject</Name>
            <ReferencedMemberName>eventSubject</ReferencedMemberName>
        </AliasProperty>
        <AliasProperty><Name>Location</Name>
            <ReferencedMemberName>eventLocation</ReferencedMemberName>
        </AliasProperty>
        <ScriptProperty><Name>When</Name><GetScriptBlock>
            if ( [System.Convert]::ToDateTime($this.eventStartTime.datetime).AddDays(1) -eq
                  [System.Convert]::ToDateTime($this.eventEndTime.datetime )) {
                    $this.eventStartTime.datetime -replace '(\d{2}:\d{2}):00$','$1' -replace '00:00$','All day'
            }
            else { ($this.eventStartTime.datetime -replace '(\d{2}:\d{2}):00$','$1') + ' to ' +
                   ($this.eventEndTime.datetime -replace '(\d{2}:\d{2}):00$','$1') + $this.eventEndTime.timezone }
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Start</Name><GetScriptBlock>
            [System.Convert]::ToDateTime($this.eventStartTime.datetime )
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>End</Name><GetScriptBlock>
            [System.Convert]::ToDateTime($this.eventEndTime.datetime )
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Reminder</Name><GetScriptBlock>
            [System.Convert]::ToDateTime($this.reminderFireTime.datetime)
        </GetScriptBlock></ScriptProperty>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphMailTips</Name><Members>
        <ScriptProperty><Name>Address</Name><GetScriptBlock>
            $this.EmailAddress.Address
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>MessageText</Name><GetScriptBlock>
            $this.AutomaticReplies.Message
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>MessageStart</Name><GetScriptBlock>
            $this.AutomaticReplies.scheduledStartTime.DateTime
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>MessageEnd</Name><GetScriptBlock>
            $this.AutomaticReplies.scheduledEndTime.DateTime
        </GetScriptBlock></ScriptProperty>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphList</Name><Members>
        <ScriptProperty><Name>Template</Name><GetScriptBlock>
            $this.list.template
        </GetScriptBlock></ScriptProperty>
        <ScriptMethod><Name>Open</Name><Script>
            Start-Process $this.WebUrl
        </Script></ScriptMethod>
 
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphChatMessage</Name><Members>
        <ScriptProperty><Name>Team</Name><GetScriptBlock>
            $this.ChannelIdentity.TeamID
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Channel</Name><GetScriptBlock>
            $this.ChannelIdentity.ChannelId
        </GetScriptBlock></ScriptProperty>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphTeamsTab</Name><Members>
        <ScriptProperty><Name>TeamsAppName</Name><GetScriptBlock>
            $this.teamsApp.displayName
        </GetScriptBlock></ScriptProperty>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphSignIn</Name><Members>
        <ScriptProperty><Name>City</Name><GetScriptBlock>
             $this.location.City
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>State</Name><GetScriptBlock>
             $this.location.State
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Country</Name><GetScriptBlock>
            $this.location.countryOrRegion
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Lat</Name><GetScriptBlock>
            $this.location.geoCoordinates.latitude
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Long</Name><GetScriptBlock>
            $this.location.geoCoordinates.longitude
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Browser</Name><GetScriptBlock>
            $this.deviceDetail.browser
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Device</Name><GetScriptBlock>
            $this.deviceDetail.displayName
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>OperatingSystem</Name><GetScriptBlock>
            $this.deviceDetail.OperatingSystem
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>Date</Name><GetScriptBlock>
            [datetime]$this.createdDateTime
        </GetScriptBlock></ScriptProperty>
    </Members></Type>
    <Type><Name>Microsoft.Graph.PowerShell.Models.MicrosoftGraphDirectoryAudit</Name><Members>
        <ScriptProperty><Name>User</Name><GetScriptBlock>
            $this.initiatedBy.user.userPrincipalName
        </GetScriptBlock></ScriptProperty>
        <ScriptProperty><Name>App</Name><GetScriptBlock>
            $this.initiatedBy.App.DisplayName
        </GetScriptBlock></ScriptProperty>
    </Members></Type>
</Types>