Windows: uzziniet, kurÅ” kur ir pieteicies

Windows: uzziniet, kurÅ” kur ir pieteicies
- Ak, man nekas nelīdz, palīdziet!
- Neuztraucieties, mēs tagad visu izlabosim. Dodiet sava datora nosaukumu...
(žanra klasika no zvaniem līdz tehniskajam atbalstam)

Ir labi, ja jums ir rÄ«ks a la BgInfo vai lietotāji zina par Windows+Pause/Break saÄ«sni un zina, kā to nospiest. Ir pat reti eksemplāri, kuriem izdevies uzzināt sava auto nosaukumu. Taču nereti zvanÄ«tājam papildus savai galvenajai problēmai ir arÄ« otra: datora vārda/IP adreses noskaidroÅ”ana. Un bieži vien Ŕīs otrās problēmas atrisināŔana prasa daudz vairāk laika nekā pirmā (un jums vienkārÅ”i vajadzēja nomainÄ«t fona attēlu vai atgriezt trÅ«kstoÅ”o saÄ«sni :).
Bet ir daudz patīkamāk dzirdēt kaut ko līdzīgu:
- Tatjana Sergejevna, neuztraucieties, es jau izveidoju savienojumu ...


Un Ŕim jums nav nepiecieŔams daudz.
Tehniskā atbalsta speciālistam atliek tikai iegaumēt maŔīnu nosaukumus un atcerēties, kurÅ” kuram strādā.
Pirms Å”obrÄ«d lietojamā risinājuma aprakstÄ«Å”anas Ä«sumā apskatÄ«Å”u citus variantus, lai varētu tos kritizēt lÄ«dz galam un izskaidrot savu izvēli.

  1. BgInfo, Informācija par darbvirsmu un tamlÄ«dzÄ«gi. Ja ir daudz naudas, tad ir arÄ« maksas. Lieta tāda, ka uz darbvirsmas tiek parādÄ«ta tehniskā informācija: maŔīnas nosaukums, IP adrese, pieteikÅ”anās u.c. Darbvirsmas informācijā varat pat izspiest veiktspējas diagrammas uz pusi ekrāna.
    Man nepatÄ«k, ka, piemēram, tam paÅ”am Bginfo lietotājam ir jāsamazina logi, lai redzētu nepiecieÅ”amos datus. ArÄ« mēs ar kolēģiem ne reizi vien esam novērojuÅ”i BgInfo raksturÄ«gs artefakts, kad jauns teksts tiek parādÄ«ts virs vecā.
    Dažus lietotājus kaitina fakts, ka administratori uz darbvirsmas izstiepta kaÄ·a sejas uzzÄ«mē biedējoÅ”u 192.168.0.123, sabojājot fona attēla estētiku, un, protams, tas ir Å”ausmÄ«gi demotivējoÅ”i un pilnÄ«bā nogalina darba garu. .
  2. EtiÄ·ete a la ā€œKas es esmuā€ (nemēģiniet pievienot jautājuma zÄ«mi beigās :). Klasisks Ä«sceļŔ uz darbvirsmas, aiz kura slēpjas glÄ«ts vai ne tik veikls skripts, kas parāda nepiecieÅ”amo informāciju dialoglodziņa veidā. Dažreiz Ä«sceļa vietā viņi uz darbvirsmas ievieto paÅ”u skriptu, kas IMHO ir sliktas manieres.
    TrÅ«kums ir tāds, ka, lai palaistu saÄ«sni, tāpat kā pirmajā gadÄ«jumā, ir jāsamazina visi atvērtie logi (mēs neņemam vērā tos laimes mÄ«luļus, kuriem ir atvērts vienÄ«gais solitāra logs savā darba maŔīnā). Starp citu, vai jÅ«su lietotāji zina, kur noklikŔķināt, lai samazinātu visus logus? Pareizi, pirksts adminam acÄ«s.

VāciņŔ arÄ« liek domāt, ka abām iepriekÅ” aprakstÄ«tajām metodēm ir galvenais trÅ«kums, ka informācijas iegÅ«Å”anā ir iesaistÄ«ts lietotājs, kurÅ” var bÅ«t akls, stulbs vai pat melot.
Es neapsvērÅ”u iespēju palielināt datorprasmi, kad visi zina, kur sistēmā Windows meklēt savas maŔīnas nosaukumu: tas ir cēls mērÄ·is, bet ļoti sarežģīts. Un, ja uzņēmumam ir darbinieku mainÄ«ba, tad tas ir pilnÄ«gi postoÅ”s. Ko es varu teikt, vairumā gadÄ«jumu viņi pat neatceras savu pieteikÅ”anos.

Es izlēju savu dvēseli, un tagad pie lietas.
Par pamatu tika ņemta Habrovas iedzÄ«votāja ideja Mittel no no Ŕī raksta.
Idejas bÅ«tÄ«ba ir tāda, ka, lietotājam piesakoties sistēmā Windows, pieteikÅ”anās skripts ievada nepiecieÅ”amo informāciju (laiku un maŔīnas nosaukumu) noteiktā lietotāja konta atribÅ«tā. Un, kad jÅ«s izrakstāties no sistēmas, tiek izpildÄ«ts lÄ«dzÄ«gs atteikÅ”anās skripts.

Man patika pati ideja, taču bija dažas lietas, ar kurām es nebiju apmierināts.

  1. Grupas politika, kas nosaka lietotāju pieteikÅ”anās un atteikÅ”anās skriptus, attiecas uz visu domēnu, tāpēc skripti darbosies jebkurā datorā, kurā lietotāji piesakās. Ja kopā ar darbstacijām izmantojat termināļa risinājumus (piemēram, Microsoft RDS vai Citrix produktus), Ŕī pieeja bÅ«s neērta.
  2. Dati tiek ievadÄ«ti lietotāja konta atribÅ«tā Departaments, kuram vidusmēra lietotājam ir tikai lasÄ«Å”anas piekļuve. Papildus lietotāja konta atribÅ«tam skripts veic izmaiņas arÄ« datora konta atribÅ«tā Department, ko lietotāji arÄ« pēc noklusējuma nevar mainÄ«t. Tāpēc, lai risinājums darbotos, autore iesaka mainÄ«t AD objektu droŔības iestatÄ«jumu standartus.
  3. Datuma formāts ir atkarÄ«gs no lokalizācijas iestatÄ«jumiem mērÄ·a maŔīnā, tāpēc no vienas maŔīnas mēs varam iegÅ«t 10. gada 2018. novembri 14:53, bet no citas 11/10/18 2:53.

Lai novērstu Å”os trÅ«kumus, tika veikts sekojoÅ”ais.

  1. GPO ir saistÄ«ts nevis ar domēnu, bet gan ar OU ar maŔīnām (es sadalu lietotājus un maŔīnas dažādos OU un konsultēju citus). Turklāt par cilpas politikas apstrādes režīms režīms ir iestatÄ«ts apvienot.
  2. Skripts atribūtā ierakstīs datus tikai lietotāja kontam Info, ko lietotājs var patstāvīgi mainīt savam kontam.
  3. Mainīts koda fragments, kas ģenerē atribūta vērtību

Tagad skripti izskatās Ŕādi:
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

Tas, kurÅ” pirmais atradÄ«s visas atŔķirÄ«bas starp Logon un Logoff skriptiem, iegÅ«s plusu par karmu. šŸ™‚
Tāpat, lai iegūtu vizuālu informāciju, tika izveidots Ŕāds neliels PS skripts:
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

Kopumā viss ir konfigurēts viens-divi-trīs:

  1. izveidojiet GPO ar nepiecieŔamajiem iestatījumiem un saistiet to ar nodaļu ar lietotāju darbstacijām:
    Windows: uzziniet, kurÅ” kur ir pieteicies
  2. ejam iedzert tēju (ja AD ir liels lietotāju skaits, tad vajag daudz tējas :)
  3. palaidiet PS skriptu un iegūstiet rezultātu:
    Windows: uzziniet, kurÅ” kur ir pieteicies
    Loga augÅ”daļā ir ērts filtrs, kurā varat atlasÄ«t datus, pamatojoties uz viena vai vairāku lauku vērtÄ«bām. NoklikŔķinot uz tabulas kolonnām, ieraksti tiek sakārtoti pēc atbilstoÅ”o lauku vērtÄ«bām.

Mēs varam skaisti ā€œiepakotā€ savu risinājumu.
Windows: uzziniet, kurÅ” kur ir pieteicies
Lai to izdarÄ«tu, mēs pievienosim saÄ«sni, lai palaistu skriptu tehniskā atbalsta speciālistiem, kuriem laukā ā€œobjektsā€ bÅ«s kaut kas lÄ«dzÄ«gs Å”im:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"

Ja ir daudz tehniskā atbalsta darbinieku, varat izplatÄ«t saÄ«sni, izmantojot TAM NAV SVARÄŖGI.

Daži nobeiguma komentāri.

  • PowerShell Active Directory modulis ir jāinstalē datorā, no kura tiek palaists PS skripts (lai to izdarÄ«tu, Windows komponentos vienkārÅ”i pievienojiet AD administrÄ“Å”anas rÄ«kus).
  • Pēc noklusējuma lietotājs nevar rediģēt lielāko daļu sava konta atribÅ«tu. Paturiet to prātā, ja nolemjat izmantot citu atribÅ«tu, nevis Info.
  • Informējiet visus iesaistÄ«tos kolēģus, kuru atribÅ«tu izmantosit. Piemēram, tas pats Info tiek izmantots, lai interaktÄ«vi pievienotu piezÄ«mes lietotāja pastkastei Exchange Server administrÄ“Å”anas panelÄ«, un kāds to var viegli pārrakstÄ«t vai kļūt skumjÅ”, ja jÅ«su skripts pārraksta pievienoto informāciju.
  • Ja jums ir vairākas Active Directory vietnes, ņemiet vērā replikācijas aizkavi. Piemēram, ja vēlaties iegÅ«t jaunāko informāciju par lietotājiem no AD vietnes A un palaist skriptu no maŔīnas no AD vietnes B, varat rÄ«koties Ŕādi:
    Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Š˜Š½Ń„Š¾Ń€Š¼Š°Ń†Šøя ŠæŠ¾ Š»Š¾Š³Š¾Š½Š°Š¼" -Wait

    DC no vietnesA ā€” vietnes A domēna kontrollera nosaukums (pēc noklusējuma Get-AdUser cmdlet izveido savienojumu ar tuvāko domēna kontrolleri)

Windows: uzziniet, kurÅ” kur ir pieteicies

Attēla avots

BÅ«Å”u pateicÄ«gs, ja varētu aizpildÄ«t Ä«so aptauju.

Aptaujā var piedalīties tikai reģistrēti lietotāji. Ielogoties, lūdzu.

ko tu lieto?

  • bginfo, darbvirsmas informācija utt. (bezmaksas programmatÅ«ra)

  • maksas bginfo analogi

  • Es darÄ«Å”u tā, kā norādÄ«ts rakstā

  • nav aktuāli, jo Es izmantoju VDI/RDS utt.

  • Pagaidām neko nelietoju, bet domāju

  • Man Ŕādi dati nav jāvāc

  • cits (dalieties komentāros)

Nobalsoja 112 lietotāji. 39 lietotāji atturējās.

Avots: www.habr.com

Pievieno komentāru