From 244a600d83a469229f247cec1918ae31b08ecb30 Mon Sep 17 00:00:00 2001 From: vfedosevich Date: Thu, 12 Feb 2015 01:04:28 -0800 Subject: [PATCH] Fix for RDS Collection users --- .../Windows2012.cs | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Windows2012.cs b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Windows2012.cs index 58d9ff9f..e6e8dba2 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Windows2012.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.TerminalServices.Windows2012/Windows2012.cs @@ -988,34 +988,28 @@ namespace WebsitePanel.Providers.RemoteDesktopServices { var usersGroupName = GetUsersGroupName(collectionName); var usersGroupPath = GetUsersGroupPath(organizationId, collectionName); + var orgPath = GetOrganizationPath(organizationId); + var orgEntry = ActiveDirectoryUtils.GetADObject(orgPath); + var groupUsers = ActiveDirectoryUtils.GetGroupObjects(usersGroupName, "user", orgEntry); //remove all users from group - foreach (string userPath in ActiveDirectoryUtils.GetGroupObjects(usersGroupName, "user")) + foreach (string userPath in groupUsers) { - ActiveDirectoryUtils.RemoveObjectFromGroup(userPath, usersGroupPath); - } + ActiveDirectoryUtils.RemoveObjectFromGroup(userPath, usersGroupPath); + } //adding users to group foreach (var user in users) { - var userPath = GetUserPath(organizationId, user); - Log.WriteWarning(string.Format("User Path: {0}", userPath)); - Log.WriteWarning(string.Format("Group Name: {0}", usersGroupName)); + var userPath = GetUserPath(organizationId, user); if (ActiveDirectoryUtils.AdObjectExists(userPath)) { var userObject = ActiveDirectoryUtils.GetADObject(userPath); - var samName = (string)ActiveDirectoryUtils.GetADObjectProperty(userObject, "sAMAccountName"); - Log.WriteWarning(string.Format("SAMAccountName: {0}", samName)); - - if (!ActiveDirectoryUtils.IsUserInGroup(samName, usersGroupName)) - { - Log.WriteWarning(string.Format("{0} not exists in {1}", samName, usersGroupName)); - var userGroupsPath = GetUsersGroupPath(organizationId, collectionName); - ActiveDirectoryUtils.AddObjectToGroup(userPath, userGroupsPath); - Log.WriteWarning(string.Format("{0} added", samName)); - } - } + var samName = (string)ActiveDirectoryUtils.GetADObjectProperty(userObject, "sAMAccountName"); + var userGroupsPath = GetUsersGroupPath(organizationId, collectionName); + ActiveDirectoryUtils.AddObjectToGroup(userPath, userGroupsPath); + } } }