WlanCli.psm1

# WlanCli PowerShell 模块

$可执行文件 = Join-Path -Path $PSScriptRoot -ChildPath 'WlanCli.exe'
if (-not (Test-Path -Path $可执行文件)) {
    throw "找不到 WlanCli.exe,请确保该文件与模块在同一目录"
}

function Connect-Wlan {
    <#
    .SYNOPSIS
    连接 WPA2 企业级无线网络
    .DESCRIPTION
    用于修复 Windows 11 24H2 下 WPA2 企业级无线网络凭据问题。
    自动执行:删除旧配置文件 → 添加配置文件 → 生成 EAP 凭据 → 写入注册表 → 连接。
    所有参数原样转发给 WlanCli.exe。
    .PARAMETER 网络标识
    无线网络 SSID,必须作为第一个位置参数提供。
    .PARAMETER 用户名
    802.1X 认证用户名,需配合 -用户名 参数。
    .PARAMETER 密码
    802.1X 认证密码,需配合 -密码 参数。省略时将以掩码方式交互式输入。
    .PARAMETER 接口名称
    指定无线网卡接口名称,需配合 -接口 参数。单网卡时可省略。
    .PARAMETER 帮助
    显示用法说明,需配合 -帮助 参数。
    .EXAMPLE
    Connect-Wlan ShanghaiTech -用户名 2019221082 -密码 rKc++3E
    .EXAMPLE
    Connect-Wlan ShanghaiTech -用户名 2019221082
    省略密码,将以掩码方式交互式输入。
    .EXAMPLE
    Connect-Wlan MyWiFi -用户名 alice -密码 secret -接口 "WiFi 2"
    指定网卡接口。
    #>

    & $可执行文件 @args
    if ($LASTEXITCODE -ne 0) {
        Write-Error -Message "连接失败,退出码:$LASTEXITCODE"
    }
}

Export-ModuleMember -Function 'Connect-Wlan'