Windows: kimin harada daxil olduğunu öyrənin

Windows: kimin harada daxil olduğunu öyrənin
- Oh, heç nə mənə yaramır, kömək et!
- Narahat olma, indi hər şeyi düzəldəcəyik. Kompüterinizin adını verin...
(zənglərdən texniki dəstəyə qədər janrın klassikləri)

Yaxşı olar ki, sizin BgInfo alətiniz varsa və ya istifadəçiləriniz Windows+Pause/Break qısayolu haqqında bilirlərsə və onu necə basmağı bilirlər. Hətta nadir nümunələr var ki, onların avtomobilinin adını öyrənə bilmişlər. Ancaq tez-tez zəng edənin əsas problemindən əlavə, ikinci problemi var: kompüterin adını/IP ünvanını tapmaq. Və tez-tez bu ikinci problemi həll etmək üçün birincidən daha çox vaxt tələb olunur (və sadəcə divar kağızı dəyişdirmək və ya itkin qısa yolu qaytarmaq lazım idi :).
Ancaq belə bir şey eşitmək daha gözəldir:
- Tatyana Sergeevna, narahat olma, mən artıq qoşuluram...


Və bunun üçün çox şeyə ehtiyacınız yoxdur.
Texniki dəstək mütəxəssisi yalnız maşınların adlarını yadda saxlamalı və kimin hansı üçün işlədiyini xatırlamalıdır.
Hal-hazırda istifadə etdiyimiz həlli təsvir etməzdən əvvəl digər variantlara qısaca nəzər salacağam ki, onları dibinə qədər tənqid edim və seçimimi izah edim.

  1. BgInfo, Masaüstü Məlumat və buna bənzər. Pul çoxdursa, pullu da var. Məsələ ondadır ki, iş masasında texniki məlumatlar göstərilir: maşının adı, IP ünvanı, giriş və s. Desktop Info-da siz hətta performans qrafiklərini ekranın yarısına sıxa bilərsiniz.
    Mənim bəyənmədiyim odur ki, eyni Bginfo üçün, məsələn, istifadəçi lazımi məlumatları görmək üçün pəncərələri minimuma endirməlidir. Mən və həmkarlarım BgInfo-da dəfələrlə müşahidə etmişik xarakterik artefaktdır, köhnə mətnin üstündə yeni mətn göstərildikdə.
    Adminlərin iş masasında uzanmış pişiyin üzünə qorxulu 192.168.0.123 çəkməsi bəzi istifadəçiləri qıcıqlandırır, fon şəklinin estetikasını korlayır və təbii ki, bu, olduqca həvəsdən salır və iş ruhunu tamamilə öldürür. .
  2. "Mən kiməm" etiketi (sonda sual işarəsi əlavə etməyə çalışmayın :). İş masasındakı klassik qısa yol, arxasında səliqəli və ya o qədər də səliqəli olmayan bir skripti gizlədir və lazımi məlumatları informasiya qutusu şəklində göstərir. Bəzən qısa yol əvəzinə skriptin özünü iş masasına qoyurlar, bu IMHO pis davranışdır.
    Dezavantaj odur ki, qısayolu işə salmaq üçün, birinci halda olduğu kimi, bütün açıq pəncərələri minimuma endirməlisiniz (iş maşınında yeganə solitaire pəncərəsi açıq olan bəxt sevgililərini nəzərə almırıq). Yeri gəlmişkən, istifadəçiləriniz bütün pəncərələri minimuma endirmək üçün hara klikləməyi bilirlərmi? Düzdü, adminin gözündə barmaq.

Qapaq eyni zamanda yuxarıda təsvir edilən hər iki metodun əsas çatışmazlığının istifadəçinin kor, axmaq və ya yalan danışan məlumat əldə etməkdə iştirak etməsi olduğunu göstərir.
Hər kəs Windows-da maşınının adını harada axtaracağını bildiyi halda, kompüter savadını artırmaq variantını nəzərdən keçirməyəcəyəm: bu nəcib bir işdir, lakin çox çətindir. Şirkətdə kadr dəyişikliyi varsa, bu, tamamilə bərbaddır. Nə deyə bilərəm, əksər hallarda girişlərini belə xatırlamırlar.

Ruhumu tökdüm və indi mətləbə.
Xabrov sakininin ideyası əsas götürüldü Mittel haqqında bu yazı.
İdeyanın mahiyyəti ondan ibarətdir ki, istifadəçi Windows-a daxil olduqda, giriş skripti istifadəçi hesabının müəyyən atributuna lazımi məlumatları (vaxt və maşın adı) daxil edir. Və sistemdən çıxdığınız zaman oxşar çıxış skripti icra olunur.

İdeyanın özü xoşuma gəldi, amma həyata keçirilməsində razı qalmadığım bəzi məqamlar oldu.

  1. İstifadəçilər üçün giriş və çıxış skriptlərini təyin edən qrup siyasəti bütün domenə aiddir, beləliklə skriptlər istifadəçilərin daxil olduğu istənilən maşında işləyəcək. İş stansiyaları ilə birlikdə terminal həllərindən istifadə etsəniz (məsələn, Microsoft RDS və ya Citrix məhsulları), bu yanaşma əlverişsiz olacaq.
  2. Məlumatlar istifadəçi hesabının Departament atributuna daxil edilir, orta istifadəçinin yalnız oxumaq üçün girişi var. İstifadəçi hesabı atributuna əlavə olaraq, skript kompüter hesabının Departament atributuna da dəyişikliklər edir ki, bu da standart olaraq istifadəçilər tərəfindən dəyişdirilə bilməz. Buna görə də, həllin işləməsi üçün müəllif AD obyektləri üçün təhlükəsizlik parametrləri standartlarının dəyişdirilməsini təklif edir.
  3. Tarix formatı hədəf maşındakı lokallaşdırma parametrlərindən asılıdır, ona görə də bir maşından 10 noyabr 2018-ci il saat 14:53, digərindən isə 11/10/18 saat 2:53 ala bilərik.

Bu nöqsanların aradan qaldırılması üçün aşağıdakı işlər görülmüşdür.

  1. GPO bir domenlə deyil, maşınları olan OU ilə əlaqələndirilir (mən istifadəçiləri və maşınları müxtəlif OU-lara ayırıram və başqalarına məsləhət verirəm). Üstəlik, üçün geri dönmə siyasətinin işlənməsi rejimi rejimi qurulub qatışmaq.
  2. Skript yalnız atributdakı istifadəçi hesabına məlumat yazacaq Məlumat, istifadəçi öz hesabı üçün müstəqil olaraq dəyişə bilər.
  3. Atribut dəyərini yaradan kod parçası dəyişdirildi

İndi skriptlər belə görünür:
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

Logon və Logoff skriptləri arasındakı bütün fərqləri ilk tapan şəxs karma üçün bir artı əldə edəcək. 🙂
Həmçinin, vizual məlumat əldə etmək üçün aşağıdakı kiçik PS skripti yaradılmışdır:
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

Ümumilikdə hər şey bir-iki-üç konfiqurasiya edilmişdir:

  1. lazımi parametrləri olan GPO yaradın və onu istifadəçi iş stansiyaları ilə şöbə ilə əlaqələndirin:
    Windows: kimin harada daxil olduğunu öyrənin
  2. gedək çay içək (əgər AD-nin çoxlu istifadəçisi varsa, o zaman çoxlu çay lazımdır :)
  3. PS skriptini işə salın və nəticəni əldə edin:
    Windows: kimin harada daxil olduğunu öyrənin
    Pəncərənin yuxarı hissəsində bir və ya bir neçə sahənin dəyərlərinə əsaslanaraq məlumatları seçə biləcəyiniz rahat bir filtr var. Cədvəl sütunlarına klikləməklə qeydlər müvafiq sahələrin dəyərlərinə görə sıralanır.

Biz öz həllimizi gözəl şəkildə “paketləyə” bilərik.
Windows: kimin harada daxil olduğunu öyrənin
Bunu etmək üçün "obyekt" sahəsində buna bənzər bir şeyə sahib olan texniki dəstək mütəxəssisləri üçün skripti işə salmaq üçün qısayol əlavə edəcəyik:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Bir çox texniki dəstək işçisi varsa, istifadə edərək qısa yol paylaya bilərsiniz FƏRQ ETMƏZ.

Bir neçə son şərh.

  • PowerShell üçün Active Directory modulu PS skriptinin işə salındığı maşında quraşdırılmalıdır (bunun üçün sadəcə Windows komponentlərinə AD idarəetmə alətlərini əlavə edin).
  • Varsayılan olaraq, istifadəçi hesabının atributlarının əksəriyyətini redaktə edə bilməz. Bundan başqa bir atributdan istifadə etmək qərarına gəlsəniz, bunu unutmayın Məlumat.
  • Hansı atributdan istifadə edəcəyinizi bütün məşğul olan həmkarlarınıza bildirin. Məsələn, eyni Məlumat Exchange Server admin panelində istifadəçinin poçt qutusuna interaktiv qeydlər əlavə etmək üçün istifadə olunur və kimsə asanlıqla onun üzərinə yaza bilər və ya əlavə etdiyi məlumat skriptiniz tərəfindən üzərinə yazıldıqda kədərlənə bilər.
  • Əgər birdən çox Active Directory saytınız varsa, replikasiya gecikmələrinə icazə verin. Məsələn, AD saytından A istifadəçiləri haqqında ən son məlumat almaq və skripti AD B saytından maşından işə salmaq istəyirsinizsə, bunu edə bilərsiniz:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait

    DCfromSiteA — A saytının domen nəzarətçisinin adı (standart olaraq Get-AdUser cmdleti ən yaxın domen nəzarətçisinə qoşulur)

Windows: kimin harada daxil olduğunu öyrənin

Şəkil mənbəyi

Aşağıdakı qısa sorğuda iştirak etsəniz minnətdar olaram.

Sorğuda yalnız qeydiyyatdan keçmiş istifadəçilər iştirak edə bilər. Daxil olunxahiş edirəm.

Nə istifadə edirsiniz?

  • bginfo, Desktop məlumatı və s. (pulsuz proqram)

  • bginfo-nun ödənişli analoqları

  • Mən bunu məqalədəki kimi edəcəyəm

  • aidiyyəti yoxdur, çünki Mən VDI/RDS və s. istifadə edirəm.

  • Hələ heç nə istifadə etmirəm, amma bu barədə düşünürəm

  • Mənə belə məlumat toplamaq lazım deyil

  • digər (şərhlərdə paylaşın)

112 istifadəçi səs verib. 39 istifadəçi bitərəf qalıb.

Mənbə: www.habr.com

Добавить комментарий