diff --git a/Source/GlobalAssemblyInfo.cs b/Source/GlobalAssemblyInfo.cs index 9f4ab23345..8d752ce11e 100644 --- a/Source/GlobalAssemblyInfo.cs +++ b/Source/GlobalAssemblyInfo.cs @@ -6,5 +6,5 @@ [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -[assembly: AssemblyVersion("2025.8.11.0")] -[assembly: AssemblyFileVersion("2025.8.11.0")] +[assembly: AssemblyVersion("2025.10.18.0")] +[assembly: AssemblyFileVersion("2025.10.18.0")] diff --git a/Source/NETworkManager.Localization/Resources/Strings.Designer.cs b/Source/NETworkManager.Localization/Resources/Strings.Designer.cs index 7474254302..9cfdb253aa 100644 --- a/Source/NETworkManager.Localization/Resources/Strings.Designer.cs +++ b/Source/NETworkManager.Localization/Resources/Strings.Designer.cs @@ -1,6 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -644,6 +645,15 @@ public static string AdjustScreenAutomatically { } } + /// + /// Looks up a localized string similar to Admin (console) session. + /// + public static string AdminConsoleSession { + get { + return ResourceManager.GetString("AdminConsoleSession", resourceCulture); + } + } + /// /// Looks up a localized string similar to Administrator. /// diff --git a/Source/NETworkManager.Localization/Resources/Strings.resx b/Source/NETworkManager.Localization/Resources/Strings.resx index 56be8078c4..ec8798c515 100644 --- a/Source/NETworkManager.Localization/Resources/Strings.resx +++ b/Source/NETworkManager.Localization/Resources/Strings.resx @@ -3996,4 +3996,7 @@ Right-click for more options. Use custom themes to personalize the appearance of the application. You can edit or add theme in the "Program Folder > Themes" directory. For more details, refer to the documentation. + + Admin (console) session + \ No newline at end of file diff --git a/Source/NETworkManager.Models/RemoteDesktop/RemoteDesktop.cs b/Source/NETworkManager.Models/RemoteDesktop/RemoteDesktop.cs index b95f980f0d..f6a756cb8d 100644 --- a/Source/NETworkManager.Models/RemoteDesktop/RemoteDesktop.cs +++ b/Source/NETworkManager.Models/RemoteDesktop/RemoteDesktop.cs @@ -4,8 +4,8 @@ namespace NETworkManager.Models.RemoteDesktop; public static class RemoteDesktop { - public static List ScreenResolutions => new() - { + public static List ScreenResolutions => + [ "640x480", "800x600", "1024x768", @@ -18,15 +18,15 @@ public static class RemoteDesktop "1400x1050", "1680x1050", "1920x1080" - }; + ]; - public static List ColorDepths => new() - { + public static List ColorDepths => + [ 15, 16, 24, 32 - }; + ]; public static RemoteDesktopKeystrokeInfo GetKeystroke(Keystroke keystroke) { @@ -35,8 +35,8 @@ public static RemoteDesktopKeystrokeInfo GetKeystroke(Keystroke keystroke) switch (keystroke) { case Keystroke.CtrlAltDel: - info.ArrayKeyUp = new[] { false, false, false, true, true, true }; - info.KeyData = new[] { 0x1d, 0x38, 0x53, 0x53, 0x38, 0x1d }; + info.ArrayKeyUp = [false, false, false, true, true, true]; + info.KeyData = [0x1d, 0x38, 0x53, 0x53, 0x38, 0x1d]; break; } diff --git a/Source/NETworkManager.Models/RemoteDesktop/RemoteDesktopSessionInfo.cs b/Source/NETworkManager.Models/RemoteDesktop/RemoteDesktopSessionInfo.cs index 1e50f1ff59..106a19b7be 100644 --- a/Source/NETworkManager.Models/RemoteDesktop/RemoteDesktopSessionInfo.cs +++ b/Source/NETworkManager.Models/RemoteDesktop/RemoteDesktopSessionInfo.cs @@ -9,6 +9,7 @@ public class RemoteDesktopSessionInfo public string Username { get; set; } public string Domain { get; set; } public SecureString Password { get; set; } + public bool AdminSession { get; set; } public int Port { get; set; } public bool AdjustScreenAutomatically { get; set; } public bool UseCurrentViewSize { get; set; } diff --git a/Source/NETworkManager.Profiles/GroupInfo.cs b/Source/NETworkManager.Profiles/GroupInfo.cs index 1a5bafca31..a688e341d5 100644 --- a/Source/NETworkManager.Profiles/GroupInfo.cs +++ b/Source/NETworkManager.Profiles/GroupInfo.cs @@ -1,11 +1,11 @@ -using System.Collections.Generic; -using System.Security; -using System.Xml.Serialization; -using NETworkManager.Models.Network; +using NETworkManager.Models.Network; using NETworkManager.Models.PowerShell; using NETworkManager.Models.PuTTY; using NETworkManager.Models.RemoteDesktop; using NETworkManager.Settings; +using System.Collections.Generic; +using System.Security; +using System.Xml.Serialization; namespace NETworkManager.Profiles; @@ -37,7 +37,7 @@ public GroupInfo(GroupInfo group) : this(group.Name) { // General Description = group.Description; - + // Profiles Profiles = group.Profiles; @@ -46,6 +46,7 @@ public GroupInfo(GroupInfo group) : this(group.Name) RemoteDesktop_Username = group.RemoteDesktop_Username; RemoteDesktop_Domain = group.RemoteDesktop_Domain; RemoteDesktop_Password = group.RemoteDesktop_Password; + RemoteDesktop_AdminSession = group.RemoteDesktop_AdminSession; RemoteDesktop_OverrideDisplay = group.RemoteDesktop_OverrideDisplay; RemoteDesktop_AdjustScreenAutomatically = group.RemoteDesktop_AdjustScreenAutomatically; RemoteDesktop_UseCurrentViewSize = group.RemoteDesktop_UseCurrentViewSize; @@ -168,7 +169,7 @@ public GroupInfo(GroupInfo group) : this(group.Name) /// Name of the group. /// public string Name { get; set; } - + /// /// Description of the group. /// @@ -183,6 +184,8 @@ public GroupInfo(GroupInfo group) : this(group.Name) public string RemoteDesktop_Domain { get; set; } [XmlIgnore] public SecureString RemoteDesktop_Password { get; set; } + + public bool RemoteDesktop_AdminSession { get; set; } public bool RemoteDesktop_OverrideDisplay { get; set; } public bool RemoteDesktop_AdjustScreenAutomatically { get; set; } diff --git a/Source/NETworkManager.Profiles/ProfileInfo.cs b/Source/NETworkManager.Profiles/ProfileInfo.cs index ee2d83c69f..3cb7f8c0b5 100644 --- a/Source/NETworkManager.Profiles/ProfileInfo.cs +++ b/Source/NETworkManager.Profiles/ProfileInfo.cs @@ -82,6 +82,7 @@ public ProfileInfo(ProfileInfo profile) RemoteDesktop_Username = profile.RemoteDesktop_Username; RemoteDesktop_Domain = profile.RemoteDesktop_Domain; RemoteDesktop_Password = profile.RemoteDesktop_Password; + RemoteDesktop_AdminSession = profile.RemoteDesktop_AdminSession; RemoteDesktop_OverrideDisplay = profile.RemoteDesktop_OverrideDisplay; RemoteDesktop_AdjustScreenAutomatically = profile.RemoteDesktop_AdjustScreenAutomatically; RemoteDesktop_UseCurrentViewSize = profile.RemoteDesktop_UseCurrentViewSize; @@ -314,6 +315,8 @@ public ProfileInfo(ProfileInfo profile) public string RemoteDesktop_Domain { get; set; } [XmlIgnore] public SecureString RemoteDesktop_Password { get; set; } + + public bool RemoteDesktop_AdminSession { get; set; } public bool RemoteDesktop_OverrideDisplay { get; set; } public bool RemoteDesktop_AdjustScreenAutomatically { get; set; } diff --git a/Source/NETworkManager/App.xaml b/Source/NETworkManager/App.xaml index ea78b717b3..059b0654ca 100644 --- a/Source/NETworkManager/App.xaml +++ b/Source/NETworkManager/App.xaml @@ -26,6 +26,7 @@ + diff --git a/Source/NETworkManager/Controls/RemoteDesktopControl.xaml.cs b/Source/NETworkManager/Controls/RemoteDesktopControl.xaml.cs index 3ad004fdac..fde9e58ca5 100644 --- a/Source/NETworkManager/Controls/RemoteDesktopControl.xaml.cs +++ b/Source/NETworkManager/Controls/RemoteDesktopControl.xaml.cs @@ -212,6 +212,9 @@ private void Connect() RdpClient.AdvancedSettings9.ClearTextPassword = SecureStringHelper.ConvertToString(_sessionInfo.Password); } + // Admin (console) session + RdpClient.AdvancedSettings9.ConnectToAdministerServer = _sessionInfo.AdminSession; + // Network RdpClient.AdvancedSettings9.RDPPort = _sessionInfo.Port; @@ -716,8 +719,4 @@ private void WindowsFormsHost_DpiChanged(object sender, DpiChangedEventArgs e) AdjustScreen(force: true); } #endregion - - - - } diff --git a/Source/NETworkManager/ProfileDialogManager.cs b/Source/NETworkManager/ProfileDialogManager.cs index 1ee991a5e3..5766dc423b 100644 --- a/Source/NETworkManager/ProfileDialogManager.cs +++ b/Source/NETworkManager/ProfileDialogManager.cs @@ -1,4 +1,5 @@ using MahApps.Metro.SimpleChildWindow; +using NETworkManager.Controls; using NETworkManager.Localization.Resources; using NETworkManager.Models; using NETworkManager.Models.Network; @@ -9,11 +10,9 @@ using NETworkManager.Views; using System; using System.Collections.Generic; -using System.Diagnostics; using System.Security; using System.Threading.Tasks; using System.Windows; -using NETworkManager.Controls; namespace NETworkManager; @@ -23,18 +22,13 @@ public static class ProfileDialogManager private static ProfileInfo ParseProfileInfo(ProfileViewModel instance) { - foreach (var tag in instance.TagsCollection) - { - Debug.WriteLine(tag); - } - return new ProfileInfo { Name = instance.Name.Trim(), Host = instance.Host.Trim(), Description = instance.Description?.Trim(), Group = instance.Group.Trim(), - TagsCollection = new ObservableSetCollection (instance.TagsCollection), + TagsCollection = new ObservableSetCollection(instance.TagsCollection), // Network Interface NetworkInterface_Enabled = instance.NetworkInterface_Enabled, @@ -97,6 +91,7 @@ private static ProfileInfo ParseProfileInfo(ProfileViewModel instance) RemoteDesktop_Password = instance.RemoteDesktop_UseCredentials ? instance.RemoteDesktop_Password : new SecureString(), // Remove sensitive info on disable + RemoteDesktop_AdminSession = instance.RemoteDesktop_AdminSession, RemoteDesktop_OverrideDisplay = instance.RemoteDesktop_OverrideDisplay, RemoteDesktop_AdjustScreenAutomatically = instance.RemoteDesktop_AdjustScreenAutomatically, RemoteDesktop_UseCurrentViewSize = instance.RemoteDesktop_UseCurrentViewSize, @@ -323,6 +318,7 @@ private static GroupInfo ParseGroupInfo(GroupViewModel instance) RemoteDesktop_Password = instance.RemoteDesktop_UseCredentials ? instance.RemoteDesktop_Password : new SecureString(), // Remove sensitive info on disable + RemoteDesktop_AdminSession = instance.RemoteDesktop_AdminSession, RemoteDesktop_OverrideDisplay = instance.RemoteDesktop_OverrideDisplay, RemoteDesktop_AdjustScreenAutomatically = instance.RemoteDesktop_AdjustScreenAutomatically, RemoteDesktop_UseCurrentViewSize = instance.RemoteDesktop_UseCurrentViewSize, diff --git a/Source/NETworkManager/Resources/Styles/ChildWindowStyles.xaml b/Source/NETworkManager/Resources/Styles/ChildWindowStyles.xaml new file mode 100644 index 0000000000..fe902c9b8a --- /dev/null +++ b/Source/NETworkManager/Resources/Styles/ChildWindowStyles.xaml @@ -0,0 +1,16 @@ + + + diff --git a/Source/NETworkManager/Resources/Styles/ToolTipStyles.xaml b/Source/NETworkManager/Resources/Styles/ToolTipStyles.xaml index e0e0fc6915..fc25c1508f 100644 --- a/Source/NETworkManager/Resources/Styles/ToolTipStyles.xaml +++ b/Source/NETworkManager/Resources/Styles/ToolTipStyles.xaml @@ -8,7 +8,7 @@ - - - @@ -1061,11 +1058,11 @@ - - - - @@ -1159,10 +1156,10 @@ - - - - @@ -2395,11 +2393,11 @@ - - - - @@ -2493,10 +2491,10 @@ - -