Windows: selgitame, kes on kus sisse logitud

Windows: selgitame, kes on kus sisse logitud
— Oi, mul ei toimi mitte miski, aidake!
— Ärge muretsege, me lahendame selle kohe. Palun öelge arvuti nimi

(ĆŸanri klassika tehnilise toe kĂ”nedes)

Hea, kui teil on tööriist nagu BgInfo vÔi kui teie kasutajad teavad Windowsi + Pause/Break otseteed ja oskavad seda vajutada. Kohtab isegi haruldasi isendeid, kes on suutnud oma masina nime Ôppida. Kuid sageli on kÔnelejal lisaks oma pÔhiprobleemile veel teine: teada saada arvuti nimi/IP-aadress. Ja tihti kulub selle teise probleemi lahendamiseks palju rohkem aega kui esimesele (kuigi tegelikult pidi ainult taustapilti vahetama vÔi kadunud otsetee tagasi tooma :).
Aga palju meeldivam oleks kuulda midagi sellist:
— Tatjana Sergejevna, Ă€rge muretsege, juba ĂŒhendun



Selleks ei ole tegelikult palju vaja.
Tugiteenuse spetsialistile piisab vaid masinanime meeldejÀtmisest ja teadmisest, kes millega töötab.
Enne lahenduse kirjeldamist, mida me praegu kasutame, kĂ€sitlen lĂŒhidalt teisi variante, et neid kritiseerida selgelt selgitada oma valikut.

  1. BgInfo, Desktop Info ja sarnased. Kui raha on piisavalt, siis on olemas ka tasulisi. SĂŒdamiks on see, et töölauale kuvatakse tehniline teave: masina nimi, IP-aadress, sisselogimise nimi jne. Desktop Info-s saab isegi jĂ”udluse graafikud poole ekraani peale paigutada.
    Ei meeldi see, et sama jaoks peab nĂ€iteks BgInfo puhul kasutaja aknad minimeerima, et vajalikud andmed nĂ€ha oleks. Samuti oleme kolleegidega korduvalt mĂ€rganud BgInfo puhul tĂŒĂŒpilist artefakti, kui uus tekst kuvatakse vana peale.
    MÔningaid kasutajaid hÀirib, et administraatorid joonistavad hirmutava 192.168.0.123 venitatud töölauale kassipildi peale ja rikkuda taustapildi estetiikat, ja loomulikult demotiveerib see kohutavalt ja tapab tÀielikult töömotiivi.
  2. Otsetee nagu „Kes ma olen“ (Ă€rge proovige sellele kĂŒsimĂ€rk lisada : ). Klassikaline töölaua otsetee, mille taga peitub kena vĂ”i mitte vĂ€ga skript, mis kuvab vajalikku teavet dialoogaknas. MĂ”nikord asetatakse otsetee asemel otse skript, mis IMHO on maitse kĂŒsimus.
    Puuduseks on see, et otsetee kĂ€ivitamiseks, nagu ka esimeses juhul, tuleb kokku suruda kĂ”ik avatud aknad (laste Ă”nne, kellel on töölaual avatud ainult ĂŒks aknasolitu, arvesse ei vĂ”eta). Muide, kas teie kasutajad teavad, kuhu vajutada, et kĂ”ik aknad kokku suruda? TĂ€pselt, sĂ”rmega silma adminile.

Samuti ĂŒtleb kape, et mĂ”lema ĂŒlaltoodud meetodi peamine puudus on see, et teabe hankimises osaleb kasutaja, kes vĂ”ib olla pisut pime, rumal ja ĂŒldiselt vale.
Arvan, et arvutikirjaoskuse tĂ”stmine, kui kĂ”ik teavad, kust Windowsis oma arvuti nime vaadata, ei ole vajalik: see on ĂŒllas tegevus, kuid vĂ€ga keeruline. Ja kui firmas on töötajate voolavus, siis on see ĂŒldse lootusetu. Mis seal rÀÀkida, enamikul juhtudel ei mĂ€letata isegi oma sisselogimist.

Vaatasin hinge vĂ€lja ja nĂŒĂŒd asume asja kallale.
Aluseks oli idee Habr'i kasutajalt. mittel API-s selle artikli.
Idee on selles, et kui kasutaja siseneb Windowsi, lisab sisselogimisskript vajaliku teabe (aeg ja arvuti nimi) teatud kasutaja konto atribuudisse. Ja sĂŒsteemist vĂ€ljudes töötab analoogne vĂ€ljalogimisskript.

Mulle meeldis idee, kuid teostuses ei sobinud mÔned asjad.

  1. Grupipoliitika, milles on mÀÀratud sisselogimis- ja vÀljalogimisskripti kasutajad, kehtib kogu domeenile, seega skriptid toimivad igas masinas, kuhu kasutajad sisse logivad. Kui töötavad koos tööjaamad ja terminalilahendused (nÀiteks Microsoft RDS vÔi Citrixi tooted), siis selline lÀhenemine on ebamugav.
  2. Andmed kantakse kasutaja konto Department atribuudisse, millele tavakasutajal on ainult lugemisÔigus. Peale kasutaja konto atribuudist muudab skript ka arvuti konto Department atribuuti, mida tavakasutajad vaikimisi muuta ei saa. Seega, et lahendus töötaks, soovitab autor muuta AD objektide vaikeseadeid.
  3. KuupĂ€eva formaat sĂ”ltub lĂ”ppkasutaja masina lokaliseerimise seadetest, seega vĂ”ime ĂŒhest masinas saada 10. november 2018 14:53, ja teisest 11/10/18 2:53 p.m.

Nende puuduste kÔrvaldamiseks tehti jÀrgmist.

  1. GPO se ei seondu domeeni, vaid OU-ga koos masinatega (ma jagan kasutajaid ja masinaid erinevatesse OU-desse ja soovitan seda ka teistele). Sellega seoses on loopback policy processing mode seadistatud reĆŸiim merge.
  2. Skript salvestab andmed ainult kasutaja konto atribuudiga Info, mida kasutaja saab ise muuta oma konto jaoks.
  3. Muutunud on koodilÔik, mis genereerib atribuudivÀÀrtuse

NĂŒĂŒd nĂ€evad skriptid vĂ€lja sellised:
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

Kes esimesena leiab kĂ”ik erinevused logon- ja logoff-skripti vahel, saab endale plussi karma. 🙂
Samuti on visuaalse teabe saamiseks loodud selline vÀike PS-skript:
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 "Logonite info" -Wait

KokkuvÔttes saab kÔik seadistada kiiresti:

  1. loome GPO soovitud seadistustega ja seome selle kasutajate tööjaamade allĂŒksusega:
    Windows: selgitame, kes on kus sisse logitud
  2. lĂ€heme teed jooma (kui AD-s on palju kasutajaid, siis on teed vaja palju 🙂
  3. kÀivitame PS-skripti ja saame tulemuse:
    Windows: selgitame, kes on kus sisse logitud
    Akna ĂŒlaosas on mugav filter, millega saab andmeid filtreerida ĂŒhe vĂ”i mitme vĂ€lja vÀÀrtuste jĂ€rgi. Veergudele klikkimine sorteerib kirjeid vastavalt nende vĂ€lja vÀÀrtustele.

Saame oma lahenduse ka kenasti "pakendada".
Windows: selgitame, kes on kus sisse logitud
Selleks lisame tootespetsialistidele skripti kÀivitamiseks otsetee, mille "objekti" vÀlja vÀÀrtus on midagi sellist:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Kui tugiteenuste töötajaid on palju, saab otsetee jagada GPP.

MÔned lÔppsÔnad.

  • Masinas, kust PS-skripti kĂ€ivitatakse, peab olema installitud Active Directory moodul PowerShelli jaoks (selleks piisab AD haldustööriistade lisamisest Windowsi komponentidesse).
  • Enamik oma konto atribuute ei saa kasutaja vaikimisi redigeerida. Arvestage seda, kui otsustate kasutada muud atribuut Info.
  • Teavitage kĂ”iki osalisi kolleege, millist atribuuti kavatsete kasutada. NĂ€iteks sama Info kasutatakse kasutaja postkasti administreerimisel Exchange Serveris interaktiivsete mĂ€rkmete lisamiseks ja keegi vĂ”ib selle kergesti kuhugi kaduma minna vĂ”i olla kurb, kui teie skript kustutab tema lisatud teabe.
  • Kui teil on mitu Active Directory saiti, siis arvake sisse replikatsiooni viivitused. NĂ€iteks kui soovite saada ajakohast teavet kasutajate kohta AD-sait A-lt, kuid kĂ€ivitate skripti AD-sait B masinast, siis saate teha jĂ€rgmist:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Logode kohta info" -Wait

    DCfromSiteA — sait A domeeni kontrolleri nimi (vaikimisi ĂŒhendub Get-AdUser kĂ€sk lĂ€hima domeeni kontrolleriga)

Windows: selgitame, kes on kus sisse logitud

Piltide allikas

Oleksin tĂ€nulik, kui tĂ€idate alloleva lĂŒhikĂŒsimustiku.

Ainult registreeritud kasutajad saavad kĂŒsitluses osaleda. Logige sisse, palun.

Kuidas te kasutate?

  • bginfo, Desktop info jne. (tasuta tarkvara)

  • tasulised bginfo analoogid

  • teen nii, nagu artiklis

  • ei ole asjakohane, kuna kasutan VDI/RDS jne.

  • ei kasuta veel midagi, kuid mĂ”tlen sellele

  • ma ei vaja selliste andmete kogumist

  • muu (jaga kommentaarides)

112 kasutajat hÀÀletas. 39 kasutajat hoidus.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster