— Ó, semmi sem működik, segítsen nekem!
— Ne aggódjon, most mindent megjavítunk. Mondja meg a számítógép nevét…
(a technikai támogatás hívásainak klasszikus esete)
Jó, ha van olyan eszköze, mint a BgInfo, vagy ha a felhasználói tudják a Windows+Pause/Break parancsikont és tudják használni. Vannak még olyan ritka esetek, akik megtanulták a gépük nevét. De gyakran a hívónak van egy második problémája is a fő probléma mellett: megtudni a számítógép nevét/IP-címét. És gyakran ennek a második problémának a megoldására sokkal több időt vesz igénybe, mint az elsőre (pedig csak a háttérképet kellett volna megváltoztatni vagy visszaállítani egy eltűnt parancsikont :).
De sokkal kellemesebb valami ilyesmit hallani:
— Tatyana Szergejevna, ne aggódjon, már csatlakozom...
Ehhez nem is kell sok.
A technikai támogató szakembernek elegendő csak megtanulnia a gépek neveit és megjegyeznie, ki mivel dolgozik.
A most használt megoldás ismertetése előtt röviden áttekintem a többi lehetőséget, hogy kritizáljam őket megmagyarázzam a választásomat.
- , és az ehhez hasonlóak. Ha sok pénz van, léteznek fizetős megoldások is. A lényeg az, hogy a munkafelületre technikai információk kerülnek: gép neve, IP-cím, felhasználónév stb. A Desktop Info-ban akár teljesítménygrafikonokat is elhelyezhetünk a képernyő felén.
Ami nem tetszik az az, hogy a BgInfo esetében például a felhasználónak össze kell csuknia az ablakokat, hogy láthassa a szükséges adatokat. Ezenkívül a kollégákkal többször is megfigyeltük a BgInfo , amikor az új szöveg felülírja a régit.
Néhány felhasználót idegesít, hogy az adminisztrátorok egy ijesztő 192.168.0.123-at rajzolnak egy macska képre, amely a háttérkép esztétikáját tönkreteszi, és természetesen ez rendkívül demotiváló, és teljesen megöli a munkakedvet. - Olyan parancsikon, mint «Ki vagyok?» (ne próbálja meg a végére kérdőjelet tenni :). Klasszikus parancsikon az asztalon, amely mögött egy rendezett vagy nem túlságosan rendezett szkript rejlik, amely szükséges információt jelenít meg párbeszédablak formájában. Néha a parancsikon helyett magát a szkriptet helyezik el az asztalon, ami IMO ízléstelen.
A hátrány az, hogy a parancsikon elindításához, akárcsak az első esetben, össze kell vonni az összes megnyitott ablakot (a sors kedvenceit, akiknek a munkahelyi gépén egyetlen ablak van nyitva pasziánszra, nem vesszük figyelembe). Egyébként tudják a felhasználóid, hova kell kattintaniuk ahhoz, hogy az összes ablakot minimalizálják? Igen, a rendszergazda szemébe.
A kápitány azt is megjegyzi, hogy mindkét fent említett megoldás fő hátránya, hogy a felhasználó, aki részt vesz az információszerzésben, lehet, hogy kicsit látássérült, buta, és egyáltalán hazudhat.
A számítógépes tudás növelésének lehetőségét, amikor mindenki tudja, hol nézheti meg a gépe neveit Windowsban, nem fogom figyelembe venni: nemes ügy, de nagyon nehéz. Ha a cégnél fluktuáció van, akkor egyenesen reménytelen. Mit is mondjak, a legtöbb esetben még a saját bejelentkezésüket sem emlékeznek.
Kiöntöttem a lelkemet, most pedig térjünk a lényegre.
Alapul szolgált egy Habr felhasználó ötlete. a .
A koncepció lényege, hogy amikor a felhasználó bejelentkezik Windowsba, a bejelentkezési szkript a szükséges információkat (idő és gép neve) egy adott attribútumba helyez hideg. A kilépéskor pedig egy hasonló kilépési szkript hajtódik végre.
Az ötlet tetszett, de a megvalósításban volt néhány zavaró tényező.
- A csoportházirend, amelyben a bejelentkezési és kilépő szkriptek szerepelnek a felhasználók számára, az egész domainek alkalmazható, ezért a szkriptek bármely gépen végrehajtódnak, ahova a felhasználók bejelentkeznek. Ha a munkaállomások mellett terminális megoldásokat is használnak (például Microsoft RDS vagy Citrix termékek), ez a megközelítés kényelmetlen lesz.
- Az adatokat a felhasználói fiók Department attribútumába helyezik, amelyhez a normál felhasználóknak csak olvasási jogosultságuk van. A felhasználói fiók attribútuma mellett a szkript a számítógép fiókjának Department attribútumát is módosítja, amelyet alapértelmezetten a felhasználók szintén nem tudnak megváltoztatni. Ezért annak érdekében, hogy a megoldás működjön, a szerző javasolja a biztonsági beállítások átállítását az AD objektumokhoz.
- A dátum formátuma a végső gép lokalizációs beállításaitól függ, ezért az egyik gépről 2018. november 10. 14:53-as értéket kaphatunk, míg a másikról 11/10/18 2:53 p.m. -et.
Ezeknek a hátrányoknak a kiküszöbölése érdekében a következőket tettük.
- A GPO nem a domain-hez, hanem az OU-hoz kapcsolódik, ahol a gépek vannak (felhasználókat és gépeket különböző OU-kba osztok, és ezt másoknak is javaslom). Ennek során be van állítva a mód merge.
- A script csak a felhasználó attribútumába fogja beírni az adatokat Info, amelyet a felhasználó saját magának módosíthat a fiókjában.
- Megváltozott a kód egy darabja, amely az attribútum értékét generálja
Most a scriptjeink így néznek ki:
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
Aki először megtalálja a különbségeket a bejelentkezési és a kijelentkezési szkript között, annak plusz pont jár a karmában. 🙂
Továbbá egy kis PS-skriptet is készítettünk a világos információk megszerzésére:
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 "Bejelentkezési információk" -Wait
Összességében az egész beállítása csak pár lépés:
- létrehozunk egy GPO-t a szükséges beállításokkal, és összekapcsoljuk azt a felhasználói munkaállomásokhoz tartozó részleggel:
- elmegyünk teázni (ha sok felhasználó van az AD-ban, akkor sok tea kell 🙂
- futtatjuk a PS-skriptet, és megkapjuk az eredményt:

Az ablak tetején van egy kényelmes szűrő, amellyel az adatokat egy vagy több mező értéke alapján szűrhetjük. A táblázat oszlopaira kattintva rendezhetjük a bejegyzéseket a megfelelő mezők értékei szerint.
Szépen 'becsomagolhatjuk' a megoldásunkat.

Ehhez adjunk egy gyorsgombot a skript futtatásához a támogatási szakemberek számára, amelynek az 'objektum' mezőjében valami ilyesmi lesz:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"
Ha sok technikai support munkatárs van, akkor egy parancsikont lehet kiosztani a .
Néhány észrevétel a végére.
- A gépen, ahonnan a PS-scripttel indul, telepítve kell lennie az Active Directory PowerShell-modulnak (ehhez elegendő az AD adminisztrációs eszközök telepítése a Windows komponensek között).
- A felhasználó az alapértelmezett beállítás szerint a fiókjának nagyobb részét nem tudja szerkeszteni. Ezt vegye figyelembe, ha úgy dönt, hogy más attribútumot használ, mint a Info.
- Tájékoztassa a megszólított kollégákat arról, hogy melyik attribútumot fogja használni. Például a következőt Info az az Exchange Server adminisztráló felületén a felhasználói fiókhoz megjegyzések interaktív hozzáadására használható, és valaki könnyen felülírhatja azt, vagy szomorú lehet, ha az általa hozzáadott információt felülírja a scriptje.
- Ha több Active Directory webhellyel rendelkezik, vegye figyelembe a replikációs késéseket. Például, ha aktuális információkat szeretne kapni a felhasználókról az A webhely AD-jéről, de a scriptet a B webhely AD-jéről futtatja, akkor így teheti:
Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Logo információ" -Wait
DCfromSiteA — az A webhely domain vezérlőjének neve (alapértelmezés szerint a Get-AdUser parancsmag a legközelebbi domain vezérlőhöz csatlakozik)

Hálás lennék, ha kitöltené az alábbi rövid kérdőívet.
Csak a regisztrált felhasználók vehetnek részt a szavazáson. , kérem.
Mineket használ?
bginfo, Desktop info stb. (ingyenes szoftver)
bginfo fizetős alternatívái
úgy fogom csinálni, ahogy a cikkben van
nem aktuális, mert VDI/RDS stb. használok
egyelőre nem használok semmit, de gondolkodom rajta
nem szükséges számomra, hogy ilyen adatokat gyűjtsek
más (ossza meg a megjegyzésekben)
112 felhasználó szavazott. 39 felhasználó tartózkodott.
Forrás: habr.com

