/// <summary>
        /// Executes the operations associated with the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            string filter = string.Empty;

            if (StartDate != null)
            {
                filter = AppendValue(filter, $"createdDateTime ge {StartDate.Value.ToString("yyyy-MM-ddTHH:mm:ssZ")}");
            }

            if (EndDate != null)
            {
                filter = AppendValue(filter, $"createdDateTime le {EndDate.Value.ToString("yyyy-MM-ddTHH:mm:ssZ")}");
            }

            if (!string.IsNullOrEmpty(UserId))
            {
                filter = AppendValue(filter, $"userId eq '{UserId}'");
            }

            Scheduler.RunTask(async() =>
            {
                List <SignIn> activities;
                List <QueryOption> queryOptions = null;

                if (!string.IsNullOrEmpty(filter))
                {
                    queryOptions = new List <QueryOption>
                    {
                        new QueryOption("$filter", $"({filter})")
                    };
                }

                GraphServiceClient client     = PartnerSession.Instance.ClientFactory.CreateGraphServiceClient() as GraphServiceClient;
                client.AuthenticationProvider = new GraphAuthenticationProvider();

                IAuditLogRootSignInsCollectionPage data = await client
                                                          .AuditLogs.SignIns.Request(queryOptions).GetAsync(CancellationToken).ConfigureAwait(false);

                activities = new List <SignIn>(data.CurrentPage);

                while (data.NextPageRequest != null)
                {
                    data = await data.NextPageRequest.GetAsync(CancellationToken).ConfigureAwait(false);
                    activities.AddRange(data.CurrentPage);
                }

                WriteObject(activities, true);
            });
        }
Exemple #2
0
        /// <summary>
        /// Executes the operations associated with the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            List <SignIn>      activities   = new List <SignIn>();
            List <QueryOption> queryOptions = null;
            string             filter       = string.Empty;

            if (StartDate != null)
            {
                filter = AppendValue(filter, $"createdDateTime ge {StartDate.Value.ToString("yyyy-MM-ddTHH:mm:ssZ")}");
            }

            if (EndDate != null)
            {
                filter = AppendValue(filter, $"createdDateTime le {EndDate.Value.ToString("yyyy-MM-ddTHH:mm:ssZ")}");
            }

            if (!string.IsNullOrEmpty(UserId))
            {
                filter = AppendValue(filter, $"userId eq '{UserId}'");
            }

            if (!string.IsNullOrEmpty(filter))
            {
                queryOptions = new List <QueryOption>
                {
                    new QueryOption("$filter", $"({filter})")
                };
            }

            IAuditLogRootSignInsCollectionPage data = Graph
                                                      .AuditLogs.SignIns.Request(queryOptions).GetAsync().ConfigureAwait(false).GetAwaiter().GetResult();

            activities.AddRange(data.CurrentPage);

            while (data.NextPageRequest != null)
            {
                data = data.NextPageRequest.GetAsync().ConfigureAwait(false).GetAwaiter().GetResult();
                activities.AddRange(data.CurrentPage);
            }

            WriteObject(data.CurrentPage, true);
        }