WindowsКим кайсы жерден киргенин билип алыңыз

WindowsКим кайсы жерден киргенин билип алыңыз
- Ой, мага эч нерсе иштебейт, жардам бер!
- Кабатыр болбо, азыр баарын оңдойбуз. Компьютериңиздин атын бериңиз...
(чалуулардан техникалык колдоого чейин жанрдын классикасы)

Эгер сизде BgInfo сыяктуу курал болсо же колдонуучуларыңыз жарлык жөнүндө билишсе жакшы Windows+Тыным/Тыныгуу баскычтарын басып, аны кантип басууну билиңиз. Ал тургай, компьютеринин атын үйрөнгөн сейрек адамдар да бар. Бирок көп учурда чалуучунун негизги көйгөйүнөн тышкары, экинчи көйгөйү бар: компьютердин атын же IP дарегин табуу. Көп учурда бул экинчи көйгөйдү чечүү биринчисине караганда алда канча көп убакытты талап кылат (жана аларга обоиду алмаштыруу же жок болгон жарлыкты калыбына келтирүү гана керек болчу :).
Бирок төмөнкүдөй нерсени угуу алда канча жагымдуу:
- Татьяна Сергеевна, кабатыр болбоңуз, мен кошулуп жатам...


Жана бул үчүн көп нерсенин кереги жок.
Техникалык колдоо боюнча адис машиналардын атын жаттап, ким кайсы үчүн иштегенин эстеп калуусу керек.
Учурда биз колдонуп жаткан чечимди сүрөттөөдөн мурун, мен башка варианттарды кыскача карап чыгам, ошондуктан мен аларды сындап, тандоомду түшүндүрөм.

  1. BgInfo, Иш такта маалыматы жана ушул сыяктуулар. Акча көп болсо, акчасы бар. Кеп техникалык маалымат иш тактасында көрсөтүлөт: машинанын аты, IP дареги, логин ж.б. Иш такта маалыматында сиз атүгүл экрандын жарымына аткаруу графиктерин кысып аласыз.
    Мага жаккан жок, ошол эле Bginfo үчүн, мисалы, колдонуучу керектүү маалыматтарды көрүү үчүн терезелерди азайтышы керек. Мен жана менин кесиптештерим дагы BgInfoдо бир нече жолу байкадык мүнөздүү артефакт, жаңы текст эскинин үстүндө көрсөтүлгөндө.
    Кээ бир колдонуучуларды админдердин 192.168.0.123 дегенди иш столуна чоюлган мышыктын бетине сызып, фондун эстетикасын бузуп жатканы кыжырдантат жана, албетте, бул абдан мотивация жана жумуштун рухун толугу менен өлтүрөт. .
  2. "Мен киммин" деген белги (аягында суроо белгисин кошууга аракет кылбаңыз :). Иш тактасындагы классикалык жарлык, анын артында тыкан же анчалык тыкан эмес скрипт жашырылган, ал диалог кутучасы түрүндө керектүү маалыматты көрсөтөт. Кээде жарлыктын ордуна скрипттин өзүн иш тактасына коюшат, бул IMHO жаман адеп.
    Кемчилиги - жарлыкты ишке киргизүү үчүн, биринчи учурдагыдай, бардык ачык терезелерди кичирейтүү керек (иш машинасында жалгыз солитер терезеси ачылган байлыктын сүйүктүүлөрүн эске албайбыз). Баса, колдонуучуларыңыз бардык терезелерди кичирейтүү үчүн кайда басууну билишеби? Туура, админдин көзүнө бармак.

Капкак, ошондой эле жогоруда сүрөттөлгөн эки ыкманын тең негизги кемчилиги бар, бул колдонуучу сокур, келесоо, ал тургай калп да болушу мүмкүн болгон маалыматты алууга катышкандыгын көрсөтүп турат.
Компьютердик сабаттуулукту жогорулатуу мүмкүнчүлүгү, анда баары кайда экенин билишет Windows Мен сиздин машинаңыздын атын текшерүүнү ойлонбойм да: бул асыл иш, бирок абдан кыйын. Эгерде компанияда кызматкерлердин алмашуусу көп болсо, анда бул таптакыр үмүтсүз. Эмне деп айта алам, көпчүлүк учурларда алар өздөрүнүн логинин эстей да алышпайт.

Мен өзүмдүн жан дүйнөмдү төктү, эми сөзгө.
Khabrov жашоочусу идеясы негиз катары алынган Антийлер чейин бул макалада.
Идея, колдонуучу киргенде Windows Кирүү скрипти колдонуучунун аккаунтунун белгилүү бир атрибутуна керектүү маалыматты (убакыт жана машинанын аталышы) киргизет. Колдонуучу чыкканда ушул сыяктуу чыгуу скрипти аткарылат.

Идеянын өзү мага жакты, бирок ишке ашырууда мага жакпаган нерселер болду.

  1. Колдонуучулар үчүн кирүү жана чыгуу скрипттерин белгилеген топ саясаты бүт доменге колдонулат, андыктан скрипттер колдонуучулар кирген каалаган машинада иштейт. Эгерде сиз терминалдык чечимдерди жумушчу станциялар менен бирге колдонсоңуз (мисалы, Microsoft RDS же Citrix продуктылары), бул ыкма ыңгайсыз болот.
  2. Маалыматтар колдонуучу каттоо эсебинин Бөлүм атрибутуна киргизилет, ага орточо колдонуучу окуу үчүн гана кире алат. Колдонуучунун аккаунтунун атрибутунан тышкары, скрипт компьютердик эсептин Бөлүм атрибутуна да өзгөртүүлөрдү киргизет, демейки боюнча колдонуучулар да өзгөртө албайт. Ошондуктан, чечим иштеши үчүн, автор AD объектилери үчүн коопсуздук орнотууларынын стандарттарын өзгөртүүнү сунуштайт.
  3. Дата форматы максаттуу машинадагы локалдаштыруу жөндөөлөрүнө жараша болот, андыктан бир машинадан 10-жылдын 2018-ноябрында 14:53, экинчисинен 11 10:18 ала алабыз.

Бул кемчиликтерди четтетуу учун темендегулер аткарылды.

  1. GPO доменге эмес, машиналары бар OU менен байланышкан (мен колдонуучуларды жана машиналарды ар кандай OUлерге бөлүп, башкаларга кеңеш берем). Мындан тышкары, үчүн кайра саясат иштетүү режими режими коюлган кошулуу.
  2. Скрипт атрибуттагы колдонуучунун эсебине гана маалыматтарды жазат маалымат, аны колдонуучу өз аккаунту үчүн өз алдынча өзгөртө алат.
  3. Атрибут маанисин түзгөн коддун бөлүгү өзгөртүлдү

Эми скрипттер төмөнкүдөй көрүнөт:
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 жана Logoff скрипттеринин ортосундагы бардык айырмачылыктарды ким биринчи тапса, карма үчүн плюс алат. 🙂
Ошондой эле, визуалдык маалыматты алуу үчүн, төмөнкү кичинекей 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

Жалпысынан, баары бир-эки-үч конфигурацияланган:

  1. керектүү орнотуулар менен GPO түзүү жана колдонуучу иш бекеттери менен бөлүмгө аны байланыштырат:
    WindowsКим кайсы жерден киргенин билип алыңыз
  2. чай ичели (эгерде AD колдонуучулардын саны көп болсо, анда сизге көп чай керек :)
  3. PS скриптин иштетип, натыйжаны алыңыз:
    WindowsКим кайсы жерден киргенин билип алыңыз
    Терезенин жогору жагында бир же бир нече талаалардын маанилеринин негизинде маалыматтарды тандай турган ыңгайлуу чыпка бар. Таблица мамычаларды чыкылдатуу жазууларды тиешелүү талаалардын маанилери боюнча сорттойт.

Биз чечимибизди кооз "пакет" кыла алабыз.
WindowsКим кайсы жерден киргенин билип алыңыз
Бул үчүн, биз "объект" талаасында ушул сыяктуу нерсеге ээ болгон техникалык колдоо адистери үчүн сценарийди ишке киргизүү үчүн жарлык кошобуз:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Техникалык колдоо кызматкерлери көп болсо, сиз жарлыкты колдонуп тарата аласыз GPP.

Бир нече акыркы комментарийлер.

  • PS скрипти иштетилген машинада PowerShell үчүн Active Directory модулу орнотулган болушу керек (бул үчүн жөн гана компоненттерге AD башкаруу куралдарын кошуңуз) Windows).
  • Демейки боюнча, колдонуучу өзүнүн аккаунтунун атрибуттарынын көбүн түзөтө албайт. Эгерде сиз башка атрибутту колдонууну чечсеңиз, муну эстен чыгарбаңыз маалымат.
  • Кайсы атрибутту колдоно турганыңызды бардык тартылган кесиптештериңизге билдириңиз. Мисалы, ошол эле маалымат Exchange Server администратор панелинде колдонуучунун почта ящигине эскертүүлөрдү интерактивдүү кошуу үчүн колдонулат жана кимдир бирөө аны оңой эле кайра жаза алат же алар кошкон маалымат скриптиңиздин үстүнө жазылганда капа болот.
  • Эгер сизде бир нече Active Directory сайттары болсо, анда репликациянын кечигүүсүнө жол бериңиз. Мисалы, эгер сиз AD сайтынын А колдонуучулары жөнүндө акыркы маалыматты алууну кааласаңыз жана AD сайтындагы B машинасынан скриптти иштеткиңиз келсе, муну жасай аласыз:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait

    DCfromSiteA — А сайтынын домен контролеринин аты (демейки боюнча Get-AdUser командлети жакынкы домен контроллерине туташат)

WindowsКим кайсы жерден киргенин билип алыңыз

Сүрөт булагы

Төмөнкү кыска сурамжылоого катышсаңыз, мен ыраазы болмокмун.

Сурамжылоого катталган колдонуучулар гана катыша алышат. Кирүү, өтүнөмүн.

Сиз эмне колдоносуз?

  • bginfo, Иш такта маалыматы ж.б. (акысыз программа)

  • bginfo төлөнүүчү аналогдору

  • Мен муну макаладагыдай кылам

  • тиешеси жок, анткени Мен VDI/RDS ж.б. колдоном.

  • Азырынча эч нерсе колдонбойм, бирок ойлонуп жатам

  • Мага мындай маалыматтарды чогултуунун кереги жок

  • башка (комментарийлерде бөлүшүү)

112 колдонуучу добуш берди. 39 колдонуучу добуш берүүдөн баш тартты.

Source: www.habr.com

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster