Windows: saame teada, kes kus on sisse loginud

Windows: saame teada, kes kus on sisse loginud
— Oh, mul on midagi ei tööta, aidake!
— Ärge muretsege, kohe parandame. Palun öelge arvuti nimi

(kliƥee toote tugikÔnedest)

Hea, kui teil on tööriist nagu BgInfo vÔi teie kasutajad teavad Windows+Pause/Break klahvikombinatsiooni ja oskavad seda vajutada. Kohati kohtab isegi haruldasi isendeid, kes on suutnud oma masina nime meelde jÀtta. Kuid tihti lisandub helistaja peamise probleemiga veel teine: teada saada arvuti nimi/IP-aadress. Ja tihti kulub selle teise probleemi lahendamiseks palju rohkem aega kui esimese jaoks (aga tuli vaid taustapilti vahetada vÔi kadunud otsetee taastada :)).
Aga palju toredam on kuulda midagi sellist:
— Tatjana Sergeevna, Ă€rge muretsege, juba ĂŒhendan



Ja selleks ei ole sugugi palju vaja.
Toote toe spetsialistil piisab, kui teada arvutite nimesid ja meeles pidada, kes millisega töötab.
Enne lahenduse kirjeldamist, mida me praegu kasutame, vaatan lĂŒhidalt ĂŒle teised variandid, et neid tĂ€iesti kokku kukutada selgitada oma valikut.

  1. BgInfo, Desktop Info ja need sarnased. Kui raha on palju, on ka tasulisi. Oluline on see, et töölaua jaoks kuvatakse tehniline teave: masina nimi, IP-aadress, sisselogimise andmed jne. Desktop Info‘s saab isegi efektiivsuse graafikud poolele ekraanile paigutada.
    Ei meeldi see, et sama Bginfo puhul peab kasutaja aknad minema vÀhendama, et nÀha vajalikke andmeid. Samuti oleme kolleegidega korduvalt tÀheldanud BgInfo-d. iseloomulik artefakt, kui uus tekst kuvatakse vana peale.
    MÔned kasutajad hÀirib see, et administraatorid joonistavad hirmutava 192.168.0.123 looma nÀo, venitatud töölauale, mis rikub taustapildi esteetikat ja muidugi demotiveerib see vÀga ning tapab tÀielikult töömeeleolu.
  2. Otsetee nagu „Kes ma olen“ (Ă€rge proovige lisada sellele kĂŒsimĂ€rki :). Klassikaline otsetee töölaual, mille taga varjab korralik vĂ”i mitte vĂ€ga skript, mis kuvab vajaliku teabe dialoogiboksina. MĂ”nikord asetatakse otsetee asemel otse skript, mis minu arvates on kahtlane.
    Puuduseks on see, et otsetee kĂ€ivitamiseks, nagu ka esimeses variandis, tuleb kĂ”ik avatud aknad minimeerida (mĂ€nguhimu hĂ€vitaja, kellel töölaual on ainult ĂŒks akna pasjanss, ei loe). Muide, kas teie kasutajad teavad, kuhu vajutada, et kĂ”ik aknad minimeerida? Õige, sĂ”rmega administratori silma.

Samuti vihjab kalle, et mÔlema eespool kirjeldatud meetodi peamine puudus on see, et teabe hankimises osaleb kasutaja, kes vÔib olla pime, rumal ja lihtsalt valetada.
Varianti, kus tĂ”stetakse arvutialase kirjaoskuse taset, arvestades, et kĂ”igil on Windowsis oma masina nime leidmine teada, ma ei kaaluks: see on ĂŒlla ettevĂ”tmine, kuid vĂ€ga keeruline. Ja kui ettevĂ”ttes on kĂ€ive, siis on see tĂ€ielikult mĂ”ttetu. Mis seal rÀÀkida, enamikul juhtudel ei mĂ€letata isegi oma kasutajanime.

Hing vĂ€lja voolanud, nĂŒĂŒd aga asja juurde.
Aluseks on vÔetud idee haukurite seast mittel kohast selle artikli.
Idee tuum on see, et kui kasutaja siseneb Windowsisse, siis logon-skripti kĂ€ivitamisel kantakse vajalik teave (aeg ja masina nimi) kasutaja kontole mÀÀratud atribuudile. Ja sĂŒsteemist vĂ€ljumisel kĂ€ivitub analoogne logoff-skript.

Mulle meeldis idee, kuid rakendamisel oli mÔned asjad, mis mind hÀirisid.

  1. Gruppipoliitika, mis sisaldab kasutajate sisselogimis- ja vÀlja logimise skripte, kehtib kogu domeeni ulatuses, mistÔttu skripte kÀitatakse igal masinatel, kuhu kasutajad sisse logivad. Kui kasutate töökohaside kÔrval terminalilahendusi (nt Microsoft RDS vÔi Citrixi tooted), on selline lÀhenemine ebamugav.
  2. Andmed salvestatakse kasutaja konto atribuudile Department, millele tavakasutajal on vaid lugemisÔigus. Lisaks kasutaja konto atribuudile teeb skript muudatusi ka arvuti konto atribuudis Department, mida kasutajad vaikimisi muuta ei saa. SeetÔttu, et lahendus töötaks, soovitab autor muuta AD objektide vaikeseadeid.
  3. KuupĂ€eva formaat sĂ”ltub lĂ”ppmasina lokaliseerimise seadistustest, seega vĂ”ime ĂŒhel masinal saada 10. november 2018 14:53, teiselt 11/10/18 2:53 p.m.

Nende puuduste kÔrvaldamiseks tehti jÀrgmist.

  1. GPO ei linkita domeeni, vaid OU-le, kus asuvad masinad (ma eraldan kasutajad ja masinad erinevatesse OU-sse ja soovitan seda ka teistele). Sellega seoses on loopback policy processing mode seadistatud reĆŸiim merge.
  2. Skript salvestab andmed ainult kasutaja konto atribuuti Info, mille kasutaja saab ise oma konto jaoks muuta.
  3. Muutunud koodilÔik, mis genereerib atribuudi vÀÀ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

Viga jÀtkub jÀrgmisega
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 leiab esimesena kĂ”ik erinevused logon- ja logoff-skripti vahel, sellele lisandub karmasse pluss. 🙂
Visuaalse teabe saamiseks on loodud ka 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 teave" -Wait

KokkuvÔttes seadistamine on kiire ja lihtne:

  1. looge GPO soovitud seadistustega ja linkige see kasutajate töökohaga seotud struktuurile:
    Windows: saame teada, kes kus on sisse loginud
  2. minema teed jooma (kui AD sisaldab palju kasutajaid, siis peab teed olema palju 🙂
  3. kÀivitame PS-skripti ja saame tulemuse:
    Windows: saame teada, kes kus on sisse loginud
    Akna ĂŒlaosas on mugav filter, millega saab andmeid sorteerida ĂŒhe vĂ”i mitu vĂ€lja vÀÀrtuste jĂ€rgi. Tippides tabeli veergudele sorteeritakse kirjed vastavate vĂ€ljade vÀÀrtuste jĂ€rgi.

Meie lahendust saab kenasti "pakendada".
Windows: saame teada, kes kus on sisse loginud
Selleks lisame spetsialistidele tehnilises toes skripti kÀivitamiseks otsetee, mille objekti vÀljal on midagi sellist:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Kui tehnilise toe töötajaid on palju, saab otseteed jagada kasutades GPP.

MÔned mÀrkused lÔpetuseks.

  • Masinas, kust PS-skript kĂ€ivitatakse, peab olema paigaldatud PowerShelli Active Directory moodul (selleks piisab, kui lisada Windowsi komponente AD haldusvahendite seast).
  • Enamik oma konto atribuute ei saa kasutaja vaikimisi redigeerida. Arvestage sellega, kui otsustate kasutada muud atribuuti kui Info.
  • Teavita kĂ”iki asjaosalisi kolleege, millist atribuuti kavatsete kasutada. NĂ€iteks sama Info kasutatakse interaktiivsete mĂ€rkmete lisamiseks Exchange Serveri administraatorite hoiukastidesse ning keegi vĂ”ib selle hĂ”lpsasti kustutada vĂ”i olla kurb, kui teie skript kustutab tema lisatud teabe.
  • Kui teil on mitu Active Directory saidi, arvestage replikatsioonikĂ”ikumistega. NĂ€iteks, kui soovite saada ajakohast teavet kasutajate kohta AD-saidil A ja kĂ€itate skripti AR-saidilt B, siis vĂ”ite teha jĂ€rgmist:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Kasutajanimede teave" -Wait

    DCfromSiteA — A saidi domeenikontrolleri nimi (vaikimisi ĂŒhendub cmdlet Get-AdUser lĂ€hima domeenikontrolleriga)

Windows: saame teada, kes kus on sisse loginud

Piltide allikas

Olen tĂ€nulik, kui vastate allolevale lĂŒhikĂŒsitlusele.

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

Mida te kasutate?

  • bginfo, Desktop info jne. (tasuta tarkvara)

  • bginfo tasulised analoogid

  • teen nii nagu artiklis

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

  • praegu ei kasuta midagi, kuid mĂ”tlen

  • mul ei ole vaja selliseid andmeid koguda

  • muud (jagage kommentaarides)

HÀÀletas 112 kasutajat. JÀttis hÀÀletamata 39 kasutajat.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster