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
};
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)
{
string returnMessage = string.Empty;
@@ -103,11 +119,12 @@ namespace domain_utility
directoryEntry.Close();
Console.WriteLine("Пароль сброшен.");
Main();
BackToMenu(Menu);
}
private static void ShowDomainUserInfo()
{
Console.Clear();
Console.Write("\nВведите имя пользователя (пр. 'lev.rusanov'): ");
string username = Console.ReadLine().Trim();
if (username == string.Empty || username.Length == 0)
@@ -162,12 +179,13 @@ namespace domain_utility
}
}
ShowDomainUserInfo();
BackToMenu(ShowDomainUserInfo);
}
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();
if (remote == string.Empty || remote.Length == 0)
{
@@ -182,7 +200,7 @@ namespace domain_utility
if (remote == string.Empty)
{
Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз.");
ShowComputerBootupTime();
BackToMenu(ShowComputerBootupTime);
return;
}
}
@@ -201,15 +219,16 @@ namespace domain_utility
catch (Exception)
{
Console.WriteLine("Компьютер не найден. Попробуйте еще раз.");
ShowComputerBootupTime();
BackToMenu(ShowComputerBootupTime);
}
ShowComputerBootupTime();
BackToMenu(ShowComputerBootupTime);
}
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();
if (host == string.Empty || host.Length == 0)
{
@@ -223,7 +242,7 @@ namespace domain_utility
if (host == string.Empty)
{
Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз.");
StartPing();
BackToMenu(StartPing);
return;
}
}
@@ -239,14 +258,12 @@ namespace domain_utility
catch (Exception)
{
Console.WriteLine("Компьютер не найден.");
StartPing();
BackToMenu(StartPing);
return;
}
}
else
{
Console.WriteLine("Обмен пакетами с {0} по с 32 байтами данных:", host);
}
for (int i = 0; i < 10; i++)
{
@@ -254,12 +271,13 @@ namespace domain_utility
Thread.Sleep(1000);
}
StartPing();
BackToMenu(StartPing);
}
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();
if (remote == string.Empty || remote.Length == 0)
{
@@ -273,19 +291,19 @@ namespace domain_utility
if (remote == string.Empty)
{
Console.WriteLine("Имя компьютера или IP-адрес не распознаны! Попробуйте еще раз.");
OpenComputerCups();
BackToMenu(OpenComputerCups);
return;
}
}
Process.Start($"http://{remote.ToUpper()}:631/printers");
Console.WriteLine();
Main();
BackToMenu(OpenComputerCups);
}
static void Main()
private static void Menu()
{
Console.Clear();
Console.WriteLine("Выберите действие:\n" +
"1 - посмотреть информацию о пользователе\n" +
"2 - посмотреть дату последней загрузки компьютера (только Windows)\n" +
@@ -294,9 +312,7 @@ namespace domain_utility
"4 - открыть CUPS выбранного компьютера");
int choice;
while (!int.TryParse(Console.ReadLine(), out choice))
{
Console.WriteLine("Введите цифру!");
}
switch (choice)
{
case 1: ShowDomainUserInfo(); break;
@@ -307,10 +323,15 @@ namespace domain_utility
default:
{
Console.WriteLine("Неправильный выбор!");
Main();
Menu();
break;
}
}
}
static void Main()
{
Menu();
}
}
}