RDS users logging
This commit is contained in:
parent
2726090c4f
commit
00a47e079d
3 changed files with 28 additions and 8 deletions
|
@ -1058,7 +1058,7 @@ namespace WebsitePanel.EnterpriseServer
|
||||||
var accountNames = users.Select(x => x.AccountName).ToList();
|
var accountNames = users.Select(x => x.AccountName).ToList();
|
||||||
|
|
||||||
//Set on server
|
//Set on server
|
||||||
rds.SetUsersInCollection(org.OrganizationId, collection.Name, users.Select(x => x.SamAccountName).ToArray());
|
rds.SetUsersInCollection(org.OrganizationId, collection.Name, users.Select(x => x.AccountName).ToArray());
|
||||||
|
|
||||||
//Remove from db
|
//Remove from db
|
||||||
foreach (var userInDb in usersInDb)
|
foreach (var userInDb in usersInDb)
|
||||||
|
|
|
@ -527,6 +527,7 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
result = false;
|
result = false;
|
||||||
|
Log.WriteWarning(e.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@ -672,6 +673,7 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
Log.WriteWarning(string.Format("App alias: {0}\r\nCollection Name:{2}\r\nUsers: {1}", remoteApp.Alias, string.Join("; ", users), collectionName));
|
||||||
runspace = OpenRunspace();
|
runspace = OpenRunspace();
|
||||||
|
|
||||||
Command cmd = new Command("Set-RDRemoteApp");
|
Command cmd = new Command("Set-RDRemoteApp");
|
||||||
|
@ -680,8 +682,18 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
cmd.Parameters.Add("DisplayName", remoteApp.DisplayName);
|
cmd.Parameters.Add("DisplayName", remoteApp.DisplayName);
|
||||||
cmd.Parameters.Add("UserGroups", users);
|
cmd.Parameters.Add("UserGroups", users);
|
||||||
cmd.Parameters.Add("Alias", remoteApp.Alias);
|
cmd.Parameters.Add("Alias", remoteApp.Alias);
|
||||||
|
object[] errors;
|
||||||
|
|
||||||
ExecuteShellCommand(runspace, cmd, false).FirstOrDefault();
|
ExecuteShellCommand(runspace, cmd, false, out errors).FirstOrDefault();
|
||||||
|
|
||||||
|
if (errors.Any())
|
||||||
|
{
|
||||||
|
Log.WriteWarning(string.Format("{0} adding users errors: {1}", remoteApp.DisplayName, string.Join("\r\n", errors.Select(e => e.ToString()).ToArray())));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Log.WriteWarning(string.Format("{0} users added successfully", remoteApp.DisplayName));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch(Exception)
|
catch(Exception)
|
||||||
{
|
{
|
||||||
|
@ -986,14 +998,22 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
|
||||||
//adding users to group
|
//adding users to group
|
||||||
foreach (var user in users)
|
foreach (var user in users)
|
||||||
{
|
{
|
||||||
var samName = user.Split('\\').Last();
|
var userPath = GetUserPath(organizationId, user);
|
||||||
var userPath = GetUserPath(organizationId, samName);
|
Log.WriteWarning(string.Format("User Path: {0}", userPath));
|
||||||
|
Log.WriteWarning(string.Format("Group Name: {0}", usersGroupName));
|
||||||
|
|
||||||
if (ActiveDirectoryUtils.AdObjectExists(userPath))
|
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))
|
if (!ActiveDirectoryUtils.IsUserInGroup(samName, usersGroupName))
|
||||||
{
|
{
|
||||||
ActiveDirectoryUtils.AddObjectToGroup(userPath, GetUsersGroupPath(organizationId, collectionName));
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ namespace WebsitePanel.Portal.RDS
|
||||||
|
|
||||||
litCollectionName.Text = collection.Name;
|
litCollectionName.Text = collection.Name;
|
||||||
txtApplicationName.Text = remoteApp.DisplayName;
|
txtApplicationName.Text = remoteApp.DisplayName;
|
||||||
var remoteAppUsers = organizationUsers.Where(x => applicationUsers.Select(a => a.Split('\\').Last().ToLower()).Contains(x.SamAccountName.Split('\\').Last().ToLower()));
|
var remoteAppUsers = organizationUsers.Where(x => applicationUsers.Contains(x.AccountName));
|
||||||
|
|
||||||
users.SetUsers(remoteAppUsers.ToArray());
|
users.SetUsers(remoteAppUsers.ToArray());
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ namespace WebsitePanel.Portal.RDS
|
||||||
var applications = ES.Services.RDS.GetCollectionRemoteApplications(PanelRequest.ItemID, collection.Name);
|
var applications = ES.Services.RDS.GetCollectionRemoteApplications(PanelRequest.ItemID, collection.Name);
|
||||||
var remoteApp = applications.Where(x => x.Alias.Equals(PanelRequest.ApplicationID, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
|
var remoteApp = applications.Where(x => x.Alias.Equals(PanelRequest.ApplicationID, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
|
||||||
remoteApp.DisplayName = txtApplicationName.Text;
|
remoteApp.DisplayName = txtApplicationName.Text;
|
||||||
ES.Services.RDS.SetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp, users.GetUsers().Select(x => x.SamAccountName.Split('\\').Last()).ToArray());
|
ES.Services.RDS.SetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp, users.GetUsers().Select(x => x.AccountName).ToArray());
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue