5

Я пытаюсь заставить Virtual Wifi Adepter работать на Win 7 Professional. Я хочу поделиться Wi-Fi-соединением (я думаю, что оно работает с кабельным соединением), и я почти уверен, что сетевая карта должна быть в состоянии сделать это, так как это ноутбук Dell с прошлого года (Dell XPS 15 с Wi-Fi-адаптером Intel ). До сих пор я сделал следующее:

1) Запуск cmd.exe от имени администратора

2) netsh wlan set hostednetwork mode=allow ssid=test key=testkey1 возвращает положительный отзыв (режим для размещенной сети разрешен, SSID изменен и т.д.)

3) netsh wlan show hostednetwork возвращает то, что я ранее ввел

4) netsh wlan start hostednetwork возвращает положительный отзыв (запущенная сеть запущена)

5) В Control Panel\Network and Internet\Network and Sharing Center вы можете видеть, что ПК подключен к сети Wi-Fi с помощью адаптера Wi-Fi и с тестовой сетью с помощью одного из двух виртуальных адаптеров.

6) netsh wlan show hostednetwork возвращает ошибку (группа или ресурс не в правильном состоянии для этого действия), и мое мобильное устройство не находит предложенное соединение

Я попытался удалить / деактивировать два виртуальных сетевых подключения и деинсталлировать два виртуальных адаптера Wi-Fi в диспетчере устройств и перезагрузить компьютер. До сих пор я только читал об обнаруженной ошибке во время команды запуска.

Любые идеи, как это исправить или как начать все заново в настройке виртуального Wi-Fi? Этим утром это работало, за исключением общего Интернета, который будет следующим шагом. (но с использованием дополнительного кабельного соединения, которое я опробую позже вечером и сообщу вам)

Ура, Даниэль

5 ответов5

3
netsh wlan set hostednetwork mode=disallow 

остановит службу и удалит виртуальный порт

1

@Daiel ... Может быть ряд проблем, способствующих вашей проблеме. Не играйте в игру удаления с виртуальным роутером. Возможно, вы допустили ошибку в своей конфигурации, и это может вызвать проблемы. выполните следующие шаги, и вы должны быть в порядке.

  • Запустите командную строку от имени администратора (с повышенными привилегиями)
  • введите следующее; netsh wlan stop hostednetwork
  • Подождите немного и наберите netsh wlan start hostednetwork
  • Теперь перейдите к текущему подключению к Интернету и получите доступ к свойствам (это может быть ваша локальная сеть или Wi-Fi)
  • Откройте вкладку общего доступа в открывшемся окне свойств.
  • Выберите опцию, чтобы разрешить другим системам подключаться к Интернету через это соединение
  • Если у вас есть раскрывающийся список для выбора сети (обычно WIN8 и WIN8.1 или WIN7), убедитесь, что вы выбрали опцию, которая идет с чем-то вроде «Подключение по локальной сети 2 *». число может отличаться в вашем случае.
  • Примените его и выберите Ok для всего остального.

Теперь ваши связи должны быть общими. Вам не нужно будет ничего удалять, и в следующий раз, когда вы захотите подключиться, просто введите в командной строке netsh wlan start hostednetwork

1

Хорошо. Обмен и использование hostednetwork может быть стрессом. Вот как я это сделал.
Использование командной строки и powershell для достижения необходимых целей.
Конечно, это может быть достигнуто только с PowerShell, но эй ... возможно позже.

Сохраните следующий (BATCH FILE) файл как * .bat. Измените соответственно, где это читает

YOURPATH\YOURFILE.ps1

Сохраните второй файл (PS1 FILE) с именем, которое вы указали в предыдущем шаге

"YOURFILE.ps1"

Измените первый раздел файла PS1 и измените адаптеры в соответствии с вашей системой

$wifi = "description='Broadcom 4313 802.11b/g/n'"
$ethernet = "description='Intel(R) 82577LC Gigabit Network Connection'"

Вы можете запустить свою команду в powershell

Get-WmiObject win32_networkadapterconfiguration | выберите описание

Предполагается, что он имеет только один подключенный интерфейс - физический (Ethernet) или беспроводной.

Запустите пакетный файл от имени администратора.

Кроме того, вы можете запустить процесс из контекстного меню проводника Windows для простоты.
Для этого используйте третий файл и сохраните его как reg и запустите или измените вручную из образца
Само собой разумеется, что необходимо изменить, где это читает

YOURPATH\BATCHFILE.bat

Наслаждаться. ура

-------------------------------------------- Пакетный файл

@echo off
echo Current Settings (netsh wlan show hostednetwork):
netsh wlan show hostednetwork | findstr -i status
rem echo               Current Settings
rem echo            ######################
rem echo .
echo SSID Name
netsh wlan show hostednetwork | findstr -i " ssid "
netsh wlan show hostednetwork setting=security
echo            ######################
echo            #                    #
echo            # Please select      #
echo            #                    #
echo            #   [E] Edit     #
echo            #   [S] Start    #
echo            #   [Q] Stop     #
echo            #   [V] View     #
echo            #                    #
echo            ######################
choice /C ESQV 
IF errorlevel 4 goto TetherView
IF errorlevel 3 goto TetherStop
IF errorlevel 2 goto TetherStart
IF errorlevel 1 goto TetherEdit
rem GOTO TetherEnd

:TetherEdit
echo "Please enter SSID:" 
set /p SSID=
echo "SSID Password"
set /p PassWord=
echo %SSID% %PassWord%
netsh wlan set hostednetwork mode=allow ssid=%SSID% key=%PassWord%
netsh wlan start hostednetwork
GOTO TetherEnd

:TetherStart
netsh wlan start hostednetwork
powershell -file YOURPATH\ICS-Control.ps1 enable
GOTO TetherEnd

:TetherStop
netsh wlan stop hostednetwork
powershell -file YOURPATH\ICS-Control.ps1 disable
GOTO TetherEnd

:TetherView
cls
netsh wlan show hostednetwork | findstr -i status
echo SSID Name
netsh wlan show hostednetwork | findstr -i " ssid "
netsh wlan show hostednetwork setting=security
echo Connected clients
arp -a | findstr -i 192.168.173 | findstr /V 255 | findstr /V 192.168.173.1
GOTO TetherEnd

:TetherEnd
@PAUSE

-------------------------------------------- ФАЙЛ PS1

#Change accordingly
$wifi = "description='Broadcom 4313 802.11b/g/n'"
$ethernet = "description='Intel(R) 82577LC Gigabit Network Connection'"

#Doesnt change so no need to alter. Detects what interface is connected (should be only one)
$netAdapter = get-wmiobject win32_networkadapter -filter "netconnectionstatus = 2" | select netconnectionid, name, InterfaceIndex, netconnectionstatus 
if ($netAdapter.netconnectionid -cmatch "Wi-Fi"){$publicAdapter = $wifi} else {$publicAdapter = $ethernet}
$privateAdapter = "description='Microsoft Hosted Network Virtual Adapter'"

Function Var1ICSenable
{
    $virtualAdapter = Get-WMIObject win32_networkadapterconfiguration | where {$_.ServiceName -eq "vwifimp"} | % {$_.GetRelated('win32_networkadapter')} | Select -ExpandProperty Name
    $vars1 = $privateAdapter
    $Adapter0 = Get-WmiObject Win32_NetworkAdapterConfiguration -Filter $vars1 | select description
    $mAdapter3 = $Adapter0 -replace "@{description=",""
    $mAdapter3 = $mAdapter3 -replace "}","" 
    $mAdapter4 = "description='$mAdapter3'"
    $mAdapter5 = gwmi win32_networkadapter -Filter $mAdapter4 |select netconnectionid
    $mAdapter5 = $mAdapter5 -replace "@{netconnectionid=",""
    $global:mAdapter5 = $mAdapter5 -replace "}",""
}

Function Var2ICSenable
{
    $vars2 = $publicAdapter
    $Adapter1 = Get-WmiObject Win32_NetworkAdapterConfiguration -Filter $vars2 | select description
    $mAdapter = $Adapter1 -replace "@{description=",""
    $mAdapter = $mAdapter -replace "}","" 
    $mAdapter1 = "description='$mAdapter'"
    $mAdapter2 = gwmi win32_networkadapter -Filter $mAdapter1 |select netconnectionid
    $mAdapter2 = $mAdapter2 -replace "@{netconnectionid=",""
    $global:mAdapter2 = $mAdapter2 -replace "}",""
}

function EnableDisableICS
{

    $bFound = $FALSE

    $oNetSharingManager = new-object -comobject HNetCfg.HNetShare
     if ($oNetSharingManager -eq $null)
        {
            write-host "Unable to get the HNetCfg.HnetShare object."
            Exit
        }    
    if ($oNetSharingManager.SharingInstalled -eq $null)
        {
            write-host "Sharing is not available on this platform."
            Exit
        }

    $oConnectionCollection = $oNetSharingManager.EnumEveryConnection
    foreach ($oItem In $oConnectionCollection)
    {
        $EveryConnection = $oNetSharingManager.INetSharingConfigurationForINetConnection($oItem)
        $objNCProps = $oNetSharingManager.NetConnectionProps($oItem)
        If ($objNCProps.name -eq $sPrivateConnectionName)
        {
            $bFound = $True
            write-host "Setting ICS Private to " $bEnable " on connection: " $objNCProps.name
            If ($bEnable -eq "true")
                {
                    $EveryConnection.EnableSharing(1)
                }
            Else
                {
                    $EveryConnection.DisableSharing()
                }
        }
    }

    $oConnectionCollection = $oNetSharingManager.EnumEveryConnection
    foreach ($oItem In $oConnectionCollection)
    {
        $EveryConnection = $oNetSharingManager.INetSharingConfigurationForINetConnection($oItem)
        $objNCProps = $oNetSharingManager.NetConnectionProps($oItem)

        If ($objNCProps.name -eq $sPublicConnectionName)
        {
           $bFound = $True
           write-host "Setting ICS Public to " $bEnable " on connection: " $objNCProps.name
            If ($bEnable -eq "true")
            {
                $EveryConnection.EnableSharing(0)
            }
            Else
            {
                $EveryConnection.DisableSharing()
            }
        }
    }

    If ($bFound -eq $null)
    {
       write-host "Unable to find the connection " + $sPublicConnectionName
    }

}

Function EnableSharing
{
    #regsvr32 /s hnetcfg.dll

        # Variables to enable and disable ICS
        Var1ICSenable
        Var2ICSenable
        $global:firstICSvar = $global:mAdapter2
        $global:secondICSvar = $global:mAdapter5

    $benable = "true"
    $sPublicConnectionName = $global:firstICSvar
    $sPrivateConnectionName = $global:secondICSvar

    $mstr = $sPublicConnectionName + " " + $sPrivateConnectionName + " " + $bEnable
    EnableDisableICS $mstr
}

Function DisableSharing
{
    #regsvr32 /s hnetcfg.dll

        # Variables to enable and disable ICS
        Var1ICSenable
        Var2ICSenable
        $global:firstICSvar = $global:mAdapter2
        $global:secondICSvar = $global:mAdapter5

    $benable = "false"
    $sPublicConnectionName = $global:firstICSvar
    $sPrivateConnectionName = $global:secondICSvar

    $mstr = $sPublicConnectionName + " " + $sPrivateConnectionName + " " + $bEnable
    EnableDisableICS $mstr
    #write-host "TESTE" $mstr
}

    if ($args[0] -eq "enable"){EnableSharing}else{DisableSharing}

-------------------------------------------- REG FILE

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\runas]
@="Tether (Hosted Network)"
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\runas\command]
@="cmd.exe /c YOURPATH\BATCHFILE.bat"
0

У меня была похожая проблема. Я создал Virtual WLan на своем ПК и не мог удалить его - провел часы в Google. Если есть команда NETSH для удаления WLAN, я не смог бы ее найти!

Единственное решение, которое я нашел, было переименовать SSID - ваш в настоящее время тестируется - на что-то, что я знал, что смог найти, например DeletethisrogueWLAN, затем я использовал Regedit и F3 для поиска, удалил ключ в реестре, нажал F5, чтобы обновить сетевые подключения. экран, и он исчез.

Чтобы иметь возможность настроить это в первую очередь, вы должны быть довольно техническими, но, пожалуйста, будьте осторожны при удалении ключей реестра и экспортируйте все ключи перед удалением (на всякий случай).

Надеюсь это поможет!

Даррен

0

<strike> Я не знаю, если вы уже сделали, но вам нужно поделиться своим базовым WiFi-соединением. Для этого перейдите в сетевой центр (или как это называется в английской версии win), а затем нажмите правую кнопку мыши на сетевом адаптере, через который вы подключены к Интернету. Затем настройки, а затем вкладка общего доступа. Выберите wifi-хост (я думаю, что это стандартное имя), а затем установите netsh wlan .... И тогда netsh wlan запускает размещенную сеть. Вот как я делаю это всегда.

У меня также была проблема с этой группой, которой запрещен доступ, и я думаю, что решил ее с некоторой проблемой в моем соединении ip-v4, но я больше не уверен в этом. Возможно, что-то было и с моим мостом, я не знаю этого (если я помню, я скажу!). </ Strike>

Редактировать: я нашел это! Это не сработало несколько секунд назад, а теперь это так. Зайдите в диспетчер устройств, и сверху вы увидите представление, а затем выберите показать скрытые устройства. Затем перейдите на вкладки сети, и там должен быть серый кружок со стрелкой вниз: Сетевой адаптер , Щелкните правой кнопкой мыши, а затем нажмите «Включить / запустить / включить» (для меня это называется «inschakelen» :), и тогда он работает отлично!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .