protected override void ProcessRecord() { var adView = activeDirectoryRepository.AddressGroupFromDomainControllersInRootDomain(AddressGroupName); // TODO: Sanity check, ex 0 members returned // This will throw an exception if the group does not exist - Is this Ok? var fwView = addressGroupSearchableRepository.GetSingle <GetSingleAddressGroupApiResponse>( AddressGroupName, ConfigTypes.Running). Single(); InflateAddressGroupMembers(fwView); if (adView.DeepCompare(fwView)) { WriteVerbose("No Drift detected. Exiting"); return; } UpdateAddresses(adView, fwView); // There is a case where only IP addresses of the member changed, but the membership set remains the same // in this case no reason to call UpdateGroup --- something TODO: UpdateGroup(adView, fwView); Commit(); }
public void AddressGroupFromDomainControllersInRootDomainTest() { var activeDirectoryRepository = new ActiveDirectoryRepository("NTDEV.CORP.MICROSOFT.COM", null); var group = activeDirectoryRepository.AddressGroupFromDomainControllersInRootDomain("NTDEVDCs"); Assert.IsNotNull(group); Assert.AreEqual(group.Members.Count, group.MemberObjects.Count); foreach (var memberObject in group.MemberObjects) { Assert.IsTrue(group.Members.Contains(memberObject.Name)); Assert.That(memberObject, Is.TypeOf <AddressObject>()); } }
protected override void ProcessRecord() { WriteObject(activeDirectoryRepository.AddressGroupFromDomainControllersInRootDomain(ForestName)); }