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)
|
||||
* Refactor: Замена Console на AnsiConsole
|
||||
* 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[,] 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()
|
||||
|
||||
Reference in New Issue
Block a user