public override void ExecuteCmdlet() { ExecutionBlock(() => { if (this.IsParameterBound(c => c.GroupObject)) { GroupObjectId = GroupObject.Id; } else if (this.IsParameterBound(c => c.GroupDisplayName)) { var targetGroup = ActiveDirectoryClient.GetGroupByDisplayName(GroupDisplayName); GroupObjectId = targetGroup.Id; } ADObjectFilterOptions options = new ADObjectFilterOptions { Id = GroupObjectId == Guid.Empty ? null : GroupObjectId.ToString(), Paging = true }; PSADObject group = ActiveDirectoryClient.FilterGroups(options).FirstOrDefault(); if (group == null) { throw new KeyNotFoundException(string.Format(ProjectResources.GroupDoesntExist, GroupObjectId)); } ulong first = MyInvocation.BoundParameters.ContainsKey("First") ? this.PagingParameters.First : ulong.MaxValue; ulong skip = MyInvocation.BoundParameters.ContainsKey("Skip") ? this.PagingParameters.Skip : 0; WriteObject(ActiveDirectoryClient.GetGroupMembers(options, first, skip), true); }); }
public override void ExecuteCmdlet() { ExecutionBlock(() => { if (this.IsParameterBound(c => c.GroupObject)) { GroupObjectId = GroupObject.Id; } else if (this.IsParameterBound(c => c.GroupDisplayName)) { var group = ActiveDirectoryClient.GetGroupByDisplayName(GroupDisplayName); GroupObjectId = group.Id; } if (this.IsParameterBound(c => c.MemberUserPrincipalName)) { var memberObjectId = new List <Guid>(); foreach (var memberUPN in MemberUserPrincipalName) { memberObjectId.Add(ActiveDirectoryClient.GetObjectIdFromUPN(memberUPN)); } MemberObjectId = memberObjectId.ToArray(); } foreach (var memberObjectId in MemberObjectId) { if (ShouldProcess(target: memberObjectId.ToString(), action: string.Format("Removing user with object id '{0}' from group with object id '{1}'.", memberObjectId, GroupObjectId))) { ActiveDirectoryClient.RemoveGroupMember(GroupObjectId.ToString(), memberObjectId.ToString()); } } if (PassThru.IsPresent) { WriteObject(true); } }); }