Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
77d86a92e2
|
|||
|
c04600b7ba
|
|||
|
c06206c4f0
|
|||
|
a5a0e6b8dc
|
|||
|
be74f191c7
|
13
CHANGELOG.md
13
CHANGELOG.md
@@ -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)
|
## 06-03-2025 (Релиз 1.0)
|
||||||
* Refactor: Замена Console на AnsiConsole
|
* Refactor: Замена Console на AnsiConsole
|
||||||
* Refactor: Изменена реализация ввода паролей
|
* Refactor: Изменена реализация ввода паролей
|
||||||
|
|||||||
45
Program.cs
45
Program.cs
@@ -23,7 +23,7 @@ namespace domain_utility
|
|||||||
static readonly string regularDateTime = @"(\d+[.]\d+[.]\d+[ ]\d+[:]\d+[:]\d+)";
|
static readonly string regularDateTime = @"(\d+[.]\d+[.]\d+[ ]\d+[:]\d+[:]\d+)";
|
||||||
|
|
||||||
static readonly string[,] stringsToFind = new string[,] {
|
static readonly string[,] stringsToFind = new string[,] {
|
||||||
{ "Учетная запись активна", @"(Yes|No)", "Учетная запись работает: " },
|
{ "Учетная запись активна", @"(Yes|No|Блокировка)", "Учетная запись работает: " },
|
||||||
{ "Последний пароль задан", regularDateTime, "Когда был сменен пароль: " },
|
{ "Последний пароль задан", regularDateTime, "Когда был сменен пароль: " },
|
||||||
{ "Действие пароля завершается", regularDateTime, "Когда нужно менять пароль (крайний срок): "},
|
{ "Действие пароля завершается", regularDateTime, "Когда нужно менять пароль (крайний срок): "},
|
||||||
{ "Членство в глобальных группах", @"([*].+)", "Член групп:\t" }
|
{ "Членство в глобальных группах", @"([*].+)", "Член групп:\t" }
|
||||||
@@ -347,9 +347,26 @@ namespace domain_utility
|
|||||||
string remote = InputData("открыть CUPS выбранного компьютера (Linux)\n\nВведите IP адрес или имя компьютера (пр. 10.234.16.129, 'IT04', '630300IT04', 'R54-630300IT04'):",
|
string remote = InputData("открыть CUPS выбранного компьютера (Linux)\n\nВведите IP адрес или имя компьютера (пр. 10.234.16.129, 'IT04', '630300IT04', 'R54-630300IT04'):",
|
||||||
OpenComputerCups);
|
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} открыт.");
|
AnsiConsole.WriteLine($"CUPS {remote} открыт.");
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
AnsiConsole.WriteLine("Компьютер не найден.");
|
||||||
|
BackToMenu(OpenComputerCups);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Process.Start($"https://{remote}:631/printers");
|
||||||
|
|
||||||
BackToMenu(OpenComputerCups);
|
BackToMenu(OpenComputerCups);
|
||||||
}
|
}
|
||||||
@@ -424,6 +441,10 @@ namespace domain_utility
|
|||||||
|
|
||||||
if (remote == "all")
|
if (remote == "all")
|
||||||
{
|
{
|
||||||
|
string armListKey = AnsiConsole.Prompt(
|
||||||
|
new TextPrompt<string>("Введите УЗ на которой нужно сменить пароль")
|
||||||
|
.AddChoices(new string[] { "OBR", "PIS", "OBM", "MMP" })
|
||||||
|
);
|
||||||
InputDomainCredentials();
|
InputDomainCredentials();
|
||||||
string path = Path.Combine(Environment.CurrentDirectory, "settings.json");
|
string path = Path.Combine(Environment.CurrentDirectory, "settings.json");
|
||||||
if (!File.Exists(path))
|
if (!File.Exists(path))
|
||||||
@@ -437,6 +458,8 @@ namespace domain_utility
|
|||||||
foreach (KeyValuePair<string, List<int>> unit in data.arm_list)
|
foreach (KeyValuePair<string, List<int>> unit in data.arm_list)
|
||||||
{
|
{
|
||||||
unitKey = unit.Key;
|
unitKey = unit.Key;
|
||||||
|
if (unitKey != armListKey)
|
||||||
|
continue;
|
||||||
foreach (int position in unit.Value)
|
foreach (int position in unit.Value)
|
||||||
{
|
{
|
||||||
remote = CheckComputerName($"{unitKey}{(position < 10 ? $"0{position}" : position.ToString())}");
|
remote = CheckComputerName($"{unitKey}{(position < 10 ? $"0{position}" : position.ToString())}");
|
||||||
@@ -487,6 +510,21 @@ namespace domain_utility
|
|||||||
BackToMenu(DisableKdeWallet);
|
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
|
private class MenuItem
|
||||||
{
|
{
|
||||||
public string Name { get; }
|
public string Name { get; }
|
||||||
@@ -513,6 +551,7 @@ namespace domain_utility
|
|||||||
new MenuItem("посмотреть время работы компьютера (Linux)", () => ShowLinuxComputerBootupTime()),
|
new MenuItem("посмотреть время работы компьютера (Linux)", () => ShowLinuxComputerBootupTime()),
|
||||||
new MenuItem("сменить пароль для 802.1x (Linux)", () => ChangeRemote802Password()),
|
new MenuItem("сменить пароль для 802.1x (Linux)", () => ChangeRemote802Password()),
|
||||||
new MenuItem("отключить KDE кошелек (Linux)", () => DisableKdeWallet()),
|
new MenuItem("отключить KDE кошелек (Linux)", () => DisableKdeWallet()),
|
||||||
|
new MenuItem("открыть файловую систему удаленного ПК (Windows)", () => OpenRemoteFilesystemWindows()),
|
||||||
};
|
};
|
||||||
|
|
||||||
static void Menu()
|
static void Menu()
|
||||||
|
|||||||
Reference in New Issue
Block a user