-Օ՜, ինձ մոտ ոչինչ չի ստացվում, օգնիր։
- Մի անհանգստացեք, մենք հիմա ամեն ինչ կկարգավորենք: Տվեք ձեր համակարգչի անունը...
(ժանրի դասականներ՝ զանգերից մինչև տեխնիկական աջակցություն)
Լավ է, եթե դուք ունեք գործիք a la BgInfo կամ ձեր օգտատերերը գիտեն Windows+Pause/Break դյուրանցման մասին և գիտեն, թե ինչպես սեղմել այն: Կան նույնիսկ հազվագյուտ նմուշներ, որոնց հաջողվել է իմանալ իրենց մեքենայի անունը։ Բայց հաճախ, բացի իր հիմնական խնդրից, զանգահարողը երկրորդ խնդիրն ունի՝ պարզել համակարգչի անունը/IP հասցեն։ Եվ հաճախ այս երկրորդ խնդիրը լուծելու համար շատ ավելի շատ ժամանակ է պահանջվում, քան առաջինը (և ձեզ պարզապես անհրաժեշտ էր փոխել պաստառը կամ վերադարձնել բացակայող դյուրանցումը :):
Բայց շատ ավելի հաճելի է լսել նման բան.
- Տատյանա Սերգեևնա, մի անհանգստացեք, ես արդեն միանում եմ…
Եվ դրա համար ձեզ շատ բան պետք չէ:
Տեխնիկական աջակցության մասնագետը միայն պետք է անգիր հիշի մեքենաների անունները և հիշի, թե ով ում համար է աշխատում:
Մինչ այժմ կիրառվող լուծումը նկարագրելը, ես հակիրճ կանդրադառնամ այլ տարբերակներին, որպեսզի կարողանամ քննադատել դրանք մինչև վերջ և բացատրել իմ ընտրությունը:
BgInfo, Desktop Info և նմանները: Եթե փողը շատ է, կան վճարովի։ Բանն այն է, որ աշխատասեղանին ցուցադրվում են տեխնիկական տեղեկությունները` մեքենայի անվանումը, IP հասցեն, մուտքը և այլն: Desktop Info-ում դուք նույնիսկ կարող եք սեղմել կատարողականի գրաֆիկները էկրանի կեսին:
Ինձ դուր չի գալիս, որ նույն Bginfo-ի համար, օրինակ, օգտագործողը պետք է նվազագույնի հասցնի պատուհանները՝ անհրաժեշտ տվյալները տեսնելու համար: Ես և իմ գործընկերները նույնպես մեկ անգամ չէ, որ դիտել ենք BgInfo-ում բնորոշ արտեֆակտ, երբ նոր տեքստը ցուցադրվում է հինի վերևում:
Որոշ օգտատերերի նյարդայնացնում է այն փաստը, որ ադմինները աշխատասեղանին փռված կատվի դեմքին սարսափելի 192.168.0.123 նկարում են՝ փչացնելով ֆոնային պատկերի էսթետիկան, և, իհարկե, սա ահավոր դեմոտիվացնող է և ամբողջությամբ սպանում է աշխատանքային ոգին։ .
«Ո՞վ եմ ես» պիտակը (մի փորձեք վերջում հարցական նշան ավելացնել :): Դասական դյուրանցում աշխատասեղանի վրա, որի հետևում թաքնված է կոկիկ կամ ոչ այնքան կոկիկ սցենար, որը ցուցադրում է անհրաժեշտ տեղեկատվությունը երկխոսության տուփի տեսքով: Երբեմն, դյուրանցման փոխարեն, իրենք սկրիպտը դնում են աշխատասեղանի վրա, ինչը IMHO-ն վատ վարքագիծ է:
Թերությունն այն է, որ դյուրանցումը գործարկելու համար, ինչպես առաջին դեպքում, դուք պետք է նվազագույնի հասցնեք բոլոր բաց պատուհանները (մենք հաշվի չենք առնում այն բախտի սիրելիներին, ովքեր իրենց աշխատանքային մեքենայի վրա բացված են միակ մենակատարի պատուհանը): Ի դեպ, ձեր օգտատերերը գիտե՞ն, թե որտեղ պետք է սեղմել բոլոր պատուհանները նվազագույնի հասցնելու համար: Ճիշտ է, մատը ադմինի աչքին:
Գլխարկը նաև հուշում է, որ վերը նկարագրված երկու մեթոդներն էլ ունեն հիմնական թերությունը, որ օգտվողը ներգրավված է տեղեկատվության ստացման մեջ, որը կարող է լինել կույր, հիմար կամ նույնիսկ ստում:
Ես չեմ դիտարկի համակարգչային գրագիտության բարձրացման տարբերակը, երբ բոլորը գիտեն, թե Windows-ում որտեղ փնտրել իրենց մեքենայի անունը. դա ազնիվ գործ է, բայց շատ դժվար: Եվ եթե ընկերությունն ունի անձնակազմի շրջանառություն, ապա դա ամբողջովին կործանարար է: Ինչ կարող եմ ասել, շատ դեպքերում նրանք նույնիսկ չեն հիշում իրենց մուտքը:
Ես թափեցի իմ հոգին, և հիմա դեպի կետը:
Հիմք է ընդունվել խաբրովցու գաղափարը mittel - ից այս հոդվածը.
Գաղափարի էությունն այն է, որ երբ օգտատերը մուտք է գործում Windows, մուտքի սկրիպտը մուտքագրում է անհրաժեշտ տեղեկատվությունը (ժամանակի և մեքենայի անվանումը) օգտվողի հաշվի որոշակի հատկանիշի մեջ: Եվ երբ դուք դուրս եք գալիս համակարգից, նույնանման դուրսգրման սցենար է կատարվում:
Ինձ դուր եկավ գաղափարն ինքնին, բայց կային որոշ բաներ, որոնցից ես գոհ չէի իրականացման ընթացքում:
Խմբի քաղաքականությունը, որը սահմանում է օգտատերերի մուտքի և դուրս գալու սկրիպտները, կիրառվում է ողջ տիրույթի վրա, ուստի սկրիպտները կաշխատեն ցանկացած մեքենայի վրա, որտեղ օգտվողները մուտք են գործում: Եթե աշխատատեղերի հետ մեկտեղ օգտագործում եք տերմինալային լուծումներ (օրինակ՝ Microsoft RDS կամ Citrix արտադրանք), այս մոտեցումը անհարմար կլինի:
Տվյալները մուտքագրվում են օգտատիրոջ հաշվի «Department» հատկանիշում, որին սովորական օգտվողն ունի միայն կարդալու հասանելիություն: Բացի օգտվողի հաշվի հատկանիշից, սկրիպտը նաև փոփոխություններ է կատարում համակարգչային հաշվի Department հատկանիշում, որը, ըստ նախնականի, օգտվողները նույնպես չեն կարող փոխել: Ուստի, որպեսզի լուծումն աշխատի, հեղինակն առաջարկում է փոխել AD օբյեկտների անվտանգության կարգավորումների ստանդարտները։
Ամսաթվի ձևաչափը կախված է թիրախային մեքենայի վրա տեղայնացման կարգավորումներից, այնպես որ մի մեքենայից մենք կարող ենք ստանալ 10 թվականի նոյեմբերի 2018-ը 14:53, իսկ մյուսից՝ 11/10/18 2:53:
Այս թերությունները վերացնելու համար արվել է հետեւյալը.
GPO-ն կապված է ոչ թե տիրույթի, այլ մեքենաների հետ OU-ի հետ (ես բաժանում եմ օգտվողներին և մեքենաները տարբեր OU-ների և խորհուրդ եմ տալիս ուրիշներին): Ավելին, համար loopback քաղաքականության մշակման ռեժիմ ռեժիմը սահմանված է ընկղմել.
Սցենարը միայն տվյալներ կգրի ատրիբուտի մեջ օգտագործողի հաշվին Info, որը օգտատերը կարող է ինքնուրույն փոխել իր հաշվի համար։
Փոխվել է ատրիբուտի արժեքը ստեղծող կոդի հատվածը
Այժմ սցենարներն այսպիսի տեսք ունեն. 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
Ընդհանուր առմամբ, ամեն ինչ կազմաձևված է մեկ-երկու-երեք.
ստեղծեք GPO՝ անհրաժեշտ կարգավորումներով և այն կապեք բաժանմունքին օգտատերերի աշխատանքային կայաններով.
արի գնանք թեյ խմելու (եթե AD-ն ունի մեծ թվով օգտատերեր, ուրեմն քեզ շատ թեյ է պետք :)
գործարկեք PS սցենարը և ստացեք արդյունքը.
Պատուհանի վերևում կա հարմար ֆիլտր, որում կարող եք ընտրել տվյալներ՝ հիմնվելով մեկ կամ մի քանի դաշտերի արժեքների վրա: Սեղմելով աղյուսակի սյունակների վրա՝ տեսակավորում է գրառումները ըստ համապատասխան դաշտերի արժեքների:
Մենք կարող ենք գեղեցիկ «փաթեթավորել» մեր լուծումը:
Դա անելու համար մենք կավելացնենք դյուրանցում, որպեսզի գործարկենք սցենարը տեխնիկական աջակցության մասնագետների համար, ովքեր կունենան նման բան «օբյեկտ» դաշտում. powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"
Եթե կան շատ տեխնիկական աջակցության աշխատակիցներ, կարող եք տարածել դյուրանցում օգտագործելով GPP.
Մի քանի վերջնական մեկնաբանություն.
PowerShell-ի Active Directory մոդուլը պետք է տեղադրվի այն մեքենայի վրա, որտեղից գործարկվում է PS սկրիպտը (դա անելու համար պարզապես ավելացրեք AD կառավարման գործիքներ Windows-ի բաղադրիչներում):
Լռելյայնորեն, օգտվողը չի կարող խմբագրել իր հաշվի ատրիբուտների մեծ մասը: Հիշեք սա, եթե որոշեք օգտագործել այլ հատկանիշ, քան Info.
Տեղեկացրեք բոլոր ներգրավված գործընկերներին, թե որ հատկանիշն եք օգտագործելու: Օրինակ՝ նույնը Info օգտագործվում է ինտերակտիվ կերպով նշումներ ավելացնելու օգտվողի փոստարկղում Exchange Server-ի ադմինիստրատորի վահանակում, և ինչ-որ մեկը կարող է հեշտությամբ վերագրել այն կամ տխրել, երբ իրենց ավելացրած տեղեկատվությունը վերագրվում է ձեր սցենարով:
Եթե դուք ունեք մի քանի Active Directory կայքեր, ապա թույլ տվեք վերարտադրման ուշացումները: Օրինակ, եթե ցանկանում եք թարմ տեղեկություններ ստանալ AD կայքի A կայքի օգտատերերի մասին և գործարկել սցենարը AD B կայքի մեքենայից, կարող եք դա անել. Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait
DCfromSiteA — A կայքի տիրույթի վերահսկիչի անունը (լռելյայն, Get-AdUser cmdlet-ը միանում է մոտակա տիրույթի վերահսկիչին)