Windows Server 2016 で Radius Server を構成し、アプリケーションを使用してエンタープライズ WiFi ネットワークに接続したいと考えています。次の手順を実行しようとしました。
資格情報なしでプロファイルを設定するにはWlanSetプロファイル(netsh からインポートしたプロファイルを少し変更して使用しました)
次に、ユーザー名とパスワードを使用して以下のxmlプロファイルを設定します。WlanSetProfileEapXmlユーザーデータ:
<?xml version="1.0" ?>
<EapHostUserCredentials xmlns="http://www.microsoft.com/provisioning/EapHostUserCredentials"
xmlns:eapCommon="http://www.microsoft.com/provisioning/EapCommon"
xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapMethodUserCredentials">
<EapMethod>
<eapCommon:Type>26</eapCommon:Type>
<eapCommon:AuthorId>0</eapCommon:AuthorId>
</EapMethod>
<Credentials xmlns:eapUser="http://www.microsoft.com/provisioning/EapUserPropertiesV1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapUserPropertiesV1"
xmlns:MsPeap="http://www.microsoft.com/provisioning/MsPeapUserPropertiesV1"
xmlns:MsChapV2="http://www.microsoft.com/provisioning/MsChapV2UserPropertiesV1">
<baseEap:Eap>
<baseEap:Type>26</baseEap:Type>
<MsChapV2:EapType>
<MsChapV2:Username>test</MsChapV2:Username>
<MsChapV2:Password>test</MsChapV2:Password>
</MsChapV2:EapType>
</baseEap:Eap>
</Credentials>
</EapHostUserCredentials>
それから私は無線LAN接続接続を確認するための関数とコールバック関数。接続時に次の問題が発生します。
NotificationCode はコード 8 (wlan_notification_acm_scan_fail) を返し、次にコード 11 (wlan_notification_acm_connection_attempt_fail) を返します。
また、MS ドキュメントから:
wlan_notification_acm_scan_fail:
接続可能なネットワークのスキャンに失敗しました。
WLAN_NOTIFICATION_DATA 構造体の pData メンバーは、WLAN 操作が失敗した理由を識別する WLAN_REASON_CODE データ型の値を指します。
そこで、この問題が発生したときの pData をチェックしたところ、次の理由が返されました。
wlan_notification_acm_scan_fail 「操作は成功しました。」
しかし、ネットワークが接続されていません。ご協力をよろしくお願いします。
答え1
この問題を修正しました。問題は、PerformServerValidation が true に設定され、Windows で証明書を検証するための通知ダイアログが表示されたため、次の結果が返されたことです。
wlan_notification_acm_scan_fail 「操作は成功しました。」
PerformServerValidation を false に設定すると問題が修正されました (WlanSetProfile 関数)。
<PerformServerValidation xmlns=\"http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2\">false</PerformServerValidation>
また、WlanSetProfileEapXmlUserData 関数には次のプロファイルを提供しました。
<?xml version="1.0" ?>
<EapHostUserCredentials
xmlns="http://www.microsoft.com/provisioning/EapHostUserCredentials"
xmlns:eapCommon="http://www.microsoft.com/provisioning/EapCommon"
xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapMethodUserCredentials">
<EapMethod>
<eapCommon:Type>25</eapCommon:Type>
<eapCommon:AuthorId>0</eapCommon:AuthorId>
</EapMethod>
<Credentials
xmlns:eapUser="http://www.microsoft.com/provisioning/EapUserPropertiesV1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:baseEap="http://www.microsoft.com/provisioning/BaseEapUserPropertiesV1"
xmlns:MsPeap="http://www.microsoft.com/provisioning/MsPeapUserPropertiesV1"
xmlns:MsChapV2="http://www.microsoft.com/provisioning/MsChapV2UserPropertiesV1">
<baseEap:Eap>
<baseEap:Type>25</baseEap:Type>
<MsPeap:EapType>
<baseEap:Eap>
<baseEap:Type>26</baseEap:Type>
<MsChapV2:EapType>
<MsChapV2:Username>username</MsChapV2:Username>
<MsChapV2:Password>password</MsChapV2:Password>
</MsChapV2:EapType>
</baseEap:Eap>
</MsPeap:EapType>
</baseEap:Eap>
</Credentials>
</EapHostUserCredentials>
これで、エンタープライズ ネットワークに正常に接続できるようになりました。問題は解決しました。ありがとうございます。