# 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.
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.
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:
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
Zatím žádné komentáře.