У нас есть сервер, которому требуется подключение к локальной сети и GPRS. Мы настроили коммутируемое соединение в Windows, но нам нужно, чтобы оно запускалось всякий раз, когда сервер запускается без взаимодействия с пользователем и без входа пользователя в систему. Очень похоже на сервис.
Как мы можем это сделать?
Это Windows 2008 Web Server Edition (R2)
Возможно, вы сможете сделать следующее, но в настоящее время у меня нет тестовой системы, с которой можно было бы работать.
Создайте командный файл с помощью следующей команды:
@echo off
rasdial "Name of GPRS connection" [username [password]]
В username
и password
поля являются необязательными и необходимы только в том случае, если вы не сохранили учетные данные для всех при создании подключения. Конечно, любой, у кого есть разрешения, может прочитать имя пользователя и пароль из этого файла, что может быть или не быть проблемой.
Сохраните командный файл в том месте, которое вы вспомните (например, C: \ Windows или C: \ Scripts или что-то в этом роде), запустите gpedit.msc
, перейдите к Computer Settings
-> Windows Settings
-> Scripts (Startup/Shutdown)
и дважды щелкните Startup
.
Однажды Startup Properties
диалоговое окно загружается, добавьте новый сценарий, который указывает на пакетный файл, созданный выше (например: C:\Windows\DialGPRS.cmd
). и ударил OK
. При следующей перезагрузке системы компьютер автоматически запустит все сценарии, перечисленные в редакторе локальной групповой политики.
Поскольку я не могу это проверить, он может запустить команду и не установить соединение до того, как сеть или компьютер будут готовы фактически обработать соединение. Если это так, вам нужно вместо этого использовать два командных файла. Два пакетных файла позволяют нам обойти тайм-аут сценария, из-за которого Windows может завершить наш пакетный сценарий, если это займет слишком много времени.
Пакетный файл, запускаемый скриптом запуска компьютера:
C: \ Windows \ StartGPRSConnection.cmd
start /min "" "C:\Windows\DialGPRS.cmd"
Пакетный файл, запущенный предыдущим пакетным файлом:
C: \ Windows \ DialGPRS.cmd
@echo off
timeout 30
rasdial "Name of GPRS connection" [username [password]]
Первый командный файл вызывается Windows при запуске системы. Он запускает фактический сценарий набора номера как другой процесс и немедленно завершает работу, чтобы ваш компьютер не ждал Running Computer Startup Scripts
фаза запуска. Команда тайм-аута (доступна только в Server 2003 / Vista / + и выше, недоступна в XP) принимает в качестве аргумента количество секунд, которое вы хотите подождать. В приведенном выше примере он будет ждать 30 секунд перед попыткой дозвона. Очевидно, при необходимости его можно увеличивать или уменьшать.
Посмотри на интерфейсы вызова по требованию в службе маршрутизации и удаленного доступа. Вы можете настроить соединение как постоянное, и это должно дать вам желаемое поведение.
Хорошо, вот немного неуклюжее решение, так что принимайте его как следует:
Установите коммутируемое соединение на автоматический набор.
Настройте IE на использование удаленного доступа и автоматическое подключение.
Перейдите к HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run в реестре и добавьте новое строковое значение.
Назовите String Value как хотите и добавьте это как данные: ieplore.exe «ip-адрес сервера» (без кавычек).
Это заставит IE запускаться на веб-сайте по умолчанию на сервере и автоматически набирать GPRS-соединение при каждой перезагрузке сервера.
В качестве альтернативы вы можете настроить IE для запуска на любом веб-сайте, который вы хотите, но, вероятно, безопаснее запускать его на веб-сайте на самом сервере. Главное - запустить IE и автоматически набрать GPRS-соединение.