Windows: vind uit wie waar aangemeld is

Windows: vind uit wie waar aangemeld is
- O, niks werk vir my nie, help!
Moenie bekommerd wees nie, ons sal dit nou regmaak. Noem jou rekenaar...
('n klassieke van die genre van tegniese ondersteuningsoproepe)

Dit is goed as jy 'n instrument a la BgInfo het of jou gebruikers weet van die Windows+Pouse/Break-kortpad en weet hoe om dit te druk. Daar is selfs skaars eksemplare wat daarin geslaag het om die naam van hul motor te leer. Maar dikwels het die beller, benewens sy hoofprobleem, 'n tweede een: om die naam / IP-adres van die rekenaar uit te vind. En dikwels neem dit baie meer tyd om hierdie tweede probleem op te los as die eerste een (en jy moes net die muurpapier verander of die ontbrekende etiket terugstuur :).
Maar dit is baie lekkerder om iets te hoor soos:
- Tatyana Sergeevna, moenie bekommerd wees nie, ek verbind reeds ...


En dit vat nie veel om dit te doen nie.
Die tegniese ondersteuningspesialis hoef net die name van die masjiene te memoriseer en te onthou wie waarvoor werk.
Voordat ek die oplossing beskryf wat ons tans gebruik, sal ek kortliks na ander opsies kyk om hulle tot die nege te kritiseer en my keuse te verduidelik.

  1. BgInfo, lessenaar inligting en dies meer. As daar baie geld is, is daar ook betaaldes. Die bottom line is dat tegniese inligting op die lessenaar vertoon word: masjiennaam, IP-adres, aanmelding, ens. In Desktop Info kan jy selfs prestasiegrafieke tot die helfte van die skerm sny.
    Dit pas nie dat die gebruiker byvoorbeeld vir dieselfde Bginfo vensters moet minimaliseer om die nodige data te sien nie. Ek en my kollegas het meer as een keer by BgInfo waargeneem kenmerkende artefakwanneer die nuwe teks bo-op die ou een vertoon word.
    Sommige gebruikers is geïrriteerd deur die feit dat admins 'n skrikwekkende 192.168.0.123 teken op die gesig van 'n kat wat op die lessenaar uitgestrek is, wat die estetika van die agtergrondprent bederf, en dit is natuurlik verskriklik demotiverend en maak die werkende bui heeltemal dood. .
  2. Benoem a la "Wie is ek" (moenie probeer om 'n vraagteken daarby te voeg aan die einde nie :). 'n Klassieke kortpad op die lessenaar, waaragter 'n netjiese of nie baie skrif versteek is wat die nodige inligting in die vorm van 'n dialoogkassie vertoon. Soms, in plaas van 'n kortpad, word die skrif self op die lessenaar geplaas, wat IMHO slegte maniere is.
    Die nadeel is dat om die kortpad te begin, soos in die eerste geval, jy alle oop vensters moet minimaliseer (ons neem nie die noodlotslede in ag wat 'n enkele solitaire-venster oop het op hul werkende masjien nie). Terloops, weet jou gebruikers waar om te klik om alle vensters te minimaliseer? Dis reg, 'n vinger in die admin se oog.

Die pet dui ook daarop dat beide metodes wat hierbo beskryf word, die grootste nadeel het dat die gebruiker betrokke is by die verkryging van inligting, wat blind, dom en oor die algemeen leuens kan wees.
Ek sal nie die opsie oorweeg om rekenaargeletterdheid te verbeter as almal weet waar om in Windows te soek vir die naam van hul masjien nie: dit is 'n edele ding, maar baie moeilik. En as die maatskappy 'n personeelomset het, dan is dit heeltemal rampspoedig. Wat kan ek sê, in die meeste gevalle onthou hulle nie eers hul aanmelding nie.

Ek het my siel uitgestort, en nou tot die punt.
Die idee van 'n Khabrovchanin is as basis geneem medium van Hierdie artikel.
Die kern van die idee is dat wanneer 'n gebruiker by Windows aanmeld, die aanmeldskrip die nodige inligting (tyd en masjiennaam) in 'n sekere kenmerk van die gebruikersrekening invoer. En wanneer jy die stelsel verlaat, voer dit 'n soortgelyke afmeldskrif uit.

Ek het van die idee self gehou, maar iets het my nie gepas in die implementering nie.

  1. Groepbeleid, wat aanmeld- en afmeldskrifte vir gebruikers definieer, is van toepassing op die hele domein, dus sal die skrifte op enige masjien loop waarop gebruikers aanmeld. As jy terminale oplossings saam met werkstasies gebruik (byvoorbeeld Microsoft RDS of Citrix produkte), sal hierdie benadering ongerieflik wees.
  2. Die data word ingevoer in die Departement-kenmerk van die gebruikersrekening, waartoe die standaardgebruiker leesalleentoegang het. Benewens die gebruikerrekening-kenmerk, wysig die skrip ook die rekenaarrekening se Departement-kenmerk, wat gebruikers ook nie by verstek kan verander nie. Daarom, sodat die oplossing kan werk, stel die skrywer voor dat die versteksekuriteitinstellings vir AD-voorwerpe verander word.
  3. Die datumformaat hang af van die lokaliseringsinstellings op die teikenmasjien, so ons kan 10 November 2018 14:53 vanaf een masjien kry, en 11/10/18 2:53 van die ander

Om hierdie tekortkominge uit te skakel, is die volgende gedoen.

  1. GPO is nie gekoppel aan 'n domein nie, maar aan 'n OE met masjiene (ek skei gebruikers en masjiene in verskillende OE's en adviseer ander). Terselfdertyd, vir terugloopbeleidverwerkingsmodus modus is ingestel saamsmelt.
  2. Die skrip sal slegs data na die gebruikersrekening in die kenmerk skryf info, wat die gebruiker onafhanklik vir sy rekening kan verander.
  3. Het 'n stukkie kode verander wat 'n kenmerkwaarde genereer

Nou lyk die skrifte so:
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

Wie al die verskille tussen die aanmeld- en afmeldskrif eerste vind, sal 'n pluspunt in karma kry. 🙂
Ook, om visuele inligting te bekom, is so 'n klein PS-skrif geskep:
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

In totaal is alles opgestel vir een-twee-drie:

  1. skep 'n GPO met die nodige instellings en koppel dit aan die departement met gebruikerswerkstasies:
    Windows: vind uit wie waar aangemeld is
  2. kom ons gaan drink tee (as AD by 'n groot aantal gebruikers is, dan het jy baie tee nodig 🙂
  3. hardloop die PS script en kry die resultaat:
    Windows: vind uit wie waar aangemeld is
    Aan die bokant van die venster is daar 'n gerieflike filter waarin u data kan kies volgens die waardes van een of meer velde. Deur op die kolomme van die tabel te klik, sorteer die rekords volgens die waardes van die ooreenstemmende velde.

Ons kan ons oplossing pragtig “verpak”.
Windows: vind uit wie waar aangemeld is
Om dit te doen, kom ons voeg 'n kortpad by om die skrip te laat loop vir tegniese ondersteuningspesialiste, wat so iets in die "objek"-veld sal hê:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

As daar baie tegniese ondersteuningswerknemers is, kan u 'n etiket versprei met behulp van DIT MAAK NIE SAAK NIE.

'n Paar laaste opmerkings.

  • Die masjien waarvandaan die PS-skrip uitgevoer word, moet die Active Directory-module vir PowerShell geïnstalleer hê (hiervoor is dit genoeg om die AD-administrasienutsgoed in die Windows-komponente by te voeg).
  • By verstek kan die gebruiker die meeste van die kenmerke van sy rekening nie wysig nie. Hou dit in gedagte as jy besluit om 'n eienskap anders as info.
  • Lig alle betrokke kollegas in oor watter kenmerk jy gaan gebruik. Byvoorbeeld, dieselfde info word gebruik om notas interaktief by die gebruiker se posbus in die Exchange Server-administrasiepaneel te voeg en iemand kan dit maklik oorskryf, of hartseer wees wanneer jou skrif die inligting wat hulle bygevoeg het, oorskryf.
  • As jy verskeie Active Directory-webwerwe het, maak dan voorsiening vir replikasievertragings. Byvoorbeeld, as jy bygewerkte inligting oor gebruikers van AD-werf A wil kry, en jy loop die skrip vanaf 'n masjien vanaf AD-werf B, dan kan jy dit doen:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait

    DCfromSiteA - domeinbeheerder naam van werf A (by verstek koppel die Get-AdUser cmdlet aan die naaste domeinbeheerder)

Windows: vind uit wie waar aangemeld is

Beeld bron

Ek sal dit waardeer as jy die kort opname hieronder kan voltooi.

Slegs geregistreerde gebruikers kan aan die opname deelneem. Meld aan, asseblief.

Wat gebruik jy?

  • bginfo, lessenaar inligting ens. (gratis sagteware)

  • betaalde analoë van bginfo

  • Ek sal doen soos in die artikel

  • nie relevant nie, want Ek gebruik VDI/RDS ens.

  • Ek het nog niks gebruik nie, maar ek dink

  • Ek hoef nie sulke data in te samel nie

  • ander (deel in die kommentaar)

112 gebruikers het gestem. 39 gebruikers het buite stemming gebly.

Bron: will.com

Voeg 'n opmerking