diff --git a/src/SetupProject/Product.wxs b/src/SetupProject/Product.wxs index 5402d74..5e22abe 100644 --- a/src/SetupProject/Product.wxs +++ b/src/SetupProject/Product.wxs @@ -1,6 +1,6 @@ - + diff --git a/src/SysAdmin.ActiveDirectory/ADAttribute.cs b/src/SysAdmin.ActiveDirectory/ADAttribute.cs index f294861..c20157b 100644 --- a/src/SysAdmin.ActiveDirectory/ADAttribute.cs +++ b/src/SysAdmin.ActiveDirectory/ADAttribute.cs @@ -1,5 +1,6 @@ namespace SysAdmin.ActiveDirectory { + [AttributeUsage(AttributeTargets.All, Inherited = true)] public class ADAttribute : Attribute { diff --git a/src/SysAdmin.ActiveDirectory/ADContainers.cs b/src/SysAdmin.ActiveDirectory/ADContainers.cs index 9b66343..1e58f47 100644 --- a/src/SysAdmin.ActiveDirectory/ADContainers.cs +++ b/src/SysAdmin.ActiveDirectory/ADContainers.cs @@ -4,19 +4,19 @@ namespace SysAdmin.ActiveDirectory { public class ADContainers { - private const string ContainerMicrosoft = "B:32:F4BE92A4C777485E878E9421D53087DB:"; //CN=Microsoft,CN=Program Data,DC=example,DC=com - private const string ContainerProgramData = "B:32:09460C08AE1E4A4EA0F64AEE7DAA1E5A:"; //CN=Program Data,DC=example,DC=com - private const string ContainerForeignSecurityPrincipals = "B:32:22B70C67D56E4EFB91E9300FCA3DC1AA:"; //CN=ForeignSecurityPrincipals,DC=example,DC=com - private const string ContainerDeletedObjects = "B:32:18E2EA80684F11D2B9AA00C04F79F805:"; //CN=Deleted Objects,DC=example,DC=com - private const string ContainerInfrastructure = "B:32:2FBAC1870ADE11D297C400C04FD8D5CD:"; //CN=Infrastructure,DC=example,DC=com - private const string ContainerLostAndFound = "B:32:AB8153B7768811D1ADED00C04FD8D5CD:"; //CN=LostAndFound,DC=example,DC=com - private const string ContainerSystem = "B:32:AB1D30F3768811D1ADED00C04FD8D5CD:"; //CN=System,DC=example,DC=com - private const string ContainerDomainControllers = "B:32:A361B2FFFFD211D1AA4B00C04FD7D83A:"; //OU=Domain Controllers,DC=example,DC=com - private const string ContainerComputers = "B:32:AA312825768811D1ADED00C04FD8D5CD:"; //CN=Computers,DC=example,DC=com - private const string ContainerUsers = "B:32:A9D1CA15768811D1ADED00C04FD8D5CD:"; //CN=Users,DC=example,DC=com - private const string ContainerNTDSQuotas = "B:32:6227F0AF1FC2410D8E3BB10615BB5B0F:"; //CN=NTDS Quotas,DC=example,DC=com + private const string ContainerMicrosoft = "B:32:F4BE92A4C777485E878E9421D53087DB:"; //NOSONAR CN=Microsoft,CN=Program Data,DC=example,DC=com + private const string ContainerProgramData = "B:32:09460C08AE1E4A4EA0F64AEE7DAA1E5A:"; //NOSONAR CN=Program Data,DC=example,DC=com + private const string ContainerForeignSecurityPrincipals = "B:32:22B70C67D56E4EFB91E9300FCA3DC1AA:"; //NOSONAR CN=ForeignSecurityPrincipals,DC=example,DC=com + private const string ContainerDeletedObjects = "B:32:18E2EA80684F11D2B9AA00C04F79F805:"; //NOSONAR CN=Deleted Objects,DC=example,DC=com + private const string ContainerInfrastructure = "B:32:2FBAC1870ADE11D297C400C04FD8D5CD:"; //NOSONAR CN=Infrastructure,DC=example,DC=com + private const string ContainerLostAndFound = "B:32:AB8153B7768811D1ADED00C04FD8D5CD:"; //NOSONAR CN=LostAndFound,DC=example,DC=com + private const string ContainerSystem = "B:32:AB1D30F3768811D1ADED00C04FD8D5CD:"; //NOSONAR CN=System,DC=example,DC=com + private const string ContainerDomainControllers = "B:32:A361B2FFFFD211D1AA4B00C04FD7D83A:"; //NOSONAR OU=Domain Controllers,DC=example,DC=com + private const string ContainerComputers = "B:32:AA312825768811D1ADED00C04FD8D5CD:"; //NOSONAR CN=Computers,DC=example,DC=com + private const string ContainerUsers = "B:32:A9D1CA15768811D1ADED00C04FD8D5CD:"; //NOSONAR CN=Users,DC=example,DC=com + private const string ContainerNTDSQuotas = "B:32:6227F0AF1FC2410D8E3BB10615BB5B0F:"; //NOSONAR CN=NTDS Quotas,DC=example,DC=com - private List wellKnownObjects; + private readonly List wellKnownObjects; public ADContainers(LdapService ldapService) { diff --git a/src/SysAdmin.ActiveDirectory/ADHelper.cs b/src/SysAdmin.ActiveDirectory/ADHelper.cs index 17baedd..e8a3f60 100644 --- a/src/SysAdmin.ActiveDirectory/ADHelper.cs +++ b/src/SysAdmin.ActiveDirectory/ADHelper.cs @@ -10,12 +10,12 @@ public static class ADHelper { public static string ExtractCN(string dn) { - string[] parts = dn.Split(new char[] { ',' }); + string[] parts = dn.Split(","); for (int i = 0; i < parts.Length; i++) { var p = parts[i]; - var elems = p.Split(new char[] { '=' }); + var elems = p.Split("="); var t = elems[0].Trim().ToUpper(); var v = elems[1].Trim(); if (t == "CN") diff --git a/src/SysAdmin.ActiveDirectory/ADResolver.cs b/src/SysAdmin.ActiveDirectory/ADResolver.cs index 96139a6..900b07e 100644 --- a/src/SysAdmin.ActiveDirectory/ADResolver.cs +++ b/src/SysAdmin.ActiveDirectory/ADResolver.cs @@ -26,7 +26,7 @@ public static T GetValues(LdapEntry entry) var attributes = (ADAttribute[])property.GetCustomAttributes(typeof(ADAttribute), true); - if (attributes.Count() > 0) + if (attributes != null && attributes.Any()) { propertyName = attributes[0].Name; dateType = attributes[0].DateType; @@ -35,7 +35,7 @@ public static T GetValues(LdapEntry entry) try { - var attribute = directoryAttributes.Where(a => a.Name.ToLower() == propertyName.ToLower()).FirstOrDefault(); + var attribute = directoryAttributes.FirstOrDefault(a => a.Name.ToLower() == propertyName.ToLower()); if (attribute != null) { diff --git a/src/Sysadmin/App.xaml.cs b/src/Sysadmin/App.xaml.cs index 8255711..edd11fa 100644 --- a/src/Sysadmin/App.xaml.cs +++ b/src/Sysadmin/App.xaml.cs @@ -162,9 +162,9 @@ private void OnDispatcherUnhandledException(object sender, DispatcherUnhandledEx // For more info see https://docs.microsoft.com/en-us/dotnet/api/system.windows.application.dispatcherunhandledexception?view=windowsdesktop-6.0 } - public static IServer SERVER = null; - public static ICredential CREDENTIAL = null; - public static ADContainers CONTAINERS = null; + public static IServer? SERVER = null; //NOSONAR + public static ICredential? CREDENTIAL = null; //NOSONAR + public static ADContainers? CONTAINERS = null; //NOSONAR } } \ No newline at end of file diff --git a/src/Sysadmin/Controls/MemberOfControl.xaml b/src/Sysadmin/Controls/MemberOfControl.xaml index 6fc2f38..7851b61 100644 --- a/src/Sysadmin/Controls/MemberOfControl.xaml +++ b/src/Sysadmin/Controls/MemberOfControl.xaml @@ -18,7 +18,7 @@ - +