Windows: esbrineu qui ha iniciat sessió on

Windows: esbrineu qui ha iniciat sessió on
- Oh, no em funciona res, ajuda!
- No et preocupis, ara ho arreglarem tot. Doneu el nom del vostre ordinador...
(clàssics del gènere des de convocatòries fins a suport tècnic)

És bo si teniu una eina a la BgInfo o els vostres usuaris coneixen la drecera de Windows+Pausa/Pausa i saben com prémer-la. Fins i tot hi ha exemplars rars que han aconseguit conèixer el nom del seu cotxe. Però sovint, a més del seu principal problema, la persona que truca té un segon problema: esbrinar el nom/adreça IP de l'ordinador. I sovint es necessita molt més temps per resoldre aquest segon problema que el primer (i només calia canviar el fons de pantalla o tornar la drecera que faltava :).
Però és molt més agradable escoltar alguna cosa com:
- Tatiana Sergeevna, no et preocupis, ja estic connectant...


I no necessites gaire per a això.
Un especialista en suport tècnic només necessita memoritzar els noms de les màquines i recordar qui treballa per a qui.
Abans de descriure la solució que estem utilitzant actualment, miraré breument altres opcions per poder criticar-les al màxim i explicar la meva elecció.

  1. BgInfo, Informació de l'escriptori i similars. Si hi ha molts diners, n'hi ha de pagats. La qüestió és que la informació tècnica es mostra a l'escriptori: nom de la màquina, adreça IP, inici de sessió, etc. A la informació de l'escriptori, fins i tot podeu retallar els gràfics de rendiment a la meitat de la pantalla.
    El que no m'agrada és que per al mateix Bginfo, per exemple, l'usuari ha de minimitzar les finestres per veure les dades necessàries. Els meus companys i jo també hem observat més d'una vegada a BgInfo artefacte característic, quan el text nou es mostra a sobre de l'antic.
    Alguns usuaris estan molestos pel fet que els administradors dibuixin un aterridor 192.168.0.123 a la cara d'un gat estirat a l'escriptori, fent malbé l'estètica de la imatge de fons i, per descomptat, això és terriblement desmotivant i mata completament l'esperit laboral. .
  2. Una etiqueta a la "Qui sóc jo" (no intenteu afegir-hi un signe d'interrogació al final :). Una drecera clàssica a l'escriptori, darrere de la qual s'amaga un script net o no tan net que mostra la informació necessària en forma de quadre de diàleg. De vegades, en comptes d'una drecera, posen el propi script a l'escriptori, cosa que, segons mi sembla, és de mala educació.
    El desavantatge és que per llançar la drecera, com en el primer cas, cal minimitzar totes les finestres obertes (no tenim en compte aquells estimats de la fortuna que tenen l'única finestra de solitari oberta a la seva màquina de treball). Per cert, els vostres usuaris saben on fer clic per minimitzar totes les finestres? Així és, un dit a l'ull de l'administrador.

El límit també suggereix que els dos mètodes descrits anteriorment tenen el principal inconvenient que l'usuari participa en l'obtenció d'informació, que pot ser cec, estúpid o fins i tot mentir.
No em plantejaré l'opció d'augmentar l'alfabetització informàtica, quan tothom sap on a Windows cercar el nom de la seva màquina: és una causa noble, però molt difícil. I si l'empresa té rotació de personal, llavors és completament ruïnós. Què puc dir, en la majoria dels casos ni tan sols recorden el seu inici de sessió.

Vaig vessar la meva ànima, i ara al punt.
La idea d'un resident de Khabrov es va prendre com a base mittel d' aquest article.
L'essència de la idea és que quan un usuari inicia sessió a Windows, l'script d'inici de sessió introdueix la informació necessària (hora i nom de la màquina) en un determinat atribut del compte d'usuari. I quan tanqueu la sessió del sistema, s'executa un script de tancament de sessió similar.

Em va agradar la idea en si, però hi havia algunes coses amb les quals no estava content en la implementació.

  1. La política de grup, que especifica scripts d'inici de sessió i tancament de sessió per als usuaris, s'aplica a tot el domini, de manera que els scripts s'executaran a qualsevol màquina a la qual els usuaris iniciïn sessió. Si utilitzeu solucions de terminal juntament amb estacions de treball (per exemple, productes Microsoft RDS o Citrix), aquest enfocament serà incòmode.
  2. Les dades s'introdueixen a l'atribut Departament del compte d'usuari, al qual l'usuari mitjà té accés només de lectura. A més de l'atribut del compte d'usuari, l'script també fa canvis a l'atribut Departament del compte d'ordinador, que per defecte els usuaris tampoc no poden canviar. Per tant, perquè la solució funcioni, l'autor suggereix canviar els estàndards de configuració de seguretat per als objectes AD.
  3. El format de la data depèn de la configuració de localització de la màquina de destinació, de manera que des d'una màquina podem obtenir el 10 de novembre de 2018 a les 14:53 i d'una altra el 11/10/18 a les 2:53.

Per eliminar aquestes mancances, es va fer el següent.

  1. El GPO no està vinculat a un domini, sinó a una OU amb màquines (separo usuaris i màquines en diferents OU i n'aconsello als altres). A més, per Mode de processament de la política de bucle invers el mode està configurat unir.
  2. L'script només escriurà dades al compte d'usuari a l'atribut Informació, que l'usuari pot canviar de manera independent pel seu compte.
  3. S'ha canviat la part de codi que genera el valor de l'atribut

Ara els scripts tenen aquest aspecte:
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

DesaLogoffInfoToAdUserAttrib.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

Qui sigui el primer a trobar totes les diferències entre els scripts d'inici de sessió i de tancament de sessió obtindrà un avantatge pel karma. 🙂
A més, per obtenir informació visual, es va crear el següent petit script PS:
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

En total, tot està configurat un-dos-tres:

  1. creeu un GPO amb la configuració necessària i enllaçeu-lo al departament amb estacions de treball d'usuari:
    Windows: esbrineu qui ha iniciat sessió on
  2. anem a prendre un te (si AD té un gran nombre d'usuaris, necessiteu molt de te :)
  3. executeu l'script PS i obteniu el resultat:
    Windows: esbrineu qui ha iniciat sessió on
    A la part superior de la finestra hi ha un filtre convenient en el qual podeu seleccionar dades en funció dels valors d'un o més camps. En fer clic a les columnes de la taula s'ordena els registres segons els valors dels camps corresponents.

Podem "empaquetar" de manera meravellosa la nostra solució.
Windows: esbrineu qui ha iniciat sessió on
Per fer-ho, afegirem una drecera per llançar l'script per als especialistes de suport tècnic, que tindran alguna cosa com això al camp "objecte":
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Si hi ha molts empleats de suport tècnic, podeu distribuir una drecera utilitzant NO TÉ IMPORTÀNCIA.

Uns quants comentaris finals.

  • El mòdul Active Directory per a PowerShell s'ha d'instal·lar a la màquina des de la qual s'inicia l'script PS (per fer-ho, només cal que afegiu eines d'administració d'AD als components de Windows).
  • Per defecte, l'usuari no pot editar la majoria dels atributs del seu compte. Tingueu-ho en compte si decidiu utilitzar un atribut diferent de Informació.
  • Informeu a tots els companys implicats quin atribut utilitzareu. Per exemple, el mateix Informació s'utilitza per afegir notes de manera interactiva a la bústia de correu d'un usuari al tauler d'administració de l'Exchange Server i algú pot sobreescriure-la fàcilment o posar-se trist quan la informació que ha afegit és sobreescrita pel vostre script.
  • Si teniu diversos llocs d'Active Directory, preneu els retards de replicació. Per exemple, si voleu obtenir informació actualitzada sobre els usuaris del lloc A d'AD i executar l'script des d'una màquina des del lloc B d'AD, podeu fer això:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait

    DCfromSiteA — el nom del controlador de domini del lloc A (per defecte, el cmdlet Get-AdUser es connecta al controlador de domini més proper)

Windows: esbrineu qui ha iniciat sessió on

Font de la imatge

Us agrairia que feu la breu enquesta següent.

Només els usuaris registrats poden participar en l'enquesta. Inicia sessiósi us plau.

Què fas servir?

  • bginfo, informació de l'escriptori, etc. (programari gratuït)

  • anàlegs de pagament de bginfo

  • Ho faré com a l'article

  • no rellevant, perquè Jo faig servir VDI/RDS, etc.

  • Encara no faig servir res, però hi estic pensant

  • No necessito recopilar aquestes dades

  • altre (compartiu als comentaris)

Han votat 112 usuaris. 39 usuaris es van abstenir.

Font: www.habr.com

Afegeix comentari