Zpět na domů

PowerShell GUI pro technickou podporu AD

Článek popisuje vývoj PowerShell GUI pro automatizaci úkolů technické podpory v doméně AD. Nástroj extrahuje hostname, diagnostikuje PC a provádí vzdálené operace. Používal se 3 roky skupinou z 15 specialistů.

PowerShell GUI: automatizace technické podpory v AD
Advertisement 728x90

# Automatizace technické podpory prostřednictvím PowerShell GUI: zkušenosti z interního vývoje

V doméně Active Directory s 4–5 tisíci pracovními stanicemi Windows 7–10 přicházely požadavky na podporu bez IP adres nebo hostname. Přístup k informacím o PC uživatele vyžadoval ruční vyhledávání v ADUC: kopírování přihlašovacího jména z ticketu, navigaci v nástroji, extrakci hostname z pole Description účtu. To brzdilo zpracování, zejména při potřebě shromáždit hardwarovou konfiguraci nebo provést rutinní úkoly bez vzdáleného připojení.

Řešením byl vlastní PowerShell skript s GUI rozhraním. Podle přihlašovacího jména uživatele nástroj extrahuje hostname z AD, shromáždí údaje o účtu a PC, nabízí tlačítka pro akce. Výsledky se zobrazují v jednom okně: horní panel – informace, střední – funkční tlačítka, dolní – výstup.

Skript byl vyvíjen na základě analýzy open-source LazyWinAdmin GUI (2011), ale přepsán od nuly pro firemní prostředí. To zajistilo bezpečnost, přizpůsobení úkolům a naučení se PowerShell na úrovni middle developera.

Google AdInline article slot

Klíčové funkce nástroje

Nástroj pokrýval každodenní scénáře technické podpory. Spuštění vyžadovalo administrátorská práva na všechny PC domény a síťové přístupy (WinRM, SMB, ICMP).

Zde je hlavní funkcionalita:

  • Vyhledávání a údaje z AD: hostname podle přihlašovacího jména, čas posledního logonu, vypršení hesla, ping hostname, jméno a příjmení, telefon, číslo zaměstnance, členství ve skupinách.
  • Vzdálené připojení: MSRA, Dameware, RDP na výběr.
  • Hardwarová diagnostika: konfigurace PC (Get-WmiObject Win32_ComputerSystem, Win32_Processor aj.), S.M.A.R.T. stav HDD.
  • Administrace: spuštění mmc 'Computer Management' s elevated právy, PS Remoting, cmd s admin právy, reboot/shutdown.
  • Údržba: čištění temp souborů (bez GPO), měření místa lokálního/roaming profilu, kopírování distribucí softwaru.
  • Software a kvóty: seznam nainstalovaného softwaru (Get-WmiObject Win32_Product), velikost schránky Exchange.
  • Specifické funkce: překonfigurace pravidel Windows Firewall, úpravy registru pro periférie, odesílání zpráv na PC, přehled řešení ticketů.
  • Hromadné operace: exporty z AD (členové skupiny, zaměstnanci podle pozice), přidávání do skupin.

Realizace vycházela z modulů ActiveDirectory, WMI/CIM, WinRM. GUI je postaveno na Windows Forms (Add-Type -AssemblyName System.Windows.Forms), s TextBox pro zadání přihlašovacího jména, DataGridView pro výstup, Button pro akce.

Google AdInline article slot

Vývoj a úpravy

Původně skript řešil vyhledávání hostname. Postupně se přidávaly funkce podle odhalené rutiny: od diagnostiky po automatizaci instalace softwaru. Obecný princip – one-click operace s logováním v GUI.

Příklad logiky pro hostname:

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

Pro hardwarovou inventarizaci:

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

Nástroj používala skupina 15 specialistů 3 roky, což zrychlilo zpracování požadavků. Omezení: závislost na admin právech, absence dovozových náhrad v době nasazení.

Co je důležité

  • Skript zkrátil čas hledání údajů z minut na sekundy, minimalizoval ruční ADUC.
  • Pokrývá 80 % rutinních úkolů 2. linie bez připojení k PC.
  • Vyžaduje plná doménová práva; v omezeném prostředí se funkcionalita omezí.
  • Základ – PowerShell 5.1+ s moduly AD, WinRM enabled.
  • Škálování možné přes profily (různé sady tlačítek pro role).

— Editorial Team

Advertisement 728x90

Číst dál