/// <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); }); }
/// <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); }