- Oh, miski ei tööta minu jaoks, appi!
- Ärge muretsege, me parandame nüüd kõik. Andke oma arvuti nimi...
(žanri klassika alates kõnedest kuni tehnilise toeni)
On hea, kui teil on tööriist a la BgInfo või teie kasutajad teavad Windows+Pause/Break otseteed ja teavad, kuidas seda vajutada. On isegi haruldasi isendeid, kellel on õnnestunud oma auto nimi selgeks õppida. Kuid sageli on helistajal lisaks oma põhiprobleemile ka teine: arvuti nime/IP-aadressi väljaselgitamine. Ja sageli kulub selle teise probleemi lahendamiseks palju rohkem aega kui esimese (ja teil oli vaja lihtsalt taustapilti vahetada või puuduv otsetee tagastada :).
Aga palju toredam on kuulda midagi sellist:
- Tatjana Sergeevna, ärge muretsege, ma juba ühendan ...
Ja selleks pole palju vaja.
Tehnilise toe spetsialistil tuleb vaid masinate nimed pähe õppida ja meeles pidada, kes mille heaks töötab.
Enne hetkel kasutusel oleva lahenduse kirjeldamist vaatan põgusalt ka teisi võimalusi, et saaksin neid äärmuseni kritiseerida ja oma valikut selgitada.
BgInfo, Töölaua teave ja muud taolist. Kui raha on palju, siis on ka tasulisi. Asi on selles, et töölauale kuvatakse tehniline teave: masina nimi, IP-aadress, sisselogimine jne. Töölauateabes saate jõudlusgraafikud isegi poolele ekraanile pigistada.
Mulle ei meeldi see, et näiteks sama Bginfo puhul peab kasutaja vajalike andmete nägemiseks aknaid minimeerima. Ka mina ja mu kolleegid oleme BgInfos rohkem kui korra jälginud iseloomulik artefakt, kui uus tekst kuvatakse vana peal.
Mõnda kasutajat ärritab tõsiasi, et administraatorid joonistavad töölauale sirutatud kassi näole hirmuäratava 192.168.0.123, mis rikub taustapildi esteetikat ning see on muidugi kohutavalt demotiveeriv ja tapab töövaimu täielikult. .
Silt a la "Kes ma olen" (ärge proovige selle lõppu küsimärki lisada :). Klassikaline otsetee töölaual, mille taga peidab endas korralik või mitte nii korralik skript, mis kuvab vajaliku info dialoogiboksi kujul. Mõnikord panevad nad otsetee asemel skripti enda töölauale, mis IMHO on halvad kombed.
Puuduseks on see, et otsetee käivitamiseks, nagu ka esimesel juhul, peate minimeerima kõik avatud aknad (me ei võta arvesse neid õnnearmasid, kelle töömasinal on avatud ainus pasjansi aken). Muide, kas teie kasutajad teavad, kuhu klõpsata kõigi akende minimeerimiseks? Täpselt nii, näpp adminnile silmas.
Kork viitab ka sellele, et mõlema ülalkirjeldatud meetodi peamine puudus on teabe hankimisega seotud kasutaja, kes võib olla pime, rumal või isegi valetada.
Ma ei kaalu arvutioskuse suurendamise võimalust, kui kõik teavad, kust Windowsis oma masina nime otsida: see on üllas eesmärk, kuid väga raske. Ja kui ettevõttel on kaadri voolavus, siis on see täiesti laastav. Mida ma võin öelda, enamikul juhtudel nad isegi ei mäleta oma sisselogimist.
Valasin hinge välja ja nüüd asja juurde.
Aluseks võeti Habrovi elaniku idee mittel kohta selle artikli.
Idee olemus seisneb selles, et kui kasutaja Windowsi sisse logib, sisestab sisselogimisskript vajaliku info (aja ja masina nimi) kasutajakonto teatud atribuuti. Ja kui logite süsteemist välja, käivitatakse sarnane väljalogimisskript.
Idee ise mulle meeldis, kuid teostuses oli asju, millega ma rahul ei olnud.
Grupipoliitika, mis määrab kasutajatele sisse- ja väljalogimisskriptid, kehtib kogu domeenile, nii et skripte käitatakse kõigis masinates, kuhu kasutajad sisse logivad. Kui kasutate koos tööjaamadega terminalilahendusi (näiteks Microsofti RDS-i või Citrixi tooted), on see lähenemine ebamugav.
Andmed sisestatakse kasutajakonto atribuudisse Osakond, millele tavakasutajal on kirjutuskaitstud juurdepääs. Lisaks kasutajakonto atribuudile teeb skript muudatusi ka arvutikonto atribuudis Department, mida kasutajad vaikimisi samuti muuta ei saa. Seetõttu soovitab autor lahenduse toimimiseks muuta AD-objektide turvaseadete standardeid.
Kuupäeva formaat sõltub sihtmasina lokaliseerimisseadetest, nii et ühest masinast saame 10. november 2018 14:53 ja teisest 11/10/18 2:53
Nende puuduste kõrvaldamiseks tehti järgmist.
GPO on seotud mitte domeeniga, vaid masinatega OU-ga (eraldan kasutajad ja masinad erinevateks OU-deks ja nõustan teisi). Veelgi enam, selleks loopback poliitika töötlemise režiim režiim on seatud ühendada.
Skript kirjutab andmed ainult atribuudis olevale kasutajakontole Info, mida kasutaja saab oma konto jaoks iseseisvalt muuta.
Muudetud koodiosa, mis genereerib atribuudi väärtuse
Nüüd näevad skriptid välja sellised: 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
Kes leiab esimesena kõik sisselogimis- ja väljalogimisskriptide erinevused, saab karma plussi. 🙂
Visuaalse teabe saamiseks loodi ka järgmine väike PS-skript: Get-UsersByPCsInfo.ps1
looge vajalike sätetega GPO ja linkige see kasutaja tööjaamadega osakonnaga:
lähme jooma teed (kui AD-l on palju kasutajaid, siis on palju teed vaja :)
käivitage PS-skript ja saate tulemuse:
Akna ülaosas on mugav filter, milles saate valida ühe või mitme välja väärtuste põhjal andmeid. Tabeli veergudel klõpsates sorteeritakse kirjed vastavate väljade väärtuste järgi.
Saame oma lahenduse kaunilt “pakendada”.
Selleks lisame otsetee skripti käivitamiseks tehnilise toe spetsialistidele, kellel on väljal "objekt" midagi sellist: powershell.exe -NoLogo -ExecutionPolicy Bypass -File "servershareScriptsGet-UsersByPCsInfo.ps1"
Kui tehnilise toe töötajaid on palju, saate otsetee levitada GP laiendus.
Mõned viimased kommentaarid.
PowerShelli Active Directory moodul peab olema installitud masinasse, millest PS-skript käivitatakse (selleks lisage Windowsi komponentidesse lihtsalt AD haldustööriistad).
Vaikimisi ei saa kasutaja enamikku oma konto atribuute redigeerida. Pidage seda meeles, kui otsustate kasutada muud atribuuti kui Info.
Teavitage kõiki kaasatud kolleege, millist atribuuti te kasutate. Näiteks sama Info kasutatakse Exchange Serveri administraatoripaneelil kasutaja postkasti interaktiivseks märkmete lisamiseks ja keegi saab selle hõlpsalt üle kirjutada või kurvastada, kui teie skript kirjutab nende lisatud teabe üle.
Kui teil on mitu Active Directory saiti, võtke arvesse replikatsiooni viivitusi. Näiteks kui soovite saada ajakohast teavet kasutajate kohta AD saidilt A ja käivitada skripti AD saidi B masinast, saate teha järgmist. Get-ADUser -Server DCfromSiteA -SearchBase $OU -Properties * -Filter * | Select-Object DisplayName, SamAccountName, info | Sort DisplayName | Out-GridView -Title "Информация по логонам" -Wait
DC saidiltA — saidi A domeenikontrolleri nimi (vaikimisi loob Get-AdUser cmdlet ühenduse lähima domeenikontrolleriga)