— Och, nič mi nefunguje, pomôžte!
— Nebojte sa, opravíme to. Povedzte mi meno počítača…
(klasika žánru z hovorov do technickej podpory)
Dobre, ak máte nástroj a la BgInfo alebo vaši používatelia vedia o skratke Windows+Pause/Break a vedia ju stlačiť. Dokonca sa občas objavia aj vzácne exempláre, ktoré sa stihli naučiť meno svojho stroja. Ale často sa k hlavne problému volajúceho pridáva aj druhý: zistiť meno/IP adresu počítača. A často strane viac času na vyriešenie tohto druhého problému strávime, než toho prvého (a pritom stačilo iba zmeniť tapetu alebo vrátiť zmiznutú ikonu :).
A oveľa príjemnejšie je počuť niečo takéto:
— Tatiana Sergejevna, nebojte sa, už sa pripájam…
A na to netreba tak veľa.
Pre specialistu technickej podpory stačí len si zapamätať mená strojov a pamätať si, kto na ktorom pracuje.
Pred popisovaním riešenia, ktoré teraz používame, stručne prejdeme iné možnosti, aby sme ich kritizovali, a to podrobne vysvetlíme svoj výber.
- , a podobné. Ak máte veľa peňazí, sú aj platené verzie. Podstatou je, že na ploche sa zobrazujú technické informácie: meno stroja, IP adresa, prihlasovacie meno atď. V Desktop Info môžete dokonca zobraziť grafy výkonu na polovici obrazovky.
Nepáči sa mi, že používateľ musí pri BgInfo napríklad zminimalizovať okná, aby videl potrebné údaje. Okrem toho sme so kolegami opakovane pozorovali u BgInfo , keď sa nový text zobrazuje nad starým.
Niektorých používateľov irituje fakt, že administrátori kreslia strašidelné 192.168.0.123 na tvári mačky rozťahujúcej sa na pracovnej ploche, čo kazí estetiku pozadia a, samozrejme, to hrozne demotivuje a úplne zabíja pracovnú atmosféru. - Skrátka a la „Kto som“ (nesnažte sa pridať otáznik na koniec :). Klasická skratka na pracovnej ploche, za ktorou sa skrýva usporiadaný alebo menej usporiadaný skript, ktorý zobrazuje požadované informácie vo forme dialógového okna. Niekedy miesto skratky na pracovnej ploche uložia samotný skript, čo IMHO pôsobí nevhodne.
Nevýhodou je, že na spustenie skratky, rovnako ako v prvom prípade, je potrebné minimalizovať všetky otvorené okná (neberieme do úvahy šťastlivcov, ktorí majú na pracovnej ploche otvorené jediné okno s solitérum). Mimochodom, vedia vaši používatelia, kam treba kliknúť, aby minimalizovali všetky okná? Správne, prstom do oka adminovi.
Takisto kapitán naznačuje, že obidva opísané spôsoby majú základnú nevýhodu v tom, že pri získavaní informácií hrá rolu používateľ, ktorý môže byť trochu slepý, hlúpy a celkovo klamať.
Možnosť s zvyšovaním počítačovej gramotnosti, keď všetci vedia, kde v systéme Windows hľadať názov svojho počítača, nespomeniem: ide o ušľachtilú vec, ale veľmi ťažkú. A ak je vo firme vysoká fluktuácia zamestnancov, je to dokonca beznádejne. Povedzme si pravdu, v väčšine prípadov si ani svoje prihlásenie nepamätajú.
Vylial som svoju dušu, a teraz k veci.
Základná myšlienka bola prevzatá od jedného člena fóra Habra z .
Podstata návrhu spočíva v tom, že pri prihlásení používateľa do Windows, logon skript zaznamenáva potrebné informácie (čas a názov počítača) do určitého atribútu používateľského účtu. A pri odhlásení z systému sa spustí podobný logoff skript.
Myšlienka sa mi páčila, ale v realizácii mi niečo nevyhovovalo.
- Skupinová politika, v ktorej sú definované logon a logoff skripty pre používateľov, sa aplikuje na celú doménu, takže skripty budú fungovať na akomkoľvek počítači, na ktorý sa prihlasujú používatelia. Ak používate okrem pracovných staníc aj terminálové riešenia (napríklad Microsoft RDS alebo produkty Citrix), tento prístup bude nepohodlný.
- Údaje sa zapisujú do atribútu Department používateľského účtu, k ktorému má bežný používateľ prístup iba na čítanie. Okrem atribútu používateľského účtu skript tiež mení atribút Department počítačového účtu, ktorý bežne používatelia meniť nemôžu. Preto, aby riešenie fungovalo, autor navrhuje zmeniť štandardné bezpečnostné nastavenia pre objekty AD.
- Formát dátumu závisí od nastavení lokalizácie na koncovom počítači, preto z jedného počítača môžeme získať 10. novembra 2018 14:53, zatiaľ čo z iného 11/10/18 2:53 p.m.
Na odstránenie týchto nedostatkov bolo vykonané nasledujúce.
- GPO sa nepripája k doméne, ale k OU s počítačmi (ja rozdeľujem používateľov a počítače do rôznych OU a iným to odporúčam). Pri tom je nastavený je nastavený na merge.
- Skript bude zapisovať údaje iba do používateľského účtu v atribúte Info, ktorý si používateľ môže meniť samostatne pre svoj účet.
- Bol zmenený kód, ktorý generuje hodnotu atribútu
Teraz skripty vyzerajú takto:
SaveLogonInfoToAdUserAttrib.vbs
On Error Resume Next
Set wshShell = CreateObject("WScript.Shell")
strComputerName = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
Set adsinfo = CreateObject("ADSystemInfo")
Set oUser = GetObject("LDAP://" & adsinfo.UserName)
strMonth = Month(Now())
If Len(strMonth) < 2 then
strMonth = "0" & strMonth
End If
strDay = Day(Now())
If Len(strDay) < 2 then
strDay = "0" & strDay
End If
strTime = FormatDateTime(Now(),vbLongTime)
If Len(strTime) < 8 then
strTime = "0" & strTime
End If
strTimeStamp = Year(Now()) & "\/" & strMonth & "\/" & strDay & " " & strTime
oUser.put "info", strTimeStamp & " " & " @ " & strComputerName
oUser.Setinfo
SaveLogoffInfoToAdUserAttrib.vbs
On Error Resume Next
Set wshShell = CreateObject("WScript.Shell")
strComputerName = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
Set adsinfo = CreateObject("ADSystemInfo")
Set oUser = GetObject("LDAP://" & adsinfo.UserName)
strMonth = Month(Now())
If Len(strMonth) < 2 then
strMonth = "0" & strMonth
End If
strDay = Day(Now())
If Len(strDay) < 2 then
strDay = "0" & strDay
End If
strTime = FormatDateTime(Now(),vbLongTime)
If Len(strTime) < 8 then
strTime = "0" & strTime
End If
strTimeStamp = Year(Now()) & "\/" & strMonth & "\/" & strDay & " " & strTime
oUser.put "info", strTimeStamp & " " & " @ " & strComputerName
oUser.Setinfo
Kto prvý nájde všetky rozdiely medzi logon a logoff skriptom, tomu plus do karmy. 🙂
Taktiež bol vytvorený takýto malý PS skript pre získanie názorných informácií:
Get-UsersByPCsInfo.ps1
$OU = "OU=MyUsers,DC=mydomain,DC=com"
Get-ADUser -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Informácie k logonom" -Wait
Celkovo sa všetko nastavuje raz-dva-tri:
- vytvoríme GPO s potrebnými nastaveniami a pripojíme ho k oddeleniu s pracovnými stanicami používateľov:
- ideme piť čaj (ak je AD s veľkým počtom používateľov, čaju potrebujeme veľa 🙂
- spustíme PS skript a dostaneme výsledok:

V hornej časti okna je pohodlný filter, v ktorom môžeme vyberať údaje podľa hodnôt jedného alebo viacerých polí. Kliknutím na stĺpce tabuľky sa zoradia záznamy podľa hodnôt príslušných polí.
Môžeme pekne "zabaliť" naše riešenie.

Na to pridáme skratku na spustenie skriptu pre technickú podporu, kde bude v poli "objekt" niečo takéto:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"
Ak je zamestnancov technickej podpory veľa, môžete distribuovať skratku pomocou .
Niekoľko poznámok na záver.
- Na počítači, z ktorého sa spúšťa skript PS, musí byť nainštalovaný modul Active Directory pre PowerShell (na to stačí pridať nástroje na správu AD v komponentoch Windows).
- Väčšinu atribútov svojho účtu používateľ podľa defaultu upraviť nemôže. Zohľadnite to, ak sa rozhodnete použiť atribút odlišný od Info.
- Informujte všetkých zainteresovaných kolegov o tom, aký atribút budete používať. Napríklad ten istý Info se používa na interaktívne pridávanie poznámok k používateľskej schránke v administrácii Exchange Server, a niekto to môže ľahko vymazať, alebo sa sklamal, keď pridané informácie vymaže váš skript.
- Ak máte viacero stránok Active Directory, zohľadnite oneskorenia replikácie. Napríklad, ak chcete získať aktuálne informácie o používateľoch zo stránky AD A, a spúšťate skript z počítača na stránke AD B, môžete to urobiť takto:
Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Informácie o prihláseniach" -Wait
DCfromSiteA — názov doménového kontroléra stránky A (podľa defaultu sa príkaz Get-AdUser pripája k najbližšiemu doménovému kontroléru)

Bol by som vďačný, ak by ste sa zúčastnili krátkeho prieskumu nižšie.
Len registrovaní používatelia sa môžu zúčastniť prieskumu. , prosím.
Čo používate?
bginfo, Desktop info atď. (bezplatný softvér)
platené alternatívy bginfo
urobím to, ako v článku
nie je aktuálne, pretože používam VDI/RDS atď.
zatiaľ nič nepoužívam, ale uvažujem
nepotrebujem zbierať takéto údaje
iné (podelte sa v komentároch)
Hlasovalo 112 používateľov. Zdržalo sa 39 používateľov.
Zdroj: habr.com

