WindowsSelvitä kuka on kirjautunut sisään missäkin

WindowsSelvitä kuka on kirjautunut sisään missäkin
- Voi, mikään ei toimi minulle, apua!
- Älä huoli, me korjaamme kaiken nyt. Anna tietokoneellesi nimi...
(genren klassikot puheluista tekniseen tukeen)

Хорошо, если у вас есть инструмент а-ля BgInfo или ваши пользователи знают про шорткат Windows+Pause/Break и умеют его нажимать. Встречаются даже редкие экземпляры, которые успели выучить имя своей машины. Но часто у звонящего вдобавок к его основной проблеме появляется вторая: узнать имя/IP-адрес компьютера. И нередко на решение этой второй проблемы уходит куда больше времени, чем первой (а надо было всего лишь обои поменять или вернуть пропавший ярлык :).
Mutta on paljon mukavampaa kuulla jotain tällaista:
- Tatjana Sergeevna, älä huoli, yhdistän jo...


Ja tähän et tarvitse paljoa.
Teknisen tuen asiantuntijan tarvitsee vain muistaa koneiden nimet ja muistaa, kuka työskentelee millekin palveluksessa.
Ennen kuin kuvailen tällä hetkellä käyttämäämme ratkaisua, käyn lyhyesti läpi muita vaihtoehtoja, jotta voin kritisoida niitä myöten ja selittää valintani.

  1. BgInfo, Tietokoneen tiedot ja vastaavat. Jos rahaa on paljon, on myös maksettuja. Asia on siinä, että tekniset tiedot näkyvät työpöydällä: koneen nimi, IP-osoite, sisäänkirjautuminen jne. Desktop Info -sovelluksessa voit jopa puristaa suorituskykykaavioita puoleen näytöstä.
    En pidä siitä, että esimerkiksi samalle Bginfolle käyttäjän on pienennettävä ikkunat nähdäkseen tarvittavat tiedot. Myös minä ja kollegani olemme havainneet useammin kuin kerran BgInfossa tyypillinen artefakti, kun uusi teksti näkyy vanhan päällä.
    Joitakin käyttäjiä ärsyttää se, että järjestelmänvalvojat piirtävät pelottavan 192.168.0.123:n työpöydälle ojennetun kissan kasvoille, mikä pilaa taustakuvan estetiikan, ja tämä on tietysti hirveän demotivoivaa ja tappaa työhengen täysin. .
  2. Etiketti a la "Kuka minä olen" (älä yritä lisätä siihen kysymysmerkkiä loppuun :). Klassinen pikakuvake työpöydällä, jonka taakse piiloutuu siisti tai ei niin siisti skripti, joka näyttää tarvittavat tiedot valintaikkunan muodossa. Joskus pikakuvakkeen sijaan he laittavat itse skriptin työpöydälle, mikä IMHO on huonoa käytöstä.
    Haittapuolena on, että käynnistääksesi pikakuvakkeen, kuten ensimmäisessä tapauksessa, sinun on minimoitava kaikki avoimet ikkunat (emme ota huomioon niitä onnenrakkaita, joilla on työkoneensa ainoa pasianssi-ikkuna auki). Muuten, tietävätkö käyttäjäsi, mistä napsauttaa minimoidaksesi kaikki ikkunat? Juuri niin, sormi järjestelmänvalvojan silmässä.

Korkki viittaa myös siihen, että molemmilla edellä kuvatuilla menetelmillä on suurin haittapuoli, että käyttäjä on mukana tiedon hankkimisessa, joka voi olla sokea, tyhmä tai jopa valehdella.
Вариант с повышением компьютерной грамотности, когда все знают, где в Windows смотреть имя своей машины, рассматривать не буду: дело благородное, но очень трудное. А если в компании текучка кадров, то и вовсе гиблое. Что там говорить, в большинстве случаев и логин-то свой не помнят.

Vuodasin sieluni, ja nyt asiaan.
Ajatus Khabrov-asukasta otettiin pohjaksi keskikokoinen ja tässä artikkelissa.
Суть задумки в том, что при входе пользователя в Windows логон-скрипт заносит нужную информацию (время и имя машины) в определенный атрибут учётной записи пользователя. А при выходе из системы отрабатывает аналогичный логофф-скрипт.

Pidin itse ideasta, mutta toteutuksessa oli joitain asioita, joihin en ollut tyytyväinen.

  1. Ryhmäkäytäntö, joka määrittää käyttäjille kirjautumis- ja uloskirjautumisskriptit, koskee koko toimialuetta, joten komentosarjat toimivat kaikilla koneilla, joihin käyttäjät kirjautuvat sisään. Jos käytät pääteratkaisuja työasemien kanssa (esimerkiksi Microsoft RDS- tai Citrix-tuotteet), tämä lähestymistapa on hankala.
  2. Tiedot syötetään käyttäjätilin Osasto-attribuutille, johon keskivertokäyttäjällä on vain luku -oikeus. Käyttäjätili-attribuutin lisäksi skripti tekee muutoksia myös tietokonetilin Osasto-attribuuttiin, joita käyttäjät eivät oletuksena voi muuttaa. Siksi, jotta ratkaisu toimisi, kirjoittaja ehdottaa AD-objektien suojausasetusstandardien muuttamista.
  3. Päivämäärän muoto riippuu kohdekoneen lokalisointiasetuksista, joten yhdeltä koneelta saamme 10 2018:14 ja toisesta 53 11:10.

Näiden puutteiden poistamiseksi tehtiin seuraavaa.

  1. GPO ei ole linkitetty verkkotunnukseen, vaan organisaatioyksikköön, jossa on koneita (erotan käyttäjät ja koneet eri organisaatioyksiköihin ja neuvon muita). Lisäksi varten silmukkakäytännön käsittelytila tila on asetettu yhdistää.
  2. Komentosarja kirjoittaa tietoja vain attribuutissa olevaan käyttäjätiliin Tiedot, jota käyttäjä voi muuttaa itsenäisesti tililleen.
  3. Vaihdettu koodinpätkä, joka luo määritteen arvon

Nyt skriptit näyttävät tältä:
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

Se, joka löytää ensimmäisenä kaikki erot Logon- ja Logoff-skriptien välillä, saa plussan karmasta. 🙂
Visuaalisen tiedon saamiseksi luotiin myös seuraava pieni PS-skripti:
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

Kaiken kaikkiaan kaikki on määritetty yksi-kaksi-kolme:

  1. luo GPO tarvittavin asetuksin ja linkitä se osastoon, jossa on käyttäjätyöasemat:
    WindowsSelvitä kuka on kirjautunut sisään missäkin
  2. mennään juomaan teetä (jos AD:lla on paljon käyttäjiä, niin teetä tarvitaan paljon :)
  3. suorita PS-skripti ja saat tuloksen:
    WindowsSelvitä kuka on kirjautunut sisään missäkin
    Ikkunan yläosassa on kätevä suodatin, jossa voit valita tietoja yhden tai useamman kentän arvojen perusteella. Napsauttamalla taulukon sarakkeita, tietueet lajitellaan vastaavien kenttien arvojen mukaan.

Pystymme "pakkaamaan" ratkaisumme kauniisti.
WindowsSelvitä kuka on kirjautunut sisään missäkin
Tätä varten lisäämme pikakuvakkeen skriptin käynnistämiseksi teknisen tuen asiantuntijoille, joilla on jotain tällaista "objekti"-kentässä:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Jos teknisen tuen työntekijöitä on paljon, voit jakaa pikakuvakkeen käyttämällä GPP.

Lopuksi muutama kommentti.

  • На машине, откуда запускается PS-скрипт, должен быть установлен модуль Active Directory для PowerShell (для этого достаточно добавить средства администрирования AD в компонентах Windows).
  • Oletuksena käyttäjä ei voi muokata useimpia tilinsä määritteitä. Pidä tämä mielessä, jos päätät käyttää muuta attribuuttia kuin Tiedot.
  • Ilmoita kaikille mukana oleville kollegoille, mitä ominaisuuksia käytät. Esimerkiksi sama Tiedot käytetään vuorovaikutteisesti muistiinpanojen lisäämiseen käyttäjän postilaatikkoon Exchange Server -hallintapaneelissa, ja joku voi helposti korvata sen tai tulla surulliseksi, kun komentosarjasi korvaa heidän lisäämänsä tiedot.
  • Jos sinulla on useita Active Directory -sivustoja, ota replikointiviiveet huomioon. Jos esimerkiksi haluat saada ajantasaista tietoa käyttäjistä AD-sivustolta A ja suorittaa komentosarjan AD-sivuston B koneelta, voit tehdä näin:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait

    DCsivustoltaA — sivuston A toimialueen ohjaimen nimi (oletusarvoisesti Get-AdUser-cmdlet muodostaa yhteyden lähimpään toimialueen ohjaimeen)

WindowsSelvitä kuka on kirjautunut sisään missäkin

Kuvan lähde

Olisin kiitollinen, jos voisitte vastata alla olevaan lyhyeen kyselyyn.

Vain rekisteröityneet käyttäjät voivat osallistua kyselyyn. Kirjaudu sisään, ole kiltti.

Mitä sinä käytät?

  • bginfo, työpöytätiedot jne. (ilmaisohjelma)

  • bginfon maksulliset analogit

  • Teen sen kuten artikkelissa

  • ei ole relevanttia, koska Käytän VDI/RDS jne.

  • En käytä vielä mitään, mutta mietin sitä

  • Minun ei tarvitse kerätä tällaisia ​​tietoja

  • muu (jaa kommenteissa)

112 käyttäjää äänesti. 39 käyttäjää pidättyi äänestämästä.

Lähde: will.com

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster