Windows: megtudja, ki hol van bejelentkezve

Windows: megtudja, ki hol van bejelentkezve
- Ó, nekem semmi sem működik, segíts!
- Ne aggódj, most mindent megoldunk. Add meg a számítógéped nevét...
(a műfaj klasszikusai a hívásoktól a technikai támogatásig)

Jó, ha rendelkezik egy BgInfo eszközzel, vagy a felhasználók ismerik a Windows+Szünet/Szünet parancsikont, és tudják, hogyan kell megnyomni. Még ritka példányok is vannak, akiknek sikerült megtanulniuk az autójuk nevét. De gyakran a hívónak a fő problémája mellett van egy másik is: megtudja a számítógép nevét/IP-címét. És gyakran sokkal több időbe telik a második probléma megoldása, mint az elsőnél (és csak a háttérképet kellett megváltoztatnia, vagy vissza kellett adnia a hiányzó parancsikont :).
De sokkal kellemesebb ilyesmit hallani:
- Tatyana Sergeevna, ne aggódj, már csatlakozom…


És ehhez nem kell sok.
A műszaki támogatás szakemberének csak meg kell jegyeznie a gépek nevét, és emlékeznie kell arra, hogy ki melyiknél dolgozik.
Mielőtt ismertetném a jelenleg használt megoldást, röviden áttekintek más lehetőségeket is, hogy a végsőkig kritizálhassam őket, és megmagyarázhassam a választásomat.

  1. BgInfo, Asztali információ és a hasonlók. Ha sok a pénz, vannak fizetősek is. A lényeg, hogy az asztalon megjelennek a technikai információk: gép neve, IP címe, bejelentkezés stb. A Desktop Info alkalmazásban teljesítménydiagramokat is kinyomhat a képernyő felére.
    Ami nem tetszik, az az, hogy például ugyanazon Bginfo esetében a felhasználónak minimálisra kell csökkentenie az ablakokat, hogy lássa a szükséges adatokat. Kollégáimmal mi is többször megfigyeltük a BgInfón jellegzetes műtárgy, amikor új szöveg jelenik meg a régi tetején.
    Egyes felhasználókat bosszantja, hogy az adminok egy ijesztő 192.168.0.123-at rajzolnak az asztalon kifeszített macska arcára, ami elrontja a háttérkép esztétikáját, és persze ez borzasztóan demotivál és teljesen kiöli a munkaszellemet. .
  2. Egy címke a la „Ki vagyok én” (ne próbálj kérdőjelet hozzáadni a végére :). Klasszikus parancsikon az asztalon, amely mögött egy ügyes vagy nem túl ügyes szkript rejtőzik, amely párbeszédpanel formájában jeleníti meg a szükséges információkat. Néha a parancsikon helyett magát a szkriptet teszik fel az asztalra, ami IMHO rossz modor.
    Hátránya, hogy a parancsikon elindításához, mint az első esetben, minimálisra kell csökkenteni az összes nyitott ablakot (nem vesszük figyelembe azokat a szerencsekedvelőket, akiknek a munkagépén van nyitva az egyetlen pasziánsz ablak). Egyébként a felhasználók tudják, hova kell kattintani az összes ablak kicsinyítéséhez? Így van, ujj az adminisztrátor szemébe.

A sapka arra is utal, hogy mindkét fent leírt módszernek megvan az a fő hátránya, hogy a felhasználó részt vesz az információszerzésben, aki lehet vak, hülye vagy akár hazudik.
Nem fogom fontolóra venni a számítógépes ismeretek növelésének lehetőségét, amikor mindenki tudja, hogy a Windowsban hol keresse a gépe nevét: ez nemes ügy, de nagyon nehéz. És ha a cégnek fluktuációja van, akkor az teljesen tönkremegy. Mit mondjak, a legtöbb esetben nem is emlékeznek a bejelentkezésükre.

Kiöntöttem a lelkem, és most a lényegre.
Egy Khabrov-lakó ötletét vették alapul közepes A ez a cikk.
Az ötlet lényege, hogy amikor a felhasználó bejelentkezik a Windowsba, a bejelentkezési szkript beírja a szükséges információkat (idő és gépnév) a felhasználói fiók egy bizonyos attribútumaba. És amikor kijelentkezik a rendszerből, egy hasonló kijelentkezési szkript fut le.

Maga az ötlet tetszett, de volt néhány dolog, amivel nem voltam elégedett a megvalósításban.

  1. A csoportházirend, amely a felhasználók bejelentkezési és kijelentkezési parancsfájljait határozza meg, a teljes tartományra vonatkozik, így a szkriptek minden olyan gépen futnak, amelyre a felhasználók bejelentkeznek. Ha munkaállomásokkal együtt terminálmegoldásokat is használ (például Microsoft RDS vagy Citrix termékek), ez a megközelítés kényelmetlen lesz.
  2. Az adatok a felhasználói fiók Department attribútumába kerülnek, amelyhez az átlagos felhasználó csak olvasási hozzáféréssel rendelkezik. A felhasználói fiók attribútum mellett a szkript módosítja a számítógépfiók részleg attribútumait is, amelyet alapértelmezés szerint a felhasználók sem módosíthatnak. Ezért, hogy a megoldás működjön, a szerző javasolja az AD-objektumok biztonsági beállításainak módosítását.
  3. A dátumformátum a célgépen lévő lokalizációs beállításoktól függ, így az egyik gépről 10. november 2018. 14:53-at, egy másikról 11/10/18 2:53-at kaphatunk.

E hiányosságok kiküszöbölése érdekében a következőket tettük.

  1. A csoportházirend-objektum nem tartományhoz, hanem gépekkel rendelkező szervezeti egységhez kapcsolódik (a felhasználókat és a gépeket különböző szervezeti egységekre választom szét, és tanácsot adok másoknak). Ráadásul azért loopback házirend feldolgozási mód mód be van állítva összeolvad.
  2. A szkript csak az attribútumban lévő felhasználói fiókba ír adatokat Info, amelyet a felhasználó önállóan módosíthat a fiókjához.
  3. Módosult az attribútumértéket előállító kódrészlet

A szkriptek most í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 & " <logon>" & " @ " & 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 & " <logoff>" & " @ " & strComputerName
oUser.Setinfo

Aki elsőként találja meg az összes különbséget a Logon és a Logoff szkriptek között, az pluszt kap a karmáért. 🙂
A vizuális információk megszerzése érdekében a következő kis PS-szkriptet hozták létre:
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 "Информация по логонам" -Wait

Összességében minden egy-kettő-három módban van beállítva:

  1. hozzon létre egy csoportházirend-objektumot a szükséges beállításokkal, és kapcsolja össze a felhasználói munkaállomásokkal rendelkező részleggel:
    Windows: megtudja, ki hol van bejelentkezve
  2. menjünk teázni (ha az AD-nek sok a felhasználója, akkor sok tea kell :)
  3. futtassa a PS szkriptet, és kapja meg az eredményt:
    Windows: megtudja, ki hol van bejelentkezve
    Az ablak tetején található egy kényelmes szűrő, amelyben egy vagy több mező értékei alapján választhat ki adatokat. A táblázat oszlopaira kattintva a rekordok a megfelelő mezők értékei szerint rendeződnek.

Szépen „becsomagolhatjuk” a megoldásunkat.
Windows: megtudja, ki hol van bejelentkezve
Ehhez adunk hozzá egy parancsikont a szkript elindításához a technikai támogatási szakemberek számára, akiknek valami ilyesmi lesz az „objektum” mezőben:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Ha sok technikai támogatási alkalmazott van, akkor a parancsikont a segítségével terjesztheti GP kiterjesztés.

Néhány utolsó megjegyzés.

  • A PowerShell Active Directory modulját telepíteni kell arra a gépre, amelyről a PS-szkript elindul (ehhez csak AD-felügyeleti eszközöket kell hozzáadni a Windows-összetevőkhöz).
  • Alapértelmezés szerint a felhasználó nem szerkesztheti fiókja attribútumainak többségét. Tartsa ezt szem előtt, ha úgy dönt, hogy a következőtől eltérő attribútumot használ Info.
  • Tájékoztassa minden érintett kollégát, hogy melyik tulajdonságot fogja használni. Például ugyanaz Info arra szolgál, hogy interaktív módon jegyzeteket adjon a felhasználók postafiókjához az Exchange Server adminisztrációs paneljén, és valaki könnyen felülírhatja, vagy elszomorodik, ha a szkript felülírja az általa hozzáadott információkat.
  • Ha több Active Directory-hellyel rendelkezik, vegye figyelembe a replikációs késéseket. Ha például naprakész információkat szeretne kapni az AD-helyről származó felhasználókról, és a szkriptet a B AD-helyről származó gépről szeretné futtatni, megteheti:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait

    DC fromSiteA — az A hely tartományvezérlőjének neve (alapértelmezés szerint a Get-AdUser parancsmag csatlakozik a legközelebbi tartományvezérlőhöz)

Windows: megtudja, ki hol van bejelentkezve

Kép forrása

Hálás lennék, ha kitöltené az alábbi rövid kérdőívet.

A felmérésben csak regisztrált felhasználók vehetnek részt. Bejelentkezés, kérem.

Mit használsz?

  • bginfo, Desktop info stb. (ingyenes)

  • a bginfo fizetett analógjai

  • A cikkben leírtak szerint csinálom

  • nem releváns, mert VDI/RDS-t használok stb.

  • Még nem használok semmit, de gondolkodom rajta

  • Nem kell ilyen adatokat gyűjtenem

  • egyéb (oszd meg kommentben)

112 felhasználó szavazott. 39 felhasználó tartózkodott.

Forrás: will.com

Hozzászólás