Compare commits

5 Commits
1.0 ... main

Author SHA1 Message Date
77d86a92e2 Update
Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
2025-12-05 21:32:48 +07:00
c04600b7ba Update CHANGELOG.md
Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
2025-10-14 23:15:52 +07:00
c06206c4f0 Update
Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
2025-10-14 23:13:45 +07:00
a5a0e6b8dc Update
Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
2025-05-21 13:42:11 +07:00
be74f191c7 Update
Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
2025-05-01 11:52:43 +07:00
2 changed files with 55 additions and 3 deletions

View File

@@ -1,3 +1,16 @@
## 05-12-2025
* Fix: Исправлено исключение возникающее при попытке открыть CUPS компьютера без сети
## 14-10-2025
* Fix: Обновлено отображение состояния учетной записи при просмотре информации
* Refactor: Переписана функция открытия CUPS удаленного ПК (так как пропала возможность открыть страницу по доменному имени компьютера)
## 21-05-2025
* Feat: Добавлено открытие файловой системы удаленного ПК (только для Windows)
## 01-05-2025
* Feat: Добавлено разделение по рабочим местам при массовой смене пароля
## 06-03-2025 (Релиз 1.0)
* Refactor: Замена Console на AnsiConsole
* Refactor: Изменена реализация ввода паролей

View File

@@ -23,7 +23,7 @@ namespace domain_utility
static readonly string regularDateTime = @"(\d+[.]\d+[.]\d+[ ]\d+[:]\d+[:]\d+)";
static readonly string[,] stringsToFind = new string[,] {
{ "Учетная запись активна", @"(Yes|No)", "Учетная запись работает: " },
{ "Учетная запись активна", @"(Yes|No|Блокировка)", "Учетная запись работает: " },
{ "Последний пароль задан", regularDateTime, "Когда был сменен пароль: " },
{ "Действие пароля завершается", regularDateTime, "Когда нужно менять пароль (крайний срок): "},
{ "Членство в глобальных группах", @"([*].+)", "Член групп:\t" }
@@ -347,9 +347,26 @@ namespace domain_utility
string remote = InputData("открыть CUPS выбранного компьютера (Linux)\n\nВведите IP адрес или имя компьютера (пр. 10.234.16.129, 'IT04', '630300IT04', 'R54-630300IT04'):",
OpenComputerCups);
Process.Start($"https://{remote}:631/printers");
if (CheckComputerName(remote) != string.Empty)
{
string pc_name = remote;
try
{
remote = Dns.GetHostEntry(remote).AddressList.First(addr => addr.AddressFamily == AddressFamily.InterNetwork).ToString();
if (!IsStringContainIp(pc_name))
AnsiConsole.WriteLine($"CUPS {pc_name} ({remote}) открыт.");
else
AnsiConsole.WriteLine($"CUPS {remote} открыт.");
}
catch (Exception)
{
AnsiConsole.WriteLine("Компьютер не найден.");
BackToMenu(OpenComputerCups);
return;
}
}
AnsiConsole.WriteLine($"CUPS {remote} открыт.");
Process.Start($"https://{remote}:631/printers");
BackToMenu(OpenComputerCups);
}
@@ -424,6 +441,10 @@ namespace domain_utility
if (remote == "all")
{
string armListKey = AnsiConsole.Prompt(
new TextPrompt<string>("Введите УЗ на которой нужно сменить пароль")
.AddChoices(new string[] { "OBR", "PIS", "OBM", "MMP" })
);
InputDomainCredentials();
string path = Path.Combine(Environment.CurrentDirectory, "settings.json");
if (!File.Exists(path))
@@ -437,6 +458,8 @@ namespace domain_utility
foreach (KeyValuePair<string, List<int>> unit in data.arm_list)
{
unitKey = unit.Key;
if (unitKey != armListKey)
continue;
foreach (int position in unit.Value)
{
remote = CheckComputerName($"{unitKey}{(position < 10 ? $"0{position}" : position.ToString())}");
@@ -487,6 +510,21 @@ namespace domain_utility
BackToMenu(DisableKdeWallet);
}
static void OpenRemoteFilesystemWindows()
{
string remote = InputData("открыть файловую систему удаленного ПК (Windows)\n\nВведите IP адрес или имя компьютера (пр. 10.234.16.129, 'IT04', '630300IT04', 'R54-630300IT04'):",
OpenRemoteFilesystemWindows);
remote = $"\\\\{remote}\\c$";
Process proc = new Process();
proc.StartInfo = new ProcessStartInfo("explorer", remote);
proc.Start();
AnsiConsole.WriteLine("Файловая система открыта.");
BackToMenu(OpenRemoteFilesystemWindows);
}
private class MenuItem
{
public string Name { get; }
@@ -513,6 +551,7 @@ namespace domain_utility
new MenuItem("посмотреть время работы компьютера (Linux)", () => ShowLinuxComputerBootupTime()),
new MenuItem("сменить пароль для 802.1x (Linux)", () => ChangeRemote802Password()),
new MenuItem("отключить KDE кошелек (Linux)", () => DisableKdeWallet()),
new MenuItem("открыть файловую систему удаленного ПК (Windows)", () => OpenRemoteFilesystemWindows()),
};
static void Menu()