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

Показать сообщение отдельно

Ветеран


Сообщения: 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