Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2012/2012 R2 » 2012 R2 - отправка сообщений пользователям AD

Ответить
Настройки темы
2012 R2 - отправка сообщений пользователям AD

Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


С помощью какого штатного средства можно отправить всем пользователям домена (или группе пользователей) сообщение и как? Все пользователи под управлением виндовс 7 и 10.

1) net send - только для виндовс ХР или менее
2) msg.exe - только для удалённого рабочего стола

подскажите, какой же вариант для AD?

Отправлено: 17:13, 02-11-2016

 

Ветеран


Сообщения: 1496
Благодарности: 384

Профиль | Отправить PM | Цитировать


Нет стандартного способа. Вот я писал такой скрипт:

$objDomain = New-Object System.DirectoryServices.DirectoryEntry("LDAP://OU=LV,OU=Computers,OU=Company,DC=domain,DC=local")
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher($objDomain,"(objectCategory=computer)",@('name'))
$objSearcher.FindAll() | %{$_.properties.name} | %{cmd /c "msg console /server:$_ /time:300 Alarma! El ritmo fatal!"}

Но уткнулся в ряд проблем. Например, а у кого есть права посылать сообщение? А все ли консольные сессии доступны?
Ай, в итоге пришлось отказаться.

-------
Microsoft Certified Trainer; Cisco Certified Systems Instructor; Certified EC-Council Instructor; Certified Ethical Hacker v8.


Отправлено: 09:55, 04-11-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


WindowsNT, и что-нибудь придумали на замену?

Отправлено: 09:58, 04-11-2016 | #3


Ветеран


Сообщения: 1496
Благодарности: 384

Профиль | Отправить PM | Цитировать


Для получения статуса сессии console требовались права адм, это раз.
Второе - команда cmd отрабатывает минимум несколько секунд, для хотя бы 500 машин нужны десятки минут. Это проблема.

Отказались мы в итоге от идеи рассылать сообщения. Решили, что такая схема работает лучше:
Звонок руководителю > он звонит паре человек в своём отделе > люди перезваниваются в пределах отдела.

-------
Microsoft Certified Trainer; Cisco Certified Systems Instructor; Certified EC-Council Instructor; Certified Ethical Hacker v8.


Отправлено: 16:49, 04-11-2016 | #4


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата WindowsNT:
Второе - команда cmd отрабатывает минимум несколько секунд, для хотя бы 500 машин нужны десятки минут. Это проблема. »
Спасибо, ясно. Ваша идея с msg.exe мне нравится.

Цитата WindowsNT:
Второе - команда cmd отрабатывает минимум несколько секунд, для хотя бы 500 машин нужны десятки минут. Это проблема. »
А не пробовали тупо использовать параллельные сессии, наподобие:
Код: Выделить весь код
… $objSearcher.FindAll() | %{$_.properties.name} | %{Start-Process -FilePath "c:\Windows\System32\msg.exe" -ArgumentList "console /server:$_ /time:300 Alarma! El ritmo fatal!" -WindowStyle Hidden}
?! Что думаете?

Тут можно, конечно, и не все 500 зараз, а попробовать использовать -PassThru и очередь на какое-то определённое количество одновременных процессов, разумеется, с предварительной проверкой доступности хотя бы пингом, дабы msg.exe не топтался в бесполезных попытках достучаться до выключенной машины.


Цитата WindowsNT:
Для получения статуса сессии console требовались права адм, это раз. »
Не могли бы Вы пояснить, в каком месте приведённого Вами кода это нужно? Или вообще не в том дело? Не соображу.

И, если ещё не устали от вопросов — пояснить более подробно по этим пунктам:
Цитата WindowsNT:
Например, а у кого есть права посылать сообщение? А все ли консольные сессии доступны? »

Отправлено: 17:56, 04-11-2016 | #5


Ветеран


Сообщения: 1496
Благодарности: 384

Профиль | Отправить PM | Цитировать


Мы хотим послать сообщение командой msg не абы куда, а в консольную сессию. Для этого её нужно "увидеть" и опознать.
Для энумерации сессий (session enumeration) требуются права адм. на удалённой машине. Так это отрабатывало у меня. Это что касается прав.

Вот на этом я и остановился, так как выдавать такие права всем подряд не собирался.
Проверять параллельность запуска cmd при этом уже было неинтересно .)

По доступности консольных сессий так: не все сотрудники присутствуют у компьютера.
- кто-то залокал машину и ушёл, он сообщения не увидит. Кто-то не логонился вообще;
- кто-то проигнорирует очередное выскочившее окно или именно в этот момент нажмёт пробел - всё, окна нет;
- иногда сообщение почему-то не появляется впереди других окон, остаётся позади;
- в целом, сообщения (например, смс) от явного вызова (например, звонка) отличаются тем, что на них можно реагировать в отложенном режиме.

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

-------
Microsoft Certified Trainer; Cisco Certified Systems Instructor; Certified EC-Council Instructor; Certified Ethical Hacker v8.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:14, 07-11-2016 | #6



Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2012/2012 R2 » 2012 R2 - отправка сообщений пользователям AD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Отправка сообщений alexuvv Скриптовые языки администрирования Windows 1 09-06-2012 10:30
Отправка SMS сообщений Vagac AutoIt 5 29-02-2012 20:04
Отправка сообщений SMS Delirium Microsoft Exchange Server 8 19-06-2008 15:04
Службы - Рассылка сообщений пользователям eboue Microsoft Windows 2000/XP 1 23-03-2008 14:09
Отправка SMS сообщений. Parlament Хочу все знать 9 12-08-2003 04:05




 
Переход