none
Вопрос по созданию письма с текстом RRS feed

  • Вопрос

  • Доброго времени суток светлые головы.

    Хочу создать кнопочку "Техническая поддержка" в свойствах системы чтобы при нажатии формировалось письмо в котором будет указано следующее:

    UserName

    DomainName

    IP

    HostName

    OS

    Я так понимаю что все это нужно описать в параметрах к протоколу mailto. Кто нибудь может подсказать текст такого письма?

Ответы

  • Всем спасибо за попытку вникнуть в мою проблему, но как говорят утро вечера мудренее, все решилось следующим образом:

    VB скрипт следующего содержания:

    'Powered by Kornevich Vadim
    '04.05.2012
    '

    Dim Outlook, MailItem, strBody
    ON ERROR RESUME NEXT

    'Объявляем переменные

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set IPConfigSet = objWMIService.ExecQuery ("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    set WshShell = WScript.CreateObject("WScript.Shell")
    set Outlook = CreateObject("Outlook.Application")
    set MailItem = Outlook.CreateItem(0)


    'Собираем данные о компьютере и создаем шаблон письма
    For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then
     strBody = "Краткое описание Вашей проблемы:"& VbCrLf & _
     "Ваш контактный номер телефона:"& VbCrLf & _
     VbCrLf & _
     "=================================================="& VbCrLf & _
     "Пожалуйста не удаляйте ниже приведеную информацию," & VbCrLf & _
     "она необходима для службы технической поддержки!" & VbCrLf & _
     "Имя учетной записи: " & WshNetwork.username & VbCrLf & _
     "Имя компьютера: " & WshNetwork.computername & VbCrLf & _
     "IP адрес: " & IPConfig.IPAddress(LBound(IPConfig.IPAddress)) & VbCrLf & _
     "Домен компьютера: " & WshShell.ExpandEnvironmentStrings("%Userdomain%")
     'WScript.Echo strBody
    End If

    'Создаем письмо с необходимыми параметрами

    MailItem.Subject = "Введите тему обращения!"
    MailItem.To = "Support@domain.ru"
    MailItem.Body = strBody
    MailItem.Display

    Next

    Далее правка в реестре:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]
    "SupportHours"="24/7"
    "SupportPhone"="(050) 8888"
    "SupportURL"="file://путь к файлу\имя.vbs"

    И все заработало!.. Проблему считаю закрытой!


    • Изменено Корней 4 мая 2012 г. 7:02
    • Помечено в качестве ответа Корней 4 мая 2012 г. 7:32

Все ответы

  • хм

    В Windows 7 не кнопка, а ссылка "Техническая поддержка", которая прописывается в параметре реестра

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation\SupportURL

    Напрямую указать ссылку mailto, наверно не получится, поскольку требуется не статическая ссылка, а динамически изменяющаяся в зависимости от изменения параметров пользователя и рабочей станции. Но вместо этого можно указать локальный путь к скрипту (или программе), который бы запускался по щелчку на ссылке, собирал необходимую информацию, формировал ссылку вида

    mailto:mymail@example.com?subject=I have a problem&body=My UserName: Ivan My IP 10.10.10.10 My DomainName Comp........

    и запускал бы почтовый клиент по умолчанию.

    Дело за малым. Написать скрипт, делающий это с учетом необходимости конвертирования спецсимволов в запросе, кодировок кириллицы и специфических особенностей различных почтовых клиентов)

    Или есть способ проще?


    Да я просто почитать зашел :-)

  • Всем спасибо за попытку вникнуть в мою проблему, но как говорят утро вечера мудренее, все решилось следующим образом:

    VB скрипт следующего содержания:

    'Powered by Kornevich Vadim
    '04.05.2012
    '

    Dim Outlook, MailItem, strBody
    ON ERROR RESUME NEXT

    'Объявляем переменные

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set IPConfigSet = objWMIService.ExecQuery ("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    set WshShell = WScript.CreateObject("WScript.Shell")
    set Outlook = CreateObject("Outlook.Application")
    set MailItem = Outlook.CreateItem(0)


    'Собираем данные о компьютере и создаем шаблон письма
    For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then
     strBody = "Краткое описание Вашей проблемы:"& VbCrLf & _
     "Ваш контактный номер телефона:"& VbCrLf & _
     VbCrLf & _
     "=================================================="& VbCrLf & _
     "Пожалуйста не удаляйте ниже приведеную информацию," & VbCrLf & _
     "она необходима для службы технической поддержки!" & VbCrLf & _
     "Имя учетной записи: " & WshNetwork.username & VbCrLf & _
     "Имя компьютера: " & WshNetwork.computername & VbCrLf & _
     "IP адрес: " & IPConfig.IPAddress(LBound(IPConfig.IPAddress)) & VbCrLf & _
     "Домен компьютера: " & WshShell.ExpandEnvironmentStrings("%Userdomain%")
     'WScript.Echo strBody
    End If

    'Создаем письмо с необходимыми параметрами

    MailItem.Subject = "Введите тему обращения!"
    MailItem.To = "Support@domain.ru"
    MailItem.Body = strBody
    MailItem.Display

    Next

    Далее правка в реестре:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation]
    "SupportHours"="24/7"
    "SupportPhone"="(050) 8888"
    "SupportURL"="file://путь к файлу\имя.vbs"

    И все заработало!.. Проблему считаю закрытой!


    • Изменено Корней 4 мая 2012 г. 7:02
    • Помечено в качестве ответа Корней 4 мая 2012 г. 7:32