Ответы пользователя по тегу Компьютерные сети
  • Как с помощью Powershell установить соединение PPPoE?

    @Igor_Ya
    К сожалению это выводит лишь окошечко подключения, за которым ещё окошечко и т.д. Это не подключает.
    Хотя в Windows 8 это окно выводило на подключению сразу, без новых безумных metro окон.

    $itemName = 'Ростелеком'
    $pressIt = 'Подкл&ючить/отключить'
    $sa = New-Object -ComObject Shell.Application
    $sa.NameSpace(49).Items() | foreach ({
        if($_.Name -eq $itemName){
            $_.Verbs() | foreach ({
                if ($_.name -eq $pressIt){
                    $_.DoIt()
                    break
                }
            })
        }
    })


    Похоже сам запрос "не прибегая к rasphone.exe и rasdial.exe" бессмысленен ... по крайней мере в отношении к rasdial.exe.
    Дело в том, что судя по всему, он просто является "входными воротами" в процесс программного подключения, если пользователь пожелает это сделать. И дальнейший его путь пойдёт теми же dll-ками и исполняемыми файлами, которые активируются стандартным нажатием кнопки подключить.
    Простейший скрипт Powershell
    $x='Ростелеком'
    $a='login';
    $b='password';
    $c=$env:WINDIR+'\System32\rasdial.exe';
    &$c @($x,$a,$b) 2>&1|ForEach{
             $_
    };

    выведет вам ровно те же ошибки и сообщения, которые вы видите при обычном подключении.
    То, что нужно вводить имя подключения Ростелеком к примеру - ни о чём не говорит, его можно взять из реестра.
    HKEY_USERS\'+ваш GUID+'\Software\Microsoft\RAS Phonebook
    параметр DefaultEntry - Подключение по умолчанию.
    Ну а логин и пароль - чтобы все программы массово не стали ломиться в открытые ворота.
    Важно, если не хотите увидеть крякозябры, не запускайте в среде powershell ISE.
    Запуск стандартным Powershell файла ps.1 при помощи ярлыка
    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -ExecutionPolicy Bypass -File "G:\mypath\name.ps1"
    Ответ написан
    Комментировать