1

Тема: HTA+VBS:Информирование пользователей

Суть программки:
Написал скрипт, который отображает флэш ролики  в момент запуска ярлыка программы и пользователь нажимает кнопку "Ознакомлен" после этого сообщение с данной флэшкой не появляется больше до следующей флешки, которая может быть показана через определенный промежуток времени. Например флешка показывает какие-то критичные изменения которые произошли.

Как все работает:
Скрипт написан полностью на vbs, который считывает настройки  из конфигурационного файла (текстовик), определяет логин пользователя(в домене под которым залогинен пользователь), смотрит текстовик, в который записывается изучал урок или нет данный пользователь и потом vbs генерит HTA  во временную директорию на станции пользователя и от туда запускает готовую HTA, которая уже отображает форму с роликом и пользователю остается только нажать на кнопку "Ознакомлен". После чего окошко закрывается и производится запись в текстовичок на ресурсе. Ресурс имеет настройку, что создатель имеет полные права на свою папку и все что в ней, и никто кроме пользователя не сможет увидеть (помогли на данном форуме по каждой из этой части, а я собрал воедино).

Проблема:
Так получилось что политиками домена, менять ярлык на станции пользователя стало невозможно. Но осталась возможность запуска HTM или HTML страницы непосредственно из программы, которую запускает пользователь. Как только я пытаюсь работать на файловом уровне "Scripting.FileSystemObject" или хотя б  запустить скрипт vbs появляется ошибка, что нельзя этого делать. Я так полагаю настройки браузера из-за безопасности.

Вопрос:
Как можно записать данные от пользователя или считать данные, которые необходимы для пользователя если работа на файловом уровне невозможно? Само собой суть программки осталась.

Что можно придумать так что б не особо намудрено было и работало?

2

Re: HTA+VBS:Информирование пользователей

Варианты:
1) Скомпилить скрипт в exe.
2) Открывать доступ к wsh с помощью reg.exe и после отработки закрывать.
3) Вместо vbs использовать cmd или ps1.

3

Re: HTA+VBS:Информирование пользователей

1)Скомпилить можно куда угодно, а как записать данные от пользователя если не доступен файловый уровень ?
2) С реестром наверное тоже не получится изменить на станции.
3) из Html можно запустить cmd ? Powershell насколько я помню требует разрешения прежде чем запуститься?

4

Re: HTA+VBS:Информирование пользователей

1) В окне так и написано "Недоступен файловый уровень"?
2) Попытка - не пытка.
3) Наоборот, из батника  - запускать hta. Для разрешений - runas (примеры для батников).

5

Re: HTA+VBS:Информирование пользователей

Думаю, .hta можно и без батника запускать: в отличие от .html, для него файловый уровень обычно доступен. Еще можно в кукисах что-нибудь хранить. Временно.

6

Re: HTA+VBS:Информирование пользователей

Вот сам htm:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>!</title>
 
</head>
 
<style type="text/css">
 
</style>
 
<script type="text/vbscript"> 
 
                'Блок Авто Информирование
                Dim objFso
                'Объект необходимый для работы на файловом уровне
                Set objFso = CreateObject("Scripting.FileSystemObject")
                If objFso.FileExists("\\AvtoInfo\Config.ini") Then
                               If objFso.FileExists("\\AvtoInfo\AutoInfo.vbs") Then
                                               'Wscript.Sleep 10000
                                               Dim StringCscript
                                               StringCscript = "cscript.exe" &" " & "\\AvtoInfo\AutoInfo.vbs" &" " &"SC"
                                               CreateObject("WScript.Shell").Run StringCscript , 0 , False
                               End If
                End If
                'Конец блока
               
                ' Процедура инициализации окна формы
               
Sub WindowOnLoad
'
End Sub
 
</script>
 
<body>

 
<div>
<div align="center" class="slka"></br><p align="center">Добро пожаловать в программу!</p></div>
</div>
 

7

Re: HTA+VBS:Информирование пользователей

В куках хранить не очень удобно т. к. Пользователь сменил станцию и все заново нужно будет проходить. Hta нельзя использовать в этой программ в которую я хочу вставить ссылку с  htm страницей сразу начинает показывать сообщение безопасности на которое пользователь должен будет нажать да. А при каждом запуске системы это не есть хорошо. Ошибку выставлю чуть позже. С бантиком пока изучаю.

8

Re: HTA+VBS:Информирование пользователей

В реестр записать ничего нельзя закрыто все по политикам.

9

Re: HTA+VBS:Информирование пользователей

Строка 18 символ 2
Это как раз когда пишется set objfso = ...

Невозможно создать объект контейнера activex: scripting.filesystemobject

Продолжить выполнение скриптов на этой странице?

10

Re: HTA+VBS:Информирование пользователей

А при скомпилированных hta и vbs что пишет?

11 (изменено: wildwolf007, 2015-05-17 21:26:08)

Re: HTA+VBS:Информирование пользователей

Прошу прощения как я понимаю перевод этих скриптов в exe файл? Не пробовал, но предполагаю, что появится сообщение безопасности запустить данный exe файл?

Чето чувствую, что записать данные от пользователя невозможно нужно поднимать какой-то сервер с апачем или iis...
Но чето сказать често из-за таких пустяковых задач не хотелось бы поднимать  веб сервер.

12

Re: HTA+VBS:Информирование пользователей

wildwolf007 пишет:

Прошу прощения как я понимаю перевод этих скриптов в exe файл?

Разумеется. А что означало "Скомпилить можно куда угодно"?

wildwolf007 пишет:

но предполагаю, что появится сообщение безопасности запустить данный exe файл?

Этот вопрос явно к администрации ресурса, а не ко мне.