Powrót do strony głównej

PowerShell GUI do wsparcia technicznego AD

Artykuł opisuje rozwój PowerShell GUI do automatyzacji zadań wsparcia technicznego w domenie AD. Narzędzie wyciąga hostname, diagnozuje PC i wykonuje zdalne operacje. Używany przez 3 lata przez grupę z 15 specjalistów.

PowerShell GUI: automatyzacja wsparcia technicznego w AD
Advertisement 728x90

# Automatyzacja wsparcia technicznego za pomocą GUI PowerShell: doświadczenie z wewnętrznej development

W domenie Active Directory z 4–5 tys. stacji roboczych Windows 7–10 zgłoszenia wsparcia przychodziły bez adresów IP lub hostname. Dostęp do informacji o komputerze użytkownika wymagał ręcznego wyszukiwania w ADUC: kopiowanie loginu z ticketu, nawigacja po snap-inie, wyciąganie hostname z pola Description konta użytkownika. To spowalniało obsługę, szczególnie przy potrzebie zebrania konfiguracji sprzętowej lub wykonywania rutynowych zadań bez zdalnego połączenia.

Rozwiązanie — własny skrypt PowerShell z interfejsem GUI. Na podstawie loginu użytkownika narzędzie wyciąga hostname z AD, zbiera dane o koncie i komputerze, oferuje przyciski do akcji. Wyniki wyświetlane są w jednym oknie: górny panel — informacje, środkowy — przyciski funkcyjne, dolny — wyniki.

Skrypt powstał na bazie analizy open-source LazyWinAdmin GUI (2011), ale został przepisany od zera pod środowisko korporacyjne. Zapewniło to bezpieczeństwo, dostosowanie do zadań i pogłębione opanowanie PowerShell na poziomie średniozaawansowanego developera.

Google AdInline article slot

Kluczowe funkcje narzędzia

Narzędzie obejmowało codzienne scenariusze wsparcia technicznego. Uruchomienie wymagało praw administratora na wszystkich komputerach domeny oraz dostępu sieciowego (WinRM, SMB, ICMP).

Oto główny zakres funkcji:

  • Wyszukiwanie i dane z AD: hostname po loginie, czas ostatniego logowania, wygaśnięcie hasła, ping hostname, imię i nazwisko, telefon, numer służbowy, przynależność do grup.
  • Zdalne połączenie: MSRA, Dameware, RDP do wyboru.
  • Diagnostyka sprzętowa: konfiguracja komputera (Get-WmiObject Win32_ComputerSystem, Win32_Processor itp.), status S.M.A.R.T. dysku HDD.
  • Administracja: uruchomienie mmc „Computer Management” z podwyższonymi prawami, PS Remoting, cmd z prawami admin, restart/wyłączenie.
  • Konserwacja: czyszczenie plików temp (bez GPO), obliczanie rozmiaru profilu lokalnego/roamingowego, kopiowanie dystrybucji oprogramowania.
  • Oprogramowanie i kwoty: lista zainstalowanego oprogramowania (Get-WmiObject Win32_Product), rozmiar skrzynki Exchange.
  • Specyfika: ponowna konfiguracja reguł Windows Firewall, edycja rejestru dla peryferii, wysyłanie wiadomości na komputer, spis rezolucji ticketów.
  • Operacje masowe: eksporty z AD (członkowie grupy, pracownicy wg stanowiska), dodawanie do grup.

Realizacja opierała się na modułach ActiveDirectory, WMI/CIM, WinRM. GUI zbudowane na Windows Forms (Add-Type -AssemblyName System.Windows.Forms), z TextBox do wprowadzania loginu, DataGridView do wyników, Buttonami do akcji.

Google AdInline article slot

Rozwój i ulepszenia

Początkowo skrypt służył do wyszukiwania hostname. Stopniowo dodawano funkcje w miarę odkrywania rutyny: od diagnostyki po automatyzację instalacji oprogramowania. Ogólna zasada — operacje one-click z logowaniem w GUI.

Przykład logiki dla hostname:

$username = $textboxLogin.Text
$user = Get-ADUser -Identity $username -Properties Description
$hostname = $user.Description

Dla inwentaryzacji sprzętowej:

Google AdInline article slot
Invoke-Command -ComputerName $hostname -ScriptBlock { Get-WmiObject Win32_Processor | Select Name, NumberOfCores }

Narzędzie używane przez grupę 15 specjalistów przez 3 lata, przyspieszając obsługę zgłoszeń. Ograniczenia: zależność od praw admin, brak substytutów importowych w momencie wdrożenia.

Co najważniejsze

  • Skrypt skracał czas wyszukiwania danych z minut do sekund, minimalizując ręczne użycie ADUC.
  • Obejmuje 80% rutynowych zadań drugiej linii bez połączenia z komputerem.
  • Wymaga pełnych praw domenowych; w środowiskach ograniczonych funkcjonalność jest okrojona.
  • Baza — PowerShell 5.1+ z modułami AD, WinRM włączony.
  • Skalowanie możliwe przez profile (różne zestawy przycisków dla ról).

— Editorial Team

Advertisement 728x90

Czytaj dalej