Windows: ким кайда киргенин билиңиз

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

Эгерде сизде la 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.

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

  • PowerShell үчүн Active Directory модулу PS скрипти ишке киргизилген машинага орнотулушу керек (бул үчүн Windows компоненттерине AD башкаруу куралдарын кошуңуз).
  • Демейки боюнча, колдонуучу өзүнүн аккаунтунун атрибуттарынын көбүн түзөтө албайт. Эгерде сиз башка атрибутту колдонууну чечсеңиз, муну эстен чыгарбаңыз маалымат.
  • Кайсы атрибутту колдоно турганыңызды бардык тартылган кесиптештериңизге билдириңиз. Мисалы, ошол эле маалымат 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

Комментарий кошуу