Saltar al contenido

Habilite el punto de acceso integrado de Windows 10 mediante cmd / batch / powershell

Solución:

La red alojada (que se puede configurar mediante el netsh wlan set hostednetwork ... comando) y el “nuevo” Mobile Hotspot utilizan diferentes tecnologías bajo el capó.

Hay una API de WinRT para controlar y configurar el “nuevo” punto de acceso móvil al que se refiere. Puede llamarlo desde PowerShell:

El siguiente fragmento de código requiere la función de espera de Ben N. para IAsyncOperation y IAsyncAction en PowerShell, que se puede encontrar aquí.

$connectionProfile = [Windows.Networking.Connectivity.NetworkInformation,Windows.Networking.Connectivity,ContentType=WindowsRuntime]::GetInternetConnectionProfile()
$tetheringManager = [Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager,Windows.Networking.NetworkOperators,ContentType=WindowsRuntime]::CreateFromConnectionProfile($connectionProfile)

# Be sure to include Ben N.'s await for IAsyncOperation:
# https://superuser.com/questions/1341997/using-a-uwp-api-namespace-in-powershell

# Check whether Mobile Hotspot is enabled
$tetheringManager.TetheringOperationalState

# Start Mobile Hotspot
Await ($tetheringManager.StartTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])

# Stop Mobile Hotspot
Await ($tetheringManager.StopTetheringAsync()) ([Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult])

La clase NetworkOperatorTetheringManager también le permite configurar el SSID y la frase de contraseña de su punto de acceso mediante programación.

Basado en el comentario de PowerShell anterior,

Estos son los componentes del código WinRT para mezclar / combinar para realizar las tareas anteriores para las actividades de WiFi Direct 2.0 HotSpot usando C ++ sin dependencias de otras herramientas, etc. (funcionan en IoT Core, etc.):

  • Establecer programáticamente el SSID y / o PassPhrase
  • Consultar mediante programación el punto de acceso WiFi Direct 2.0 actual estado
  • Gire programáticamente encendido apagado el HotSpot WiFi Direct 2.0
#include <winrt/Windows.Networking.Connectivity.h>
#include <winrt/Windows.Networking.NetworkOperators.h>
namespace winrt { // /ZW embed in :<winrt> when `Windows` is ambiguously defined
  static void af_winrt_wifi_hotspot_test() {
    // start ms-settings:network-mobilehotspot
    init_apartment(); // apartment_type::multi_threaded
    auto connectionProfile { Windows::Networking::Connectivity::NetworkInformation::GetInternetConnectionProfile() };
    auto tetheringManager = Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager::CreateFromConnectionProfile(connectionProfile);
    switch(tetheringManager.TetheringOperationalState()) {
      case Windows::Networking::NetworkOperators::TetheringOperationalState::Off: {
          auto ioAsync = tetheringManager.StartTetheringAsync();
          auto fResult = ioAsync.get();
        }
        break;
      case Windows::Networking::NetworkOperators::TetheringOperationalState::On: {
          auto ioAsync = tetheringManager.StopTetheringAsync();
          auto fResult = ioAsync.get();
        }
        break;
      case Windows::Networking::NetworkOperators::TetheringOperationalState::InTransition:
      default:
        break;
    }
    clear_factory_cache();
    uninit_apartment();
  }
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *