Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Замена Net Send

Ответить
Настройки темы
PowerShell - Замена Net Send

Аватара для dosperados

Пользователь


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

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


Изменения
Автор: dosperados
Дата: 29-12-2011
Как все знают начиния с Vista а также в Win 7 нет команды net send, что ну очень неудобно...
Я придумал как на 7ки на Vista и XP отправлять сообщения - описал это в своем блоге. Блог Dosperados

Отправлено: 05:38, 16-12-2011

 

Аватара для dosperados

Пользователь


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

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


Многие начинающие админы после появления в своей сети машин с ОС Windows 7 задумались над тем как отправлять на них сообщения (оповещения).

В Windows XP была удобная хотя и очень привередливая "служба отправки сообщений" эта служба позволяла отправлять сообщения всем ПК в домене net sent * "Текст сообщения!" Но были значительные ограничения на количество знаков, которые можно было написать в сообщении. Очень часто сообщения не влезали, но это не самое страшное: Сообщения частенько не доходили из-за того, что у кого то отключена служба у кого то, она просто остановилась и если человек заблокировал ПК он не увидеть сообщение, до разблокировки своей станции.

В результате поисков родилось следующее решение, данной проблемы. Будем использовать POWERSHELL. Единственным его недостатком яв-ся, то что сообщение сможет отправить только администраотр.

отправка сообщений на Windows 7.ps1

Для работы командлета Get-QadComputer, необходимо установить комадлеты от Quest Software для работы с AD
PHP код: Выделить весь код

#параметры

param (
 
$message = (Read-Host -Prompt "Введите текст сообщения для отправки: ")
 )
$cComps = @()
$OnlinePC = @()
$OfflinePC = @()
# Создаем переменную процесса с параметрами
$Proc "msg.exe -v -time:90000 * $message"
# Получение Всех ПК из АД
$cComps GET-QADcomputer | % { $_.Name }
Write-Host "Сheck the availability of PC, please wait...`t" -NoNewline
$cComps 
Sort-Object name | % {
$name $_
if (test-connection -computer $name -quiet -Count 1 ) { $OnlinePC += $name}
 else { if (
test-connection -computer $name -quiet) {$OnlinePC += $name$OfflinePC += $name}
 }
Write-Host "Done!"
Write-Host "ON line PC:"$OnlinePC.Count
Write
-Host "OFF line PC:"$OfflinePC.Count -ForegroundColor red
$OnlinePC 
| % {
([
WMICLASS]"\\$_\Root\CimV2:Win32_Process").create($Proc) | Out-Null
if ($?) {"Сообщение на $_ отправлено"} else {Write-Host "На $_ проблемы с отправкой сообщения" -BackgroundColor Black -ForegroundColor Red}
 }
$OfflinePC | %{
Write-Host $_ "OFF Line" -BackgroundColor Red -ForegroundColor Black


Вот отдельно представляю функцию Send-NetMessage
для удовства можно поместить ее в профиль powershell`a и слегкостью пользоваться...
PHP код: Выделить весь код

<#

.SYNOPSIS 
Отправка сообщений на ПК Win 7
VistaXP. (по типу Net Send)

.
PARAMETER message
Текст сообщения для отправки
.

.
PARAMETER name
Имя ПК для отправки
.

.
INPUTS
Необходимо указать параметры 
"Message""Name".

.
EXAMPLE
PS
Send-Messege -Name comp-01 -Message "Текст сообщения"

.NOTES
Author
:  Yakel Vitaly

#>
function Send-NetMessage {
param    (
     
$message = (Read-Host -Prompt "Введите текст сообщения для отправки: "),
    
$name = (Read-Host -Prompt "Введите Имя ПК: ")
         )
# Создаем переменную процесса с параметрами
$Proc "msg.exe -v -time:90000 * $message"

([WMICLASS]"\\$name\Root\CimV2:Win32_Process").create($Proc) | Out-Null
if ($?) {"Сообщение на $name отправлено"} else {Write-Host "На $name
проблемы с отправкой сообщения" 
-BackgroundColor Black -ForegroundColor Red}



Отправлено: 12:41, 29-12-2011 | #2



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

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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Замена Net Send

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Службы - net send werov Microsoft Windows 7 3 19-04-2011 11:18
VBS/WSH/JS - net send RUVATA Скриптовые языки администрирования Windows 2 12-08-2010 13:35
Net send или Mail Send SH Admin Microsoft Windows NT/2000/2003 3 01-02-2010 21:02
Службы - Net Send Bullet-Avalon Microsoft Windows 2000/XP 0 02-10-2008 10:59
Службы - net send GuseV Microsoft Windows 2000/XP 7 26-07-2007 11:22




 
Переход