necesito hacer una configuración wifi mediante powershell

SALAZAR CABALLERO JUAN CARLOS 40 Puntos de reputación
2024-04-09T09:22:30.37+00:00

Saludos dispongo de windows 10 22h2 y windows 23h2, y necesito los perfiles de configuración wifi en ficheros .xml

dicho perfil de configuración debe:

Definir las variables necesarias

nombreRed = "RCJA"

tipoSeguridad = "WPA2-Enterprise"

cifrado = "AES"

metodoAutenticacion = "Microsoft-EAP-TTLS"

metodoAutenticacionUsuarios = "Autenticación de usuarios"

De manera que cuando se conecte el usuario le pida credenciales de usuario y contraseña

Para ello dispongo del siguiente script powershell pero con error en el detalle del .xml, que acontinuación detallo:

Definir las variables necesarias

$nombreRed = "RCJA"

$tipoSeguridad = "WPA2-Enterprise"

$cifrado = "AES"

$metodoAutenticacion = "Microsoft-EAP-TTLS"

$metodoAutenticacionUsuarios = "Autenticación de usuarios"

Arrancar el servicio de configuración automatica de WlanSvc

Verificar si el servicio WlanSvc está en ejecución

if ((Get-Service -Name WlanSvc).Status -ne 'Running') {

# El servicio no está en ejecución, iniciarlo

Start-Service -Name WlanSvc

Write-Host "El servicio WlanSvc se inició correctamente."

} else {

# El servicio está en ejecución

Write-Host "El servicio WlanSvc ya está en ejecución."

}

Crear el perfil de red WiFi

#netsh wlan delete profile name="$nombreRed" # Elimina el perfil si ya existe

#netsh wlan add profile filename="C:\Windows\Temp$nombreRed.xml"

Configurar el perfil de red WiFi

$xml = @"

<?xml version="1.0"?>

<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">

<name>$nombreRed</name>

<SSIDConfig>

    <SSID>

        <name>$nombreRed</name>

    </SSID>

</SSIDConfig>

<connectionType>ESS</connectionType>

<connectionMode>auto</connectionMode>

<MSM>

    <security>

        <authEncryption>

            <authentication>$metodoAutenticacion</authentication>

            <encryption>$cifrado</encryption>

            <useOneX>true</useOneX>

            <FIPSMode xmlns="http://www.microsoft.com/networking/WLAN/profile/v2">$false</FIPSMode>

        </authEncryption>

        <PMKCacheMode xmlns="http://www.microsoft.com/networking/WLAN/profile/v2">enabled</PMKCacheMode>

        <PMKCacheTTL xmlns="http://www.microsoft.com/networking/WLAN/profile/v2">720</PMKCacheTTL>

        <PMKCacheSize xmlns="http://www.microsoft.com/networking/WLAN/profile/v2">128</PMKCacheSize>

        <PMKCacheVersion xmlns="http://www.microsoft.com/networking/WLAN/profile/v2">0</PMKCacheVersion>

        <OneX xmlns="http://www.microsoft.com/networking/OneX/v1">

            <cacheUserData>true</cacheUserData>

            <EAPConfig>

                <EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">

                    <EapMethod>

                        <type>$metodoAutenticacion</type>

                        <vendorId>0</vendorId>

                        <vendorType>0</vendorType>

                    </EapMethod>

                    <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">

                        <Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">

                            <Type>$metodoAutenticacion</Type>

                            <EapType xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">

                                <ServerValidation>

                                    <DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>

                                    <ServerNames></ServerNames>

                                </ServerValidation>

                                <FastReconnect>true</FastReconnect>

                                <InnerEapOptional>false</InnerEapOptional>

                                <Identity>ccd

                                    <UserName/>

                                    <Password/>

                                </Identity>

                                <AnonymousIdentity>

                                </AnonymousIdentity>

                            </EapType>

                        </Eap>

                    </Config>

                </EapHostConfig>

            </EAPConfig>

        </OneX>

    </security>

</MSM>

<MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3">

    <enableRandomization>false</enableRandomization>

</MacRandomization>

</WLANProfile>

"@

Guardar el perfil de red WiFi en un archivo XML

$xml | Out-File -FilePath "D:\Temporal$nombreRed.xml"

Elimina el perfil si ya existe

netsh wlan delete profile name="$nombreRed"

Agregar el perfil de red WiFi

netsh wlan add profile filename="D:\Temporal$nombreRed.xml"

Establecer la red WiFi como conectarse automáticamente

netsh wlan set profileparameter name="$nombreRed" connectionmode=auto


Errores de salida:

El servicio WlanSvc ya está en ejecución.

No se encuentra el perfil "RCJA" en ninguna interfaz.

Error de formato de perfil 0x80001: El perfil no es válido, de acuerdo con el esquema.

El perfil de conexión de red está dañado.


cuando ejecuto : netsh wlan add profile filename="D:\Temporal$nombreRed.xml"

Error de formato de perfil 0x80001: El perfil no es válido, de acuerdo con el esquema.

El perfil de conexión de red está dañado.


En verdad necesito el fichero de perfil de configuración wifi , .xml para windows 10 22h2 y windows 11 23h2. de manera que me configure lo siguiente de forma automática:

nombreRed = "RCJA"

tipoSeguridad = "WPA2-Enterprise"

cifrado = "AES"

metodoAutenticacion = "Microsoft-EAP-TTLS"

metodoAutenticacionUsuarios = "Autenticación de usuarios"

Gracias . espero sus respuestas












Windows 10
Windows 10
Un sistema operativo de Microsoft que se ejecuta en equipos y tabletas personales.
165 preguntas
0 comentarios No hay comentarios
{count} votos

1 respuesta

Ordenar por: Muy útil
  1. Jonathan Pereira Castillo 13,815 Puntos de reputación Proveedor de Microsoft
    2025-01-20T18:34:09.08+00:00

    ¡Hola SALAZAR CABALLERO JUAN CARLOS !

    Esperamos que este mensaje te encuentre bien.

    Lamentamos sinceramente la demora en abordar tu tema en este foro.  

    Para configurar una red WiFi mediante PowerShell y crear un perfil .xml válido, puedes usar el siguiente script. Asegúrate de ajustar las variables según tus necesidades:

    # Definir las variables necesarias
    $nombreRed = "RCJA"
    $tipoSeguridad = "WPA2-Enterprise"
    $cifrado = "AES"
    $metodoAutenticacion = "Microsoft-EAP-TTLS"
    
    # Arrancar el servicio de configuración automática de WlanSvc
    if ((Get-Service -Name WlanSvc).Status -ne 'Running') {
        Start-Service -Name WlanSvc
        Write-Host "El servicio WlanSvc se inició correctamente."
    } else {
        Write-Host "El servicio WlanSvc ya está en ejecución."
    }
    
    # Crear el perfil de red WiFi
    $xml = @"
    <?xml version="1.0"?>
    <WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
        <name>$nombreRed</name>
        <SSIDConfig>
            <SSID>
                <name>$nombreRed</name>
            </SSID>
        </SSIDConfig>
        <connectionType>ESS</connectionType>
        <connectionMode>auto</connectionMode>
        <MSM>
            <security>
                <authEncryption>
                    <authentication>$tipoSeguridad</authentication>
                    <encryption>$cifrado</encryption>
                    <useOneX>true</useOneX>
                </authEncryption>
                <OneX xmlns="http://www.microsoft.com/networking/OneX/v1">
                    <EAPConfig>
                        <EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
                            <EapMethod>
                                <type>21</type>
                               vendorId>
                                <vendorType>0</vendorType>
                            </EapMethod>
                            <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
                                <Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
                                    <Type>21</Type>
                                    <EapType xmlns="http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">
                                        <ServerValidation>
                                            <DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>
                                        </ServerValidation>
                                        <FastReconnect>true</FastReconnect>
                                        <InnerEapOptional>false</InnerEapOptional>
                                    </EapType>
                                </Eap>
                            </Config>
                        </EapHostConfig>
                    </EAPConfig>
                </OneX>
            </security>
        </MSM>
        <MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3">
            <enableRandomization>false</enableRandomization>
        </MacRandomization>
    </WLANProfile>
    "@
    
    # Guardar el perfil de red WiFi en un archivo XML
    $xml | Out-File -FilePath "D:\Temporal\$nombreRed.xml"
    
    # Eliminar el perfil si ya existe
    netsh wlan delete profile name="$nombreRed"
    
    # Agregar el perfil de red WiFi
    netsh wlan add profile filename="D:\Temporal\$nombreRed.xml"
    
    # Establecer la red WiFi para conectarse automáticamente
    netsh wlan set profileparameter name="$nombreRed" connectionmode=auto
    

    Este script debería ayudarte a crear y configurar el perfil WiFi correctamente. Asegúrate de que el archivo XML generado sea válido y cumpla con el esquema requerido por Windows. 

    Si no recibimos una respuesta tuya en los próximos días, procederemos a cerrar el tema. Sin embargo, queremos asegurarte que siempre estamos disponibles para cualquier asistencia que puedas necesitar.

    Agradecemos tu comprensión y estamos aquí para ayudar en lo que sea necesario.

    Estaré atento a tu respuesta.,

     Jonathan

    ----------*

    Tu opinión es muy importante para nosotros! Si esta respuesta resolvió tu consulta, por favor haz clic en ''. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.

    0 comentarios No hay comentarios

Su respuesta

Las respuestas se pueden marcar como respuestas aceptadas por el autor de la pregunta, lo que ayuda a los usuarios a conocer la respuesta que resolvió el problema del autor.