Содержание
В Windows есть отличное средство управления синхронизацией времени — w32tm.
Основные команды конфигурации w32tm w32tm /monitor — Просмотр информации по домену. w32tm /resync — Команда принудительной синхронизации с заданным в конфигурации источником. w32tm /register – Включение службу времени и регистрирует её на компьютере. При этом вся ветка параметров в реестре создается заново. w32tm /unregister — Отключение службы времени т удаление её с компьютера. w32tm /config /update — Применить и сохранить конфигурацию. w32tm /config /syncfromflags:domhier /update – Задаем настройку синхронизации с контроллером домена. w32tm /config /syncfromflags:manual /manualpeerlist:time.windows.com – задать конкретные источники синхронизации времени по протоколу NTP.
Просмотр параметров (/query) w32tm /query /source – Показать источник времени. w32tm /query /status – Статус службы времени. w32tm /query /peers – Показать источники времени и их состояние. w32tm /query /computer: — Информация о стутусе синхронизации определенной станции (если имя не указано — используется локальный компьютер). w32tm /query /configuration — Вывод всех настроек службы времени Windows.
Синхронизация через Net time Так же можно воспользоватся вспомогательной службой net time для синхронизации времени. net time /setsntp:time.ntp.org — Задаем источник синхронизации. net time /querysntp — просмотр информации о заданном источнике времени. net time server.lan.local /set /y – Принудительная синхронизация с указанного источника.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Не секрет, что во многих организациях, использующих Linux наравне с Windows, есть небольшая проблема. Проблема заключается в том, что сообщения, отправляемые привычной для администраторов Windows командой net send, не принимаются компьютерами, на которых установлен Linux. В этом HOWTO описан простой способ создания системы приема сообщений net send на Linux-декстопе под управлением Ubuntu. Принимаемые сообщения будут появляться в небольшом автоматически появляющемся окне. Способ проверен на Ubuntu 7.04 и на Ubuntu 7.10, и успешно работает. Так же, без каких либо переделок, он должен подойти и для более поздних версий.
1. Убедиться, что установлены пакеты samba
, samba-common
, smbclient
, zenity
. Это можно сделать через Synaptic. Если какой-либо пакет не установлен, установить.
Пакет samba
устанавливает samba-сервер, который как раз и отслеживает поступление netsend сообщений. Программа smbclient
помимо поддержки работы в Windows-сетях позволяет отправлять с Linux-компьютера netsend сообщения. Как это делать будет написано ниже. Пакет samba-common
устанавливает необходимые библиотеки для работы сервера samba
и программы smbclient
. Пакет zenity
содержит программу zenity
, которая умеет показывать на экране простые графические интерфейсы. Мы будем ее использовать для того, чтобы вывести красивое окошко с пришедшим сообщением.
2. Под правами рута открыть на редактирование файл /etc/samba/smb.conf
, и в начало секции [ global ]
добавить строки
dos charset = 866 unix charset = UTF8 display charset = UTF8 message command = /bin/sh -c '/usr/bin/getnetsend.sh %s'
Данное действие справедливо для свежеустановленного пакета samba
. Если пакет samba
уже был установлен и подвергался настройке, необходимо убедиться, что каждая из приведенных опций не встречается в тексте файла /etc/samba/smb.conf
где-нибудь ещё.
В момент прихода сообщения netsend, сервер samba кладет в каталог /tmp
файл с текстом сообщения. Затем выполняет команду, прописанную в опции message command
. При вызове данной командной строки, вместо символов %s
, будет подставлено имя файла с текстом сообщения.
3. Под правами рута открыть на редактирование файл /etc/profile
, и в конец файла дописать строку
xhost +local:
Данная команда обязательно должна выполниться после запуска X-сервера. По умолчанию, X-сервер настроен так, что соединяться с ним и открывать окна могут только программы от пользователя, зарегистрированного в данный момент в системе. Сервер samba
работает под системным пользователем nobody
(так же как и, например программа cron
). Поэтому любые попытки запустить X-приложение из samba
будут отвергаться X-сервером.
Команда xhost +local:
, запущенная от текущего пользователя, настраивает X-сервер так, что он начинает принимать локальные (в пределах компьютера) соединения от любого пользователя. Таким образом, X-программа zenity
, которая вызывается из скрипта /usr/bin/getnetsend.sh
из-под пользователя nobody
, сможет нормально работать.
Для систем Ubuntu и Debian, размещать команду xhost +local:
нужно именно в файле /etc/profile
. Команды из этого файла выполняются после того, как произошел логин пользователя в оконную систему (справедливо для KDE, GNOME, на других DE не проверялось). По неизвестным причинам, файл /etc/X11/xinit/xinitrc
, который специально предназначенн для выполнения команд в момент входа в DE, в системах Ubuntu и Debian не работает.
4. Создать под правами рута в каталоге /usr/bin
файл getnetsend.sh
следующего содержания
#!/bin/sh # getnetsend.sh v.1.04 # Получаем номера активных дисплеев. # Это нужно, чтобы сообщение открывалось не только на дисплее :0, если в системе # одновременно открыто несколько сессий с разными пользователями disp=`ps -ef | awk '$8 ~ /X$/ {print $9}'` for n in $disp do export DISPLAY=${n} zenity --text-info --title="Net message" --filename $1 & done
Не забудьте назначить этому файлу права 755
! По-умолчанию такой файл обычно получает права 700
, что дает ему право работать только от root
, и сообщения не будут видны! Назначить права можно командой
chmod 755 /usr/bin/getnetsend.sh
На разных Linux-системах чаще всего разные команды запуска X-сервера, в связи с чем имеем разный вывод команды ps -ef
, который в нашем скрипте разбирается программой awk
.
В системе Ubuntu 7.04 строка процесса X-сервера имеет такой формат
root 5458 5432 13 14:29 tty7 00:15:48 /usr/bin/X -br -nolisten tcp :0 vt7 -auth /var/run/xauth/A:0-AKBbhb
то есть номер дисплея (:0) расположен в 12-м поле данной строки. А в системе Ubuntu 7.10 в строке процесса X-сервера ключи расположены в другой последовательности
root 5458 5432 13 14:29 tty7 00:15:48 /usr/bin/X :0 -br -nolisten tcp vt7 -auth /var/run/xauth/A:0-AKBbhb
то есть, номер дисплея расположен в 9-м поле.
Таким образом, первая команда в скрипте getnetsend.sh
должна соответствовать формату, выдаваемому программой ps
, иначе сообщения не будут видны.
Ubuntu 7.04:
disp=`ps -ef | awk '$8 ~ /X$/ {print $12}'`
Ubuntu 7.10:
disp=`ps -ef | awk '$8 ~ /X$/ {print $9}'`
Чтобы выяснить, правильно ли написана команда, выполните ее отдельно в консоли (при работающем X-сервере, само собой). Если в ответ вы увидите :0 (или список номеров дисплеев при открытых нескольких сессиях), значит, все в порядке.
5. Перезагрузить компьютер, войти под любым пользователем, и убедиться что приём сообщений работает.
Проверка
Проверку, как все работает, можно начать с того, чтобы компьютер отправил netsend сообщение самому себе. Для этого выполните такую команду (это аналог команды net send в Linux)
echo "Текст сообщения" | smbclient -M имя_компьютера
где имя_компьютера
– это сетевое имя данного компьютера (не IP-адрес!). Обратите внимание, что между командами используется перенаправление потока ( | ), а не файлового ввода ( > ). На экране должно появиться окошечко с текстом сообщения, так же, как это происходит и в Windows. Если сообщение не появляется, значит вы что-то сделали неправильно, и нужно начинать отладку. Например, можно включить в начало файла getnetsend.sh
команду
echo "Getnetsend running" >> /tmp/getnetsendlog.txt
после чего снова отправить сообщение и посмотреть файл /tmp/getnetsendlog.txt
, создался ли он вообще, и есть ли в нем строка «Getnetsend running». Если его нет, то скрипт вообще не вызывается самбой. Если он есть, то скрипт не может соединиться с X-сервером, чтобы показать окошечко. Дальше думайте сами, что вы сделали неправильно.
Если сообщение пришло, значит у нас все работает. Теперь пробуем отправить сообщение с Windows. На Windows-компьютере даем команду
net send имя_компьютера "Текст сообщения"
и если увидели сообщение, то радуемся. Если не увидели, значит Linux-компьютер и Windows-компьютер находятся в разных рабочих группах или в разных доменах.
Сервер samba принимает сообщения, адресуемые только конкретному компьютеру! Samba не принимает сообщения, отправленные «всем». То есть, если на Windows-компьютере дать команду
net send * "Текст сообщения"
то такое сообщение получат только Windows-компьютеры. Linux-компьютеры его проигнорируют. Посему, системный администратор, для рассылки сообщений «для всех», должен озаботиться поиском или написанием программки, которая получает список компьютеров в сети, и отправляет net send сообщения по списку.
Настройка приема сообщений, отправленных из Windows через net send, в виде автоматически появляющегося окна (Ubuntu HOWTO). — оригинал статьи.
Команда msg представляет собой команду командной строки, которая используется для отправки сообщения одному или нескольким пользователям в сети с помощью командной строки.
Команда msg аналогична команде net send, которая была популярна в Windows XP, но для нее это не настоящая замена. Увидеть Использование команды Msg для замены Net Send далее вниз по странице.
Когда запускается команда msg, на машинах (машинах), на которые он был отправлен, отображается сообщение, в котором отображается сообщение, а также имя пользователя отправителя и время отправки сообщения.
Доступность команд Msg
Команда msg доступна из командной строки в последних версиях операционных систем Windows, включая Windows 10, Windows 8, Windows 7, Windows Vista и Windows XP.
Команда msg также доступна с помощью инструмента командной строки, доступного в разделе «Дополнительные параметры запуска» и «Параметры восстановления системы».
Заметка: Доступность определенных командных переключателей msg и другого синтаксиса команды msg может отличаться от операционной системы к операционной системе.
Синтаксис команды Msg
тзд имя пользователя / Сервер: название сервера /время: секунд / v / ш сообщение
Совет: См. Как прочитать командный синтаксис, если вы не знаете, как интерпретировать синтаксис команды msg, как он написан выше или описан в таблице ниже.
имя пользователя | Используйте этот параметр, чтобы указать имя пользователя для отправки сообщение к. |
имя_сеанса | Уточнить имя_сеанса направить сообщение на определенный сеанс. |
идентификатор сессии | идентификатор сессии можно использовать для отправки сообщение на сеанс, используя идентификатор сеанса. |
@ имя файла | Использовать @имя файла возможность отправить сообщение к именам пользователей, именам сеансов и идентификаторам сеанса, указанным в указанном файле. |
* | * используется для отправки сообщение на каждую сессию на название сервера . |
/ Сервер: название сервера | название сервера это сервер, на котором имя пользователя , имя_сеанса , или же идентификатор сессии , проживает. Если нет название сервера указывается, сообщение будет отправлено как указано на сервере, на котором выполняется команда msg. |
/время: секунд | Указание времени в секунд с/время коммутатор дает команде msg длительность времени ожидания приемника сообщение для подтверждения его получения. Если приемник не подтверждает сообщение в секунд количество секунд, сообщение будет вызвано. |
/ v | / v switch позволяет использовать подробный режим команды, в котором будет отображаться подробная информация о действиях, выполняемых командой msg. |
/ ш | Эта опция заставляет команду msg ждать сообщения возврата после отправки сообщение ,/ ш коммутатор действительно полезен только с/ v переключатель. |
сообщение | Это сообщение, которое вы хотите отправить. Если вы не указали сообщение то вам будет предложено ввести один из них после выполнения команды msg. |
/? | Используйте переключатель справки с помощью команды msg, чтобы отобразить информацию о нескольких параметрах команды. |
Совет: Вы можете сохранить вывод команды msg в файл с помощью оператора перенаправления в самом конце команды. См. «Как перенаправить вывод команды в файл для общих инструкций» или «Командные подсказки» для получения дополнительных советов.
Примеры команд Msg
msg @myteam Тающий горшок в 13:00, на меня!
В этом примере команда msg используется для указания выбора числа пользователей, содержащихся в файле myteam @ имя файла , подключенном к серверу, чтобы встреча на «Плавильном котле» проводилась на обед сообщение .
msg RODREGT / сервер: TSWHS002 / время: 300
Здесь мы использовали команду msg для отправки сообщения RODREGT имя пользователя , сотрудник, который подключается к TSWHS002 / Сервер: название сервера сервер. Сообщение очень чувствительно к времени, поэтому мы даже не хотим, чтобы он видел его, если он не видел его через пять минут /время: секунд .
Поскольку сообщение не была указана, команда msg представит примечание в приглашении, в котором говорится: «Введите сообщение для отправки, завершите сообщение, нажав CTRL-Z в новой строке, а затем ENTER».
После ввода сообщение для RODREGT вы должны нажать Войти , тогда CTRL + Z, то Войти снова.
msg * / v Тестовое сообщение!
В приведенном выше примере мы отправляем всем подключенным к серверу тестовое сообщение сообщение . Мы также хотим увидеть конкретные задачи, которые выполняет команда msg для этого / v.
Это простой пример команды msg, который вы можете попробовать дома, без подключения пользователей к компьютеру. Вы увидите сообщение, появившееся на вашем собственном экране, и следующие данные в окне командной строки, благодаря использованию подробного переключателя:
Отправка сообщения на сеанс Консоль, время отображения 60 Сообщение Async, отправленное на сеанс Консоль
Использование команды Msg для замены Net Send
Команда msg предназначена для использования в качестве системы обмена сообщениями для пользователей сервера терминалов, не обязательно между двумя компьютерами Windows 7, например.
На самом деле вам может быть трудно получить команду msg для работы между двумя стандартными машинами Windows, такими как команда net send. Вы можете получить «Ошибка 5 получения имен сеанса» или ошибку «Ошибка 1825 получения имен сеанса».
Однако некоторым из них повезло использовать команду msg таким образом, изменив AllowRemoteRPC данные значения реестра из в 1 на компьютере, получающем сообщение (перезагрузите компьютер после изменения, если вы это сделаете).
Этот ключ находится в реестре Windows под улей HKEY_LOCAL_MACHINE в этом месте: SYSTEM CurrentControlSet Control Terminal Server .
Связанные команды Msg
Команда msg представляет собой сетевую команду, поэтому ее можно использовать с другими сетевыми командами, но обычно она будет использоваться одна для отправки сообщения.
Кроме того, как уже упоминалось несколько раз, команда msg аналогична команде отложенного net send.
Если вы когда-нибудь пользовались командой net send в Windows XP для отправки текстовых сообщений по сети, то, начиная с Windows Vista вас ожидает небольшое разочарование – net send’а больше нет. Вместо него теперь используется утилита msg.exe, но доступна она только в “старших” редакциях ОС (Business, Ultimate и т.п.) Если же у вас другая редакция Windows, например, Windows 8 для одного языка, то файлы утилиты msg можно взять из папки %windir%system32 установленной “старшей” редакции, например Win7 Ultimate. Нам понадобятся файлы msg.exe и файлы msg.exe.mui из подпапок en-US и ru-RU. Т.о. мы копируем себе %windir%system32msg.exe, %windir%system32ru-RUmsg.exe.mui и %windir%system32en-USmsg.exe.mui с сохранением структуры папок. Далее, для удобства, мы качаем файл net_messenger_for_wk8_w7_kit_v1.1.zip (us-en and pt-br).zip из статьи A net messenger script for Windows 7/2008. Распаковываем архив и запускаем netmessenger-eng.vbs, после чего вводим сообщение и псевдоним компьютера в сети, которому это сообщение предназначено. Для примера я отправляю сообщение сам себе, т.е. ввожу – compkaluga.ru и localhost, в результате я получу вот такое сообщение: Однако, если я попытаюсь отправить сообщение на другие ПК в сети, может ничего не произойти, т.е. получатель не увидит сообщения. В этом случае необходимо сконфигурировать ПК получателя для приема сообщений, прописав в реестре в параметре HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerAllowRemoteRPC единицу, т.е. значение параметра AllowRemoteRPC = 1 (DWORD) или выполнить сценарий enablemsg.vbs из архива выше, после чего либо перезагрузиться, либо перезапустить службы удаленных рабочих столов: net stop TermService net start TermService
Приветствую! Очень часто в своих статьях мы пишем, что, чтобы что-то починить, одним из пунктов нужно сделать сброс сетевых настроек на Windows 10. Дабы не плодить одни и те же инструкции, этот раздел я хочу вынести отдельно, чтобы в дальнейшем ссылаться на него. Кратко, понятно, по делу.
Нашли ошибку? Остались вопросы? Что-то пошло не так? Оставьте комментарий к этой статье, и мы или другие читатели обязательно ответят на него! Спасибо!
Содержание
Удобный способ
Если сеть стала работать очень странно, самый простой способ исправить это – сделать это. Если раньше мы это делали с помощью команд (будет ниже), то в недавнем обновлении Windows 10 это стало возможным сделать в один клик. Буквально вчера пришлось делать это на боевой машине, а сегодня я это покажу в статье.
- Переходим в «Параметры»:
- Сеть и интернет:
- Листаем чуть ниже и видим пункт «Сброс сети»:
- Нажимаем на кнопку «Сбросить сейчас»:
- Операционная система начнет процедуру выполнения команд, а после чего попросит перезагрузку – после этого все подключения будут как новенькие!
После перезагрузки появятся стандартные предложения определить сеть как общедоступную или частную. Пароль от Wi-Fi тоже придется вводить заново!
С помощью netcfg
Еще один стандартный способ сбросить сетевые настройки в Windows 10 – с помощью команды:
netcfg -d
Запускаете командную строку или Windows PowerShell ОТ ИМЕНИ АДМИНИСТРАТОРА и выполняете эту команду:
Все сбрасывается и перезагружается. Эффект примерно тот же.
Еще подборка команд
В дополнение к предыдущему методу оставляем нашу джентельменску подборку команд для сброса настроек сети через командную строку. Выполняем последовательно:
Вот и все. Пробуйте. Выполняйте. Скорейшего разрешения ваших компьютерных проблем!
ли со статьей или есть что добавить?