![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Создание подписи в Outlook 2007/2010 батником. |
|
CMD/BAT - Создание подписи в Outlook 2007/2010 батником.
|
Новый участник Сообщения: 7 |
Доброго времени суток, уважаемые коллеги!
Передо мной встала задача автоматической вставки подписи в Outlook 2007 / 2010 в windows 7 / 2k8r2 для каждого пользователя. Из железа имеется один сервер терминалов и около 100 компьютеров с Windows 7. Подпись состоит из пары картинок и контактной информации пользователя (фамилия, имя, внутренний телефон, мобильный телефон и опционально скайп). Для удобства решил всю эту информацию хранить в одном месте - в Active Directory и "дергать" ее от туда посредством команд dsquery и dsget. Принцип работы следующий: 1. генерируем в Outlook шаблон подписи со всеми картинками и позиционированием. 2. удаляем из шаблона информацию о конкретном пользователе, под кем в Outlook'е генерим шаблон (поскольку она у меня в конце шаблона, то тупо удаляю последние строки, которые потом добавлю батником,). это делается однократно. 3. вот сам батник: @echo off set ifpath=%userprofile%\AppData\Roaming\Microsoft set destpath=%userprofile%\AppData\Roaming\Microsoft\Signatures set sourcepath=D:\Users\Default\Source\Signatures if not exist "%ifpath%\Outlook" goto :end if exist "%destpath%\auto.files" goto :end :begin for /f "tokens=*" %%a in ( 'cmd.exe /c dsquery user -samid %username%' ) do set qwe=%%a for /f "eol=d tokens=*" %%b in ( 'cmd.exe /c dsget user %qwe% -fn' ) do set fstnm=%%b for /f "eol=d tokens=*" %%b in ( 'cmd.exe /c dsget user %qwe% -ln' ) do set lstnm=%%b for /f "eol=d tokens=*" %%b in ( 'cmd.exe /c dsget user %qwe% -title' ) do set title=%%b for /f "eol=d tokens=*" %%b in ( 'cmd.exe /c dsget user %qwe% -company' ) do set company=%%b for /f "eol=d tokens=*" %%b in ( 'cmd.exe /c dsget user %qwe% -mobile' ) do set mobile=%%b for /f "eol=d tokens=*" %%b in ( 'cmd.exe /c dsget user %qwe% -pager' ) do set pager=%%b for /f "eol=d tokens=*" %%b in ( 'cmd.exe /c dsget user %qwe% -tel' ) do set telephone=%%b :deleting rd /S /Q %destpath%\* del /F /Q %destpath%\* :copying echo D | xcopy %sourcepath%\auto.files %destpath%\auto.files /H /E /G /R /Y echo F | xcopy %sourcepath%\auto.htm %destpath%\auto.htm /H /E /G /R /Y @chcp 1251 > nul echo %fstnm: =%%lstnm: =%^<br^> >> %destpath%\auto.htm echo %title: =% >> %destpath%\auto.htm echo %company: =% >> %destpath%\auto.htm echo ^<br^> >> %destpath%\auto.htm @chcp 866 > nul for /f "tokens=1-4" %%c in (%sourcepath%\array.txt) do echo %%c %%d Renault %%e %%f^<br^> >> %destpath%\auto.htm for /f "tokens=5,6" %%c in (%sourcepath%\array.txt) do echo %%c - %%d^<br^> >> %destpath%\auto.htm for /f "tokens=7,8" %%c in (%sourcepath%\array.txt) do echo %%c.: 8-123-456-7890, %%d.: %telephone%^<br^> >> %destpath%\auto.htm @if "%mobile%"=="" goto :skipmobile for /f "tokens=9" %%c in (%sourcepath%\array.txt) do echo %%c.: %mobile%^<br^> >> %destpath%\auto.htm :skipmobile @if "%pager%"=="" goto :skipskype echo Skype: ^<span lang^=EN-US style^='font-size:9.0pt;font-family:"Arial","sans-serif"; color:black;mso-ansi-language:EN-US'^>%pager%^</span^>^<br^> >> %destpath%\auto.htm :skipskype for /f "tokens=*" %%d in (%sourcepath%\end.txt) do echo %%d >> %destpath%\auto.htm reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\00000003" /v "New Signature" /t REG_BINARY /d 6100750074006F000000 /f reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676\00000003" /v "Reply-Forward Signature" /t REG_BINARY /d 6100750074006F000000 /f :end В связи с этим у меня вопрос: существует ли возможность установить только средства командной строки AD (dsquery и dsget и т.д.)? если же такой возможности Microsoft не предоставляет, имеется ли в арсенале клиентских машин консольные средства, которыми можно будет выдернуть нужные мне для подписи данные из AD. Заранее благодарен за помощь. |
|
Отправлено: 15:40, 09-01-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата BumbleBee:
|
|
Отправлено: 16:16, 09-01-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата:
|
|
Отправлено: 16:48, 09-01-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Естественно. Или на JScript. Кому что нравится.
Непонятно только почему «…и скрипт». Только скрипт. Вместо пакетного файла и использованных утилит командной строки. |
Отправлено: 17:05, 09-01-2014 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Тогда, как мне кажется, стоит задуматься в сторону PoSh. Поскольку ни VBScript ни JScript я должным образом не знаю. А почему не только скрипт? - просто Outlook при создании подписи добавляет в него строки стилевых настроек, и, как мне опять же показалось, 500 строк лучше держать отдельным файлом. Хотя, в силу своего опыта в решении подобных вещей, как написание скриптов, я, возможно, решил задачу достаточно громоздким способом.
![]() Просто мне казалось, что все-таки можно добавить в клиентскую систему только консольные утилиты AD. |
|
Отправлено: 17:33, 09-01-2014 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Если есть возможность везде использовать PoSH — вполне возможно. Какой-то принципиальной разницы в доступе к AD нет.
Цитата BumbleBee:
|
|
Отправлено: 18:15, 09-01-2014 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2010 - Outlook 2007/2010 | Перенос данных | Muslitel | Microsoft Office (Word, Excel, Outlook и т.д.) | 12 | 29-12-2017 10:19 | |
2010 - Перенос всех писем и адресной книги из outlook 2007 в outlook 2010 | ath01 | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 23-04-2014 09:37 | |
Любой язык - [решено] Добавление учетной записи в Outlook 2007/2010 | timbird | Скриптовые языки администрирования Windows | 2 | 18-04-2013 16:49 | |
2007 - Outlook 2007 бегущая строка в подписи | Raz0rnsk | Microsoft Office (Word, Excel, Outlook и т.д.) | 0 | 01-08-2012 08:09 | |
2007 - [решено] Outlook 2007 - Проблема с запуском после удаления Office 2010 | MIGhters | Microsoft Office (Word, Excel, Outlook и т.д.) | 5 | 29-02-2012 09:17 |
|