ПредишенСледващото

Приблизително преди години и половина, аз започнах да се използва за въвеждане на потребителски данни HTML страница, най-вече с цел да бъде в състояние да се прикрие и написаните пароли. Тъй като аз не съм уеб разработчик, това беше най-прост страници HTML.

Използването на страниците HTML е възможно да се реши проблема ми, но след известно време имаше поправки за Microsoft Internet Explorer (IE) и сервизен пакет на Windows, който избухна обичайния ход на работата. След инсталирането на тези петна и сервизни пакети, не актуализирам скриптове са станали толкова удобни, както преди, когато просто може да го изпълняват, чрез двукратно щракване на мишката и започват да се въвеждат данни само веднъж. Сега, преди да започнете да пишете, бе длъжен да отговори утвърдително на поредица от подканите за сигурност, или страница отказа да приеме приноса на потребителите. Трябваше да направя нещо с това, което сега се нарича активно съдържание - общо взето, скриптове и ActiveX контроли в HTML кода. Освен това, моите скриптове, използвани от други администратори, и аз съм уморен от обаждания и електронни писма, дължащи се на тези несъответствия.

Решението на този проблем дойде при мен, когато за първи път започнах нов Scriptomatic 2.0. Едно от приложенията бях много заинтригуван. Това е направено с много вкус, но по-важното е, че е извършена без някой от въпросите, свързани с подсистемата за защита. Бях изумен от това, което може да се направи с помощта на интерфейс HTA (HTML Application - HTML приложение).

Основи HTA

НТА скриптове, за първи път в IE 5.0, известно време бяха доста популярни. Но, за съжаление, когато започнах да се развива административни скриптове за Windows NT, не съм чувал или чел за тях. В действителност, HTA скрипт е стандартен HTML страница с разширение .hta, но НТА скриптове не са обект на строги ограничения и задължителни мерки за сигурност, прилагани към страниците на HTML.

Създаване HTA изисква някои умения в използването. Като правило, програмиране в HTML се използва за създаване на дисплейни входни форми и програмата в VBScript се вмъква в HTML кода на страницата. Обикновено то се свежда до, за да влезе в бутона за въвеждане на данни форма, която генерира OnClick събитие, като кликнете върху него с мишката. С други думи, след като потребителят въведе данни и кликне върху бутона, в VBScript код трябва да работи и да изпълнява определено действие.

Ако не сте запознати с програмирането в HTML (както в началото беше с мен), ще трябва да се ангажират някои изследователски ресурси MSDN (Microsoft Developer Network). Има на разположение голямо разнообразие от примери и препратки, както и, след като прекара няколко дни, вие ще бъдете в състояние да създаде наистина полезни НТА скриптове.

Писане код HTML с ръка и с помощта на специализиран софтуер за развитие - това е като деня и нощта. Повечето от кода, а може би и целият код се генерира автоматично, като че ли графично създадете своя екранна форма, за да влезете. След като създадете формуляр, трябва да използвате кода и в секцията на скрипта и запазете получения файл с разширение .hta.

Обърнете специално внимание на това как всяко приложение или скрипт, НТА може да съдържа потенциалната опасност, особено ако идват от непознати или ненадеждни източници. Опитайте се да се придържате към общото правило, че ако получите файлове от неизвестен източник, не ги отворите, трябва да изтриете веднага. Аз използвам НТА скриптове само собственото си производство и да ги премине само на хора, които познавам.

Ние анализираме скрипт HTA

Фигура 1 показва основния сценарий на HTA, както и в Обява 1 - кода, който създава сценария. HTML кодът изпълнява от една проста структура на елементите, определени от таговете. Повечето етикети са сдвоени. Tag елемент започва и завършва този маркер елемент.

Както е показано на Обява 1, маркерът започва да HTA, маркерът е неговото прекратяване. Това е последвано от първия елемент на документа. В този пример, заглавие формата за въвеждане и елементите от прозореца на са разположени между маркерите и. НТА елемент Искане (заявка НТА), което показва детайл А в Обявата 1, определя вида на въвеждане на данни форми. В този случай, НТА настройки на елементите: прилагане, определени интерфейс прозореца на потребител, който използва тънка граница, определяне на граничния стил е зададен като потънал, свеждане до минимум и да се максимизират бутони се активират и заключи лентата за превъртане и иконата на приложението, така че те не се показват в лентата на задачите.

При използване на CAPTION SYSMENU и атрибути трябва да бъдат внимателни. Ако ги е поставен неправилно, а след това под формата не ще се затвори. атрибут стойност равна CAPTION бр на премахва заглавната лента на прозореца на приложението. Ако друг набор SYSMENU атрибут настроено на Не тя ще бъде изключена бутони минимизирате, максимизирате, и затвори. Така че, да вземе решение CAPTION зададени атрибути или равна SYSMENU No. Уверете се, че бутоните за затваряне на страницата ви.

При тестването на този сценарий HTA аз забелязах, че ако пропуснете всички тези атрибути HTA: ЗАЯВЛЕНИЕ етикет и просто да се обърне. настройките по подразбиране се използват, и пред тях е доста задоволително. Ако искате да дадете своя вход форма по-привлекателни, използването на атрибутите на HTA Искане, изброени в таблица 1. В таблицата са показани различните атрибути и възможните им стойности и стойностите по подразбиране.

Фрагмент Б Обява 1 показва HTA скрипт елемент, който започва на маркера. Това е последвано от поредица език = атрибут, където атрибутът посочване на езика, да се създаде сценария, в този случай е VBScript. В този пример, HTA, елемент скрипт съдържа една проста рутинна на езика VBScript, която се изпълнява, когато потребителят кликне върху бутона, за да активирате сценария Натиснете този бутон, за да стартирате скрипт. Повече от нищо специално, но можете да копирате част от кода VBScript, която е между таговете. и бързо да получат виза за работа скрипт.

Последният раздел на Обява 1 започва маркер. и завършва с маркера. Този елемент съдържа HTML кода, който създава форма, в която потребителят въвежда данни в областта и активира бутона. НТА примера на фигура 1 има две полета за въвеждане: поле за въвеждане на обикновен текст и парола текстово поле, което се крие и текстовете, въведени от потребителя. Има още два бутона: един работи кода в VBScript, друга се затваря приложението.

Нека разгледаме по-отблизо елемент тяло. Фрагмент В показва кода, който създава условия за обикновен текст във фигура 1. Тук, маркерът

Тя започва нов параграф, както и етикет

приключване на процедурата. Маркерите се използва за определяне на стила, размера и цвета на текста. Ако определянето на тези параметри не е необходимо, и искате да използвате текст стил по подразбиране, тази гарнитура ще бъде Times New Roman, черен цвят, размер на шрифта 3. Аз трябва да кажа, шрифтовете са различни от обичайните шрифтове, които се използват, например, в Microsoft Word. седем размери могат да бъдат определени в HTML (от 1 до 7) с размер = атрибут, както и размерът на най-малките ще бъде един и най-големия размер на 7. Дори ако HTA използва стандартния размер, кодът на полето за надпис C определя размера на шрифта от 3 думи в текстовото поле (текст кутия) и думи Използвайте текстово поле за най-всякакъв вид вход (Използвайте текстово поле за по-голямата част от типа I) за доказване на ,

входен елемент указва поле за въвеждане където потребителят може да въвежда данни. Тип на половете = атрибут определя типа на поле за въвеждане (например поле за текст, паролата, нормалната бутон, ключ). В този случай вие създавате поле за обикновен текст (тип = "текст"), който има име T1 (име = "Т1") и размера на това поле е 20 символи (размер = "20"). И T1.value стойност се отнася до начина, по който се свърже с текстово поле в кода си в VBScript. За разлика от повечето маркер тагове няма край маркер.

Код за полето за парола на текста има същия формат като кода за поле за въвеждане на текст с. Въпреки това, в този случай, можете да посочите "парола", а не "текст" в тип уравнение = атрибут, в този случай, и текстовете, въведени от потребителя, ще бъдат скрити.

Фрагмент D показва кода, който създава Натиснете този бутон, за да стартирате бутон стартира скриптът бутона Exit сценарий и излизане. И двете копчета имат вида на входа "бутон" (бутон). И двата бутони също са входни атрибут наречен OnClick. OnClick атрибут на името на подпрограмата, метод, или друг код, който трябва да бъде активирана, когато щракнете върху бутона. За Бутон Натиснете този бутон, за да стартирате скрипт. OnClick е настроен да съчетания showsetting (покажи настройки.) - виж фрагмент B в Списък 1. Тази програма показва текст, който потребителят въвежда в полето за текст и в полето Парола. Текстът, който потребителят влезе в полето парола, ще бъдат показани в обикновен текст. OnClick атрибут, за да излезете метод бутон self.close (самозатваряне). Този метод веднага затваря HTA. Тук Self се отнася до текущата отворен прозорец.

възможностите са безкрайни

HTA Този пример показва само една малка част от това, което може да бъде постигнато в НТА сценарии. Следваща Отивам да се въведе HTA скрипт, за да зададете и проверка на даден потребител квоти на местно и отдалечен компютър.

структура на НТА

Фигура 2 показва инструмента на потребителски квоти, Потребителят Utility квота: Екран за въвеждане на информация се състои от четири полета за въвеждане, падащия списък, две копчета и две текстови полета. Помислете за тези компоненти и експлоатация на самия полезността.

Полетата за въвеждане на информация (текстово поле). Първият полето за въвеждане се използва за въвеждане на списък с потребителски имена, ID, потребителски акаунти, за които искате да промените квотата. Във второто поле, за да въведете информацията, въведени от потребителя, името на сървъра или компютъра, които са обект на квоти. Ако това поле се оставя празно, инструментът за неизпълнение действа на локалната машина. Ако тези потребителски имена са отчетите за друг компютър, ще трябва да въведете името на домейна на компютъра или в третата полето за въвеждане. Ако това поле се оставя празно, инструментът за подразбиране се отнася до локалната система.

Четвъртото поле за въвеждане на информация на потребителите въвеждане на квота в байтове. Както се вижда от фигура 1, който въведох стандартния размер на 5368709120, т.е. 5 GB, но можете да зададете размера, който ти е удобно. Ако предпочитате да въведете квота в байтове, мегабайта или гигабайта, е възможно да се използва втората HTA (UserQuotaUtility2.hta), в който се прилагат тези три възможности, както е показано на фигура 3.

Падащия списък (падащото поле). Падащия списък веднага след второто текстово поле. Тя позволява на потребителя да избира буквата на устройството към компютъра, на която квотата. Падащо кутия в този пример, HTA е доста впечатляващ списък от буквите на дисковите устройства. Стойността по подразбиране в горния сценарий, HTA - карам C:.

Бътън. Когато потребителят кликне върху първия бутон Run Промени Потребителски Квоти (активирате промените квота потребител), Потребителят Квота Utility помощната програма ще се опита да зададете определен квота за избраната система. Това действие се дължи на рутинни RunMod в VBScript под НТА, които Обявата 2 показва.

Вторият бутон, Run Квота за заявки - активирате искането за квота, дава списък на квотите за определения сървър или устройство за съхранение. Това действие се дължи на рутинна RunQuery в VBScript под HTA. Това приложение не филтрира потребителски идентификатори, когато стартирате тази подпрограма, съдържа всички настройки за потребителски квоти за определения компютър или устройство за съхранение. Дори и ако потребителят е вписана потребителски идентификатори в първото поле за въвеждане на информация, както и за да активирате Run бутон Квота за заявки ще причини, които ще предоставят информация за всички сметки на тази система, а не само за документите, изброени в списъка.

анализ на HTA

След настройките на приложението, НТА включва раздел VBScript, вижте Обява 2. Този раздел съдържа три подпрограми :. Window_Onload, RunMod и RunQuery.

Подпрограма Window_Onload. Window_Onload подпрограма се извършва автоматично при активиране на тази молба. На първо място, рутината използва self.Focus (), за да започнете прозореца на приложението пред всички други отворени прозорци. След това, рутината регулира размера на прозореца на приложението, и определя размера по подразбиране на квотата (qlimit.value).

Подпрограма RunMod. Подпрограма RunMod, което е свързано с бутон Run Промяна на потребителски квоти, съдържа код за промяна на квотата на потребителя. В допълнение към почистването стойности на полетата Статус (чрез statval.value оператор = "") Този код проверява "връщане" символи или "нов ред" в края на полето, за да въведете потребителското си име, ИД на потребител. В "връщане" и "нов ред" е необходим за крайния идентификатор, така че ако не е, след това тя добавя кода. RunMod подпрограма използва Сплит функцията да vbcrlf разделителната да се изгради масив от потребителски имена, които по-късно използва HTA да установи тези квоти.

Този скрипт задава стойности от форма, за да въведете НТА информационни променливи, които се използват в сценария. Този скрипт използва GetObject за търсене на копия на класа. Той използва klassWin32_DiskQuota за RunMod съчетания, както и за RunQuery и използва Win32_ComputerSystem клас за търсене на името на локалния компютър, когато потребителят напусне влизане домейн празно.

Всички рутинни RunMod даден код в полето за надпис А в Обява 2. Тук рутинните примките чрез потребителски идентификатори, ID. За всеки ID рутинно е специален потребител квота, инсталира и поправки граничната стойност за метод objQuota.Put_.

Подпрограма RunQuery. Под RunQuery, което е свързано с бутон Run Query бутона квотата, започва с определянето на параметрите за входните стойности. Тогава RunQuery определя константи wbemFlagForwardOnly и wbemFlagReturnImmediately. Постоянно wbemFlagForwardOnly причинява сценария за получаване на еднопосочно насрещни такива м обикновено са много по-бързо и използва по-малко памет в сравнение с конвенционалните броячи. Постоянно wbemFlagReturnImmediately прави призив за незабавно връщане.

Тогава RunQuery рутинни свързва чрез инструменти за управление на Windows (WMI) към сървър или компютър, който е определен от потребителя, ако това поле се остави празно, скриптът се свързва с компютър в локалната мрежа. Подпрограмата след това използва поиска WQL (WMI Query Language) език, за да получите на наличната информация относно квотата, тъй като код фрагмент В. Тази заявка скрипт дефинира константи wbemFlagForwardOnly и wbemFlagReturnImmediately. Ако искате да се намали броят на реда код, то е възможно да се съчетаят стойностите на тези константи и задайте десетичната стойност до 48 - пример за това кратка версия на фрагмент от код.

Параметърът на заявката WQL не е задължително WQL. Фрагмент Б код използва тази възможност, но ако не се включи, трябва да сложите две запетаи с нищо между тях, тъй като оператор Set colItems фрагмент А. Още по-добре, посочете WQL, защото присъствието му става ясно, че това е - Изберете изявление да използвате WMI.

След RunQuery получава данни за съществуващите квоти, RunQuery показва всички данни в голям формат за електронни таблици Microsoft Excel. Имайте предвид, че тъй като не притежава свойства Win32_DiskQuota класа като брояч, рутината поставя Excel инициализация в За Следваща контур и определя do_once етикет. Ако м Имотът ще бъде на разположение, рутината може просто да сканирате за състоянието "по-голяма от нула", а след това, че не е необходимо да се започне цикъла и Excel за следващото, ако не е имало резултати за връщане.

Код завършване. Звено на език VBScript в НТА включва също функция ConvStatus както е показано на фрагмент С. Тази функция се превръща квоти членство цифров представяне на 0, 1 или 2 стойности в OK, предупреждение или надхвърлена, съответно. Имайте предвид, че проверките на код за грешки в ключовите елементи VBScript програмата. Този код се използва за откриване на грешки Err.Description генерирани от системата и след това да ги показва в полето Status Кутия за HTA. След разделянето на VBScript подаде HTA включва код, за да влезе в кутията.

Напишете НТА скриптове.

Списък 1. код, за да НТА например на фигура 1
Обява 2. Фрагмент Utility програма Потребителят Квота
Обява 3. htaexample.hta
Обява 4. htaexample2.hta

Свързани статии

Подкрепете проекта - споделете линка, благодаря!