Виндовс: сазнајте ко је где пријављен

Виндовс: сазнајте ко је где пријављен
- Ох, ништа ми не иде, упомоћ!
- Не брини, сада ћемо све поправити. Дајте име свог рачунара...
(класика жанра од позива до техничке подршке)

Добро је ако имате алатку а ла БгИнфо или ваши корисници знају за Виндовс+Паусе/Бреак пречицу и знају како да је притисну. Постоје чак и ретки примерци који су успели да науче име свог аутомобила. Али често позивалац, поред свог главног проблема, има и други: сазнање имена/ИП адресе рачунара. И често је потребно много више времена да се реши овај други проблем него први (а требало је само да промените позадину или вратите пречицу која недостаје :).
Али много је лепше чути нешто попут:
- Татјана Сергејевна, не брините, већ се повезујем...


И не треба вам много за ово.
Специјалиста за техничку подршку треба само да запамти називе машина и запамти ко за шта ради.
Пре него што опишем решење које тренутно користимо, укратко ћу се осврнути на друге опције да бих могао да их критикујем до краја и објасним свој избор.

  1. БгИнфо, Десктоп Инфо и слично. Ако има много новца, има и плаћених. Поента је да се на радној површини приказују техничке информације: назив машине, ИП адреса, пријава итд. У информацијама о радној површини можете чак и да стиснете графиконе перформанси на половину екрана.
    Оно што ми се не свиђа је то што за исти Бгинфо, на пример, корисник треба да минимизира прозоре да би видео потребне податке. Моје колеге и ја смо такође посматрали више пута на БгИнфо карактеристичан артефакт, када се нови текст прикаже на врху старог.
    Неке кориснике нервира чињеница да администратори цртају застрашујући 192.168.0.123 на лицу мачке испружене на радној површини, кварећи естетику позадинске слике, и, наравно, то је страшно демотивишуће и потпуно убија радни дух .
  2. Ознака а ла „Ко сам ја“ (не покушавајте да јој додате знак питања на крају :). Класична пречица на радној површини, иза које се крије уредна или не тако уредна скрипта која приказује потребне информације у виду дијалошког оквира. Понекад уместо пречице стављају саму скрипту на радну површину, што је ИМХО лоше понашање.
    Недостатак је што да бисте покренули пречицу, као у првом случају, морате минимизирати све отворене прозоре (не узимамо у обзир оне љубимце среће који имају отворен једини прозор пасијанса на својој радној машини). Успут, да ли ваши корисници знају где да кликну да би минимизирали све прозоре? Тако је, прст у око администратора.

Ограничење такође сугерише да обе горе описане методе имају главни недостатак што је корисник укључен у добијање информација, који може бити слеп, глуп или чак лагати.
Нећу разматрати опцију повећања компјутерске писмености, када сви знају где у Виндовс-у да траже име своје машине: то је племенит циљ, али веома тежак. А ако компанија има флуктуацију особља, онда је то потпуно погубно. Шта да кажем, у већини случајева се ни не сећају своје пријаве.

Излио сам душу, а сада на ствар.
За основу је узета идеја о становнику Кхаброва средњи од овај чланак.
Суштина идеје је да када се корисник пријави на Виндовс, скрипта за пријаву уноси потребне информације (време и назив машине) у одређени атрибут корисничког налога. А када се одјавите са система, извршава се слична скрипта за одјаву.

Сама идеја ми се допала, али било је ствари са којима нисам био задовољан у имплементацији.

  1. Политика групе, која одређује скрипте за пријављивање и одјављивање за кориснике, примењује се на цео домен, тако да ће се скрипте покретати на било којој машини на коју се корисници пријављују. Ако користите терминалска решења заједно са радним станицама (на пример, Мицрософт РДС или Цитрик производи), овај приступ ће бити незгодан.
  2. Подаци се уносе у атрибут Одељења корисничког налога, коме обичан корисник има приступ само за читање. Поред атрибута корисничког налога, скрипта мења и атрибут Одељења на налогу рачунара, који ни по подразумеваној вредности корисници не могу да мењају. Стога, да би решење функционисало, аутор предлаже промену стандарда безбедносних подешавања за АД објекте.
  3. Формат датума зависи од подешавања локализације на циљној машини, тако да са једне машине можемо добити 10. новембар 2018. 14:53, а са друге 11. 10:18.

Да би се ови недостаци отклонили, урађено је следеће.

  1. ГПО није повезан са доменом, већ са ОУ са машинама (одвајам кориснике и машине у различите ОУ и саветујем друге). Штавише, за режим обраде политике повратне петље режим је подешен стопити.
  2. Скрипта ће само уписати податке на кориснички налог у атрибут инфо, који корисник може да промени самостално за свој налог.
  3. Промењен је део кода који генерише вредност атрибута

Сада скрипте изгледају овако:
СавеЛогонИнфоТоАдУсерАттриб.вбс

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

СавеЛогоффИнфоТоАдУсерАттриб.вбс

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

Ко први открије све разлике између Логон и Логофф скрипти добиће плус за карму. 🙂
Такође, за добијање визуелних информација, направљена је следећа мала ПС скрипта:
Гет-УсерсБиПЦсИнфо.пс1

$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. креирајте ГПО са потребним подешавањима и повежите га са одељењем са корисничким радним станицама:
    Виндовс: сазнајте ко је где пријављен
  2. идемо на чај (ако АД има велики број корисника онда ти треба пуно чаја :)
  3. покрените ПС скрипту и добијте резултат:
    Виндовс: сазнајте ко је где пријављен
    На врху прозора налази се згодан филтер у којем можете одабрати податке на основу вредности једног или више поља. Кликом на колоне табеле сортира се записе према вредностима одговарајућих поља.

Можемо лепо „упаковати“ наше решење.
Виндовс: сазнајте ко је где пријављен
Да бисмо то урадили, додаћемо пречицу за покретање скрипте за стручњаке за техничку подршку, који ће имати нешто овако у пољу „објекат“:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Ако има много запослених у техничкој подршци, можете дистрибуирати пречицу користећи ГПП.

Неколико завршних коментара.

  • Модул Ацтиве Дирецтори за ПоверСхелл мора бити инсталиран на машини са које се покреће ПС скрипта (да бисте то урадили, само додајте алате за администрацију АД у Виндовс компоненте).
  • Подразумевано, корисник не може да уређује већину атрибута свог налога. Имајте ово на уму ако одлучите да користите атрибут који није инфо.
  • Обавестите све укључене колеге који атрибут ћете користити. На пример, исто инфо се користи за интерактивно додавање белешки у поштанско сандуче корисника у администраторској табли Екцханге сервера и неко може лако да је препише или да се растужи када информације које су додали замени ваша скрипта.
  • Ако имате више локација Ацтиве Дирецтори-а, дозволите кашњење у репликацији. На пример, ако желите да добијете ажуриране информације о корисницима са АД локације А и покренете скрипту са машине са АД локације Б, можете да урадите ово:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait

    ДЦфромСитеА — назив контролора домена сајта А (подразумевано, цмдлет Гет-АдУсер се повезује са најближим контролером домена)

Виндовс: сазнајте ко је где пријављен

Извор слике

Био бих вам захвалан ако бисте могли да попуните кратку анкету у наставку.

Само регистровани корисници могу учествовати у анкети. Пријавите се, Добродошао си.

Шта користите?

  • бгинфо, информације о радној површини итд. (бесплатно)

  • плаћени аналози бгинфо

  • Урадићу то као у чланку

  • није релевантно, јер Користим ВДИ/РДС итд.

  • Још ништа не користим, али размишљам о томе

  • Не морам да прикупљам такве податке

  • друго (поделите у коментарима)

Гласало је 112 корисника. Уздржано је било 39 корисника.

Извор: ввв.хабр.цом

Додај коментар