Форум программистов, компьютерный форум, киберфорум
Наши страницы
PowerShell
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Ilya_Nav1
3 / 3 / 0
Регистрация: 07.08.2019
Сообщений: 13
1

Wake-On-Lan через Powershell

13.09.2019, 06:15. Просмотров 1060. Ответов 2
Метки нет (Все метки)

Добрый день, уважаемые Кибер-форумчане. У меня возникла некая сложность, нашел скрипт включения пк через powershell

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
$Mac="54-04-A6-F2-3E-60" #MAC-адрес пк
$BroadcastProxy=[System.Net.IPAddress]::Broadcast 
$Ports = 7,9 #Порты
 
$synchronization = [byte[]](,0xFF * 6) #цепочк синхронизации «Magic packet»
$bmac = $Mac -Split '-' | ForEach-Object { [byte]('0x' + $_) } #Преобразовываем mac адрес в тип [byte]
$packet = $synchronization + $bmac * 16 
 
$UdpClient = New-Object System.Net.Sockets.UdpClient #Запускаем конструктор класса UdpClient
 
ForEach ($port in $Ports) {$UdpClient.Connect($BroadcastProxy, $port)
    $UdpClient.Send($packet, $packet.Length) | Out-Null}
$UdpClient.Close()
Скрипт работает только в подсети того сервера, с которого скрипт запускался, а мне нужно, чтобы он работал с любой подсети в рамках домена. Пробовал заменить $BroadcastProxy=[System.Net.IPAddress]::Broadcast на $BroadcastProxy="ip-адрес включаемого пк" и на $BroadcastProxy="ip-адрес сервера в той подсети, в которой включается комп". Не помогает. Может кто-то что-то подскажет?
2
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2019, 06:15
Ответы с готовыми решениями:

Wake on lan
Прошу полноценно разобраться в данной функции: т.е. как настроить с самого начала и до конца. Искал...

Уведомление по email через powershell
Всем добрый день, пацаны нужна помощь ! Каждое утро запускается powershell script , который...

Подключение к RDP через Powershell
Доброго времени суток! Есть необходимость на Powershell сделать скрипт, который будет выбирать...

Soap запрос через powershell
Добрый день, есть задача получать информацию с URl http://calc.motorwert.ru/soapsvc через SOAP...

Как отключить PowerShell через реестр?
Есть ли способ отключить Powershell в реестре? И можно ли заблокировать выполнение команд или...

2
KDE777
1600 / 1026 / 403
Регистрация: 22.01.2016
Сообщений: 2,850
13.09.2019, 10:05 2
Лучший ответ Сообщение было отмечено Ilya_Nav1 как решение

Решение

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

Как вариант - будить с работающего хоста в нужной подсети, через Invoke-Command.
2
Ilya_Nav1
3 / 3 / 0
Регистрация: 07.08.2019
Сообщений: 13
16.09.2019, 01:39  [ТС] 3
Благодарю
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2019, 01:39

Запуск нескольких ps1 скриптов через Powershell
Всем привет. Есть папка в которой находятся ещё папки, в этих папка лежат файлы с одинаковым...

Перезапуск программы на удалённых машинах через PowerShell
Здравствуйте,уважаемые участники CyberForum. Убить процесс на удалённых машинах особого труда не...

Смена пользовательской папки в домене через Powershell
Знаю если делать напрямую через AD то, переменная %username% - конвертируется в имя и создает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.