Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Remote Assistance (Удаленный помощник), отключаем подтверждения 
V
    Опции темы
mihanik
Дата 27.2.2011, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



При подключении к станции с использованием Remote Assistance (удаленного помощника), пользователь должен дать согласие на

    * подключение для просмотра
    * управление компьютером 

Это может быть неудобным, если вы всегда подключаетесь для управления компьютером.

Кто первый нашел это решение неизвестно, суть в следующем.

Для отключения разрешения на подключение модифицируем файл %windir%\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm
было
btnAccept.disabled = false;
btnDecline.disabled = false;
btnDecline.focus();

стало
btnAccept.disabled = false;
btnDecline.disabled = false;
btnDecline.focus();
DoAccept();

Для отключения запроса на управление, изменим файл %windir%\pchealth\helpctr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm
было    
idExpert1.innerText = vArgs[0];
idExpert2.innerText = vArgs[0];
idExpert3.innerText = vArgs[0];    

стало
idExpert1.innerText = vArgs[0];
idExpert2.innerText = vArgs[0];
idExpert3.innerText = vArgs[0];
onClickHandler(0);

или меняем

<BODY id="idBody" class="sys-inlineform-bgcolor1" onload=InitiateMsg();>
на
<BODY id="idBody" class="sys-inlineform-bgcolor1" onload=InitiateMsg();onClickHandler(0);>

Если вы подготовили набор модифицированных файлов для распространения в вашей сети, внимательно отнеситесь к языковой версии и уровню service pack машин, на которые вы будете копировать файлы. Настоятельно рекомендую для каждой пары «язык-service pack» использовать отдельные версии модифицированных файлов. 

А вот и текст написанного мной простого скрипта, который автоматически изменяет указанные выше два файла.
Код

'При подключении к станции с использованием Remote Assistance (удаленного помощника), 
'пользователь должен дать согласие на

'    * подключение для просмотра
'    * управление компьютером
    
'Данный скрипт отключает запросы на подключение.

':-)
Option Explicit

Const WindowsFolder = 0    ' Папка Windows содержит файлы, установленные операционной системой Windows.
Const SystemFolder = 1        ' Папка System содержит библиотеки, шрифты и драйвера устройств.
Const TemporaryFolder = 2    ' Папка Temp используется для хранения временных файлов. 
Const FOR_READING = 1
Const FOR_WRITING = 2

Dim objFSO
Dim IntFileCount
Dim strWinDir
Dim objMyFile
Dim strS
Dim strFileName
Dim strFind
Dim strReplaceWith

'Во время работы скрипт изменяет содержимое 2-х файлов
'%windir%\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm
'%windir%\pchealth\helpctr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm

'Проверим наличие обоих файлов
IntFileCount = 0
Set objFSO = CreateObject("Scripting.FileSystemObject")
    strWinDir = objFSO.GetSpecialFolder(WindowsFolder)
    If objFSO.FileExists(strWinDir & "\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm") Then IntFileCount = IntFileCount + 10
    If objFSO.FileExists(strWinDir & "\pchealth\helpctr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm") Then IntFileCount = IntFileCount + 20

' Если какой-то файл не найден, выходим.
If IntFileCount < 30 Then WScript.Quit

' Считываем содержимое первого файла в память
    strFileName = strWinDir & "\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm"
    Set objMyFile = objFSO.OpenTextFile (strFileName, FOR_READING)
        strS = objMyFile.ReadAll
        objMyFile.Close
    Set objMyFile = Nothing

'  Изменяем текст файла
    strFind = "btnAccept.disabled = false;" & vbCrLf & "btnDecline.disabled = false;" & vbCrLf & "btnDecline.focus();"
    strReplaceWith = strFind & vbCrLf & "DoAccept();"
    If InStr (strS, strReplaceWith)=0 Then strS = Replace (strS, strFind, strReplaceWith)

'  Записываем изменённый текст файла обратно
    Set objMyFile = objFSO.OpenTextFile (strFileName, FOR_WRITING)
        objMyFile.WriteLine strS
    Set objMyFile = Nothing

' Считываем содержимое второго файла в память
    strFileName = strWinDir & "\pchealth\helpctr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm"
    Set objMyFile = objFSO.OpenTextFile (strFileName, FOR_READING)
        strS = objMyFile.ReadAll
        objMyFile.Close
    Set objMyFile = Nothing

'  Изменяем текст файла
    strFind = "idExpert1.innerText = vArgs[0];" & vbCrLf & "idExpert2.innerText = vArgs[0];" & vbCrLf & "idExpert3.innerText = vArgs[0];"
    strReplaceWith = strFind & vbCrLf & "onClickHandler(0);"
    If InStr (strS, strReplaceWith)=0 Then strS = Replace (strS, strFind, strReplaceWith)

'  Записываем изменённый текст файла обратно
    Set objMyFile = objFSO.OpenTextFile (strFileName, FOR_WRITING)
        objMyFile.WriteLine strS
    Set objMyFile = Nothing

Set objFSO = Nothing


Это сообщение отредактировал(а) mihanik - 27.2.2011, 14:17


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
mihanik
Дата 27.2.2011, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



Чуток доработал скрипт: добавил логирование. smile

Код

'При подключении к станции с использованием Remote Assistance (удаленного помощника), 
'пользователь должен дать согласие на
'    * подключение для просмотра
'    * управление компьютером
'Данный скрипт отключает запросы на подключение.

Option Explicit

Const WindowsFolder = 0    ' Папка Windows содержит файлы, установленные операционной системой Windows.
Const SystemFolder = 1        ' Папка System содержит библиотеки, шрифты и драйвера устройств.
Const TemporaryFolder = 2    ' Папка Temp используется для хранения временных файлов. 

Dim objFSO
Dim strWinDir
Dim objMyFile
Dim strS
Dim strFileName
Dim strFind
Dim strReplaceWith

' Проверяем наличие папки C:\Log, в том случае, если папка отсутствует, создаём её.
    If Not FolderExist ("C:\LOG") Then
        FolderCreate ("C:\LOG")
        AppendToFile "C:\LOG\RemoteAssistance.LOG", "Начало работы: " & CStr (Now)
        AppendToFile "C:\LOG\RemoteAssistance.LOG", "Была создана папка ""C:\LOG"""
    Else
        AppendToFile "C:\LOG\RemoteAssistance.LOG", "Начало работы: " & CStr (Now)
    End If

' Узнаем, где находиться папка Windows
    Set objFSO = CreateObject("Scripting.FileSystemObject")
        strWinDir = objFSO.GetSpecialFolder(WindowsFolder)
    Set objFSO = Nothing
    
'Проверим наличие обоих файлов
    If Not MyFileExist(strWinDir & "\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm") Then 
        AppendToFile "C:\LOG\RemoteAssistance.LOG", "Не найден файл " & strWinDir & "\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm"
        AppendToFile "C:\LOG\RemoteAssistance.LOG", "Завершаем работу скрипта"
        WScript.Quit
    End If
    
    AppendToFile "C:\LOG\RemoteAssistance.LOG", "Файл найден: " & strWinDir & "\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm"
    
    If Not MyFileExist(strWinDir & "\pchealth\helpctr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm") Then
        AppendToFile "C:\LOG\RemoteAssistance.LOG", "Не найден файл " & strWinDir & "\pchealth\helpctr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm"
        AppendToFile "C:\LOG\RemoteAssistance.LOG", "Завершаем работу скрипта"
        WScript.Quit
    End If

    AppendToFile "C:\LOG\RemoteAssistance.LOG", "Файл найден: " & strWinDir & "\pchealth\helpctr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm"

' Считываем содержимое первого файла в память
    AppendToFile "C:\LOG\RemoteAssistance.LOG", "Считываем содержимое первого файла в память."
    strFileName = strWinDir & "\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm"
    strS = TextFromFile (strFileName)

'  Изменяем текст файла
    strFind = "btnAccept.disabled = false;" & vbCrLf & "btnDecline.disabled = false;" & vbCrLf & "btnDecline.focus();"
    strReplaceWith = strFind & vbCrLf & "DoAccept();"
    If InStr (strS, strReplaceWith)=0 Then 
                                            strS = Replace (strS, strFind, strReplaceWith)
                                            AppendToFile "C:\LOG\RemoteAssistance.LOG", "Изменяем текст файла."
                                            TextToFile strFileName, strS
                                      Else
                                            AppendToFile "C:\LOG\RemoteAssistance.LOG", "Файл уже изменён. Менять нечего!"          
    End If

' Считываем содержимое второго файла в память
    AppendToFile "C:\LOG\RemoteAssistance.LOG", "Считываем содержимое второго файла в память."
    strFileName = strWinDir & "\pchealth\helpctr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm"
    strS = TextFromFile (strFileName)

'  Изменяем текст файла
    strFind = "idExpert1.innerText = vArgs[0];" & vbCrLf & "idExpert2.innerText = vArgs[0];" & vbCrLf & "idExpert3.innerText = vArgs[0];"
    strReplaceWith = strFind & vbCrLf & "onClickHandler(0);"
    If InStr (strS, strReplaceWith)=0 Then 
                                            strS = Replace (strS, strFind, strReplaceWith)
                                            AppendToFile "C:\LOG\RemoteAssistance.LOG", "Изменяем текст файла."
                                            TextToFile strFileName, strS
                                      Else
                                            AppendToFile "C:\LOG\RemoteAssistance.LOG", "Файл уже изменён. Менять нечего!"          
    End If
    
    AppendToFile "C:\LOG\RemoteAssistance.LOG", "Завершение работы: " & CStr (Now) & vbCrLf

WScript.Quit


'********************************************************************
'*
'*  Процедура   : AppendToFile
'*  Описание    : Дописывает в файл текстовую информацию
'*  Вход        : strFileName - имя файла, в который нужно дописать информацию
'*                strString   - дописываемая информация
'*
'********************************************************************
Sub AppendToFile(ByVal strFileName, ByVal strString)

Const ForAppending = 8
Dim fso, f

    Err.Clear
    On Error Resume Next

    Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.OpenTextFile(strFileName, ForAppending, True)
            f.WriteLine strString
            f.Close
        Set f = Nothing
    Set fso = Nothing
    
End Sub

'********************************************************************
'*
'*  Функция   : MyFileExist
'*  Описание  : Функция проверки существования файла
'*  Вход      : Имя файла
'*  Выход     : true, если файл существует, и false, если файл отсутствует.
'*
'********************************************************************
Function MyFileExist (ByVal FileName)
dim fso

    Err.Clear
    On Error Resume Next
    
    Set fso = WScript.CreateObject("Scripting.FileSystemObject")

        MyFileExist = (fso.FileExists(FileName)) 
    
    Set fso = Nothing
    
end Function

'********************************************************************
'*
'*  Функция   : FolderExist
'*  Описание  : Функция проверки существования папки
'*  Вход      : Имя папки
'*  Выход     : true, если папка существует, и false, если папка отсутствует.
'*
'********************************************************************
Function FolderExist (ByVal FolderName)
dim fso

    Err.Clear
    On Error Resume Next
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
        FolderExist = (FSO.FolderExists(FolderName)) 

    Set fso = Nothing
    
end Function

'********************************************************************
'*
'*  Функция   : FolderCreate
'*  Описание  : Функция создания папки по нужному пути
'*  Вход      : Полный путь к создаваемой папке.
'*  Выход     : нет
'*
'********************************************************************
Function FolderCreate (ByVal FolderName)
dim objFSO, objFolder

    Err.Clear
    On Error Resume Next
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set objFolder = objFSO.CreateFolder(FolderName)
        Set objFolder = Nothing
    Set objFSO = Nothing
    
    FolderCreate = Err.Number
    Err.Clear
    
end Function

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'#
'# Процедура TextFromFile
'# Описание: Возвращает текст из текстового файла
'# Вход    : полное имя к текстовому файлу
'# Выход   : ВЕСЬ текст из файла
'#
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TextFromFile (byval strFileName)

Const ForReading = 1

Dim objFSO, objTextFile

    Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set objTextFile = objFSO.OpenTextFile (strFileName, ForReading)        
            TextFromFile = objTextFile.ReadAll        
        Set objTextFile = Nothing
    Set objFSO = Nothing

End Function

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'#
'# Процедура TextToFile
'# Описание: Записывает текст в текстовый файла
'# Вход    : полное имя к текстовому файлу
'#         : текст для записи в файл
'# Выход   : нет
'#
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function TextToFile (byval strFileName, byval strText)

Const ForWriting = 2

Dim objFSO, objTextFile

    Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set objTextFile = objFSO.OpenTextFile (strFileName, ForWriting)
            objTextFile.WriteLine strText
        Set objTextFile = Nothing
    Set objFSO = Nothing

End Function


Это сообщение отредактировал(а) mihanik - 27.2.2011, 23:06


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0723 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.