Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
This commit is contained in:
2024-10-27 16:34:12 +07:00
parent b3b2b54abf
commit 2e563df664

View File

@@ -30,6 +30,22 @@ namespace domain_utility
{ "^[rR]\\d*[-]\\d+[a-zA-Z]+\\d+$", "" } // R54-630300THE01 { "^[rR]\\d*[-]\\d+[a-zA-Z]+\\d+$", "" } // R54-630300THE01
}; };
private static void BackToMenu(Action callback, bool noMessage = false)
{
if (noMessage == false)
Console.WriteLine("\nНажмите Enter чтобы продолжить, ESC чтобы вернуться на главную.");
var key = Console.ReadKey(true).Key;
if (key == ConsoleKey.Enter)
callback.Invoke();
else if (key == ConsoleKey.Escape)
Menu();
else
{
Console.WriteLine("Нажмите Enter или ESC!");
BackToMenu(callback, true);
}
}
private static string PingHost(string host) private static string PingHost(string host)
{ {
string returnMessage = string.Empty; string returnMessage = string.Empty;
@@ -103,11 +119,12 @@ namespace domain_utility
directoryEntry.Close(); directoryEntry.Close();
Console.WriteLine("Пароль сброшен."); Console.WriteLine("Пароль сброшен.");
Main(); BackToMenu(Menu);
} }
private static void ShowDomainUserInfo() private static void ShowDomainUserInfo()
{ {
Console.Clear();
Console.Write("\nВведите имя пользователя (пр. 'lev.rusanov'): "); Console.Write("\nВведите имя пользователя (пр. 'lev.rusanov'): ");
string username = Console.ReadLine().Trim(); string username = Console.ReadLine().Trim();
if (username == string.Empty || username.Length == 0) if (username == string.Empty || username.Length == 0)
@@ -162,12 +179,13 @@ namespace domain_utility
} }
} }
ShowDomainUserInfo(); BackToMenu(ShowDomainUserInfo);
} }
private static void ShowComputerBootupTime() private static void ShowComputerBootupTime()
{ {
Console.WriteLine("\nВведите IP адрес или имя компьютера (пр. 'IT04', '630300IT04', 'R54-630300IT04'): "); Console.Clear();
Console.WriteLine("\nВведите IP адрес или имя компьютера (пр. 10.234.16.129, 'IT04', '630300IT04', 'R54-630300IT04'): ");
string remote = Console.ReadLine().Trim(); string remote = Console.ReadLine().Trim();
if (remote == string.Empty || remote.Length == 0) if (remote == string.Empty || remote.Length == 0)
{ {
@@ -182,7 +200,7 @@ namespace domain_utility
if (remote == string.Empty) if (remote == string.Empty)
{ {
Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз."); Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз.");
ShowComputerBootupTime(); BackToMenu(ShowComputerBootupTime);
return; return;
} }
} }
@@ -201,15 +219,16 @@ namespace domain_utility
catch (Exception) catch (Exception)
{ {
Console.WriteLine("Компьютер не найден. Попробуйте еще раз."); Console.WriteLine("Компьютер не найден. Попробуйте еще раз.");
ShowComputerBootupTime(); BackToMenu(ShowComputerBootupTime);
} }
ShowComputerBootupTime(); BackToMenu(ShowComputerBootupTime);
} }
private static void StartPing() private static void StartPing()
{ {
Console.Write("\nВведите IP адрес или имя компьютера (пр. 10.234.16.129): "); Console.Clear();
Console.WriteLine("\nВведите IP адрес или имя компьютера (пр. 10.234.16.129, 'IT04', '630300IT04', 'R54-630300IT04'): ");
string host = Console.ReadLine().Trim(); string host = Console.ReadLine().Trim();
if (host == string.Empty || host.Length == 0) if (host == string.Empty || host.Length == 0)
{ {
@@ -223,7 +242,7 @@ namespace domain_utility
if (host == string.Empty) if (host == string.Empty)
{ {
Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз."); Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз.");
StartPing(); BackToMenu(StartPing);
return; return;
} }
} }
@@ -239,14 +258,12 @@ namespace domain_utility
catch (Exception) catch (Exception)
{ {
Console.WriteLine("Компьютер не найден."); Console.WriteLine("Компьютер не найден.");
StartPing(); BackToMenu(StartPing);
return; return;
} }
} }
else else
{
Console.WriteLine("Обмен пакетами с {0} по с 32 байтами данных:", host); Console.WriteLine("Обмен пакетами с {0} по с 32 байтами данных:", host);
}
for (int i = 0; i < 10; i++) for (int i = 0; i < 10; i++)
{ {
@@ -254,12 +271,13 @@ namespace domain_utility
Thread.Sleep(1000); Thread.Sleep(1000);
} }
StartPing(); BackToMenu(StartPing);
} }
private static void OpenComputerCups() private static void OpenComputerCups()
{ {
Console.WriteLine("\nВведите IP адрес или имя компьютера (пр. 'IT04', '630300IT04', 'R54-630300IT04'): "); Console.Clear();
Console.WriteLine("\nВведите IP адрес или имя компьютера (пр. 10.234.16.129, 'IT04', '630300IT04', 'R54-630300IT04'): ");
string remote = Console.ReadLine().Trim(); string remote = Console.ReadLine().Trim();
if (remote == string.Empty || remote.Length == 0) if (remote == string.Empty || remote.Length == 0)
{ {
@@ -273,19 +291,19 @@ namespace domain_utility
if (remote == string.Empty) if (remote == string.Empty)
{ {
Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз."); Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз.");
OpenComputerCups(); BackToMenu(OpenComputerCups);
return; return;
} }
} }
Process.Start($"http://{remote.ToUpper()}:631/printers"); Process.Start($"http://{remote.ToUpper()}:631/printers");
Console.WriteLine(); BackToMenu(OpenComputerCups);
Main();
} }
static void Main() private static void Menu()
{ {
Console.Clear();
Console.WriteLine("Выберите действие:\n" + Console.WriteLine("Выберите действие:\n" +
"1 - посмотреть информацию о пользователе\n" + "1 - посмотреть информацию о пользователе\n" +
"2 - посмотреть дату последней загрузки компьютера (только Windows)\n" + "2 - посмотреть дату последней загрузки компьютера (только Windows)\n" +
@@ -294,9 +312,7 @@ namespace domain_utility
"4 - открыть CUPS выбранного компьютера"); "4 - открыть CUPS выбранного компьютера");
int choice; int choice;
while (!int.TryParse(Console.ReadLine(), out choice)) while (!int.TryParse(Console.ReadLine(), out choice))
{
Console.WriteLine("Введите цифру!"); Console.WriteLine("Введите цифру!");
}
switch (choice) switch (choice)
{ {
case 1: ShowDomainUserInfo(); break; case 1: ShowDomainUserInfo(); break;
@@ -307,10 +323,15 @@ namespace domain_utility
default: default:
{ {
Console.WriteLine("Неправильный выбор!"); Console.WriteLine("Неправильный выбор!");
Main(); Menu();
break; break;
} }
} }
} }
static void Main()
{
Menu();
}
} }
} }