C# UWP项目无法连接VPN(E_访问被拒绝) 公共密封部分类主页面:第页 { 公共主页() { this.InitializeComponent(); ConnectVPNProfile(); } 专用异步任务ConnectVPNProfile() { 字符串vpnProfileName=“MyVPNProfileName”; 字符串[]epdg={“MyVPN.DomainName.org”}; VpnManagementErrorStatus=VpnManagementErrorStatus.Ok; IAsyncOperation op; var vpnMa=new VpnManagementAgent(); var vpnProfile=新的VpnNativeProfile(); vpnProfile.AlwaysOn=true; vpnProfile.ProfileName=vpnProfileName; vpnProfile.RequireVpnClientAppUI=true; vpnProfile.RememberCredentials=true; vpnProfile.RoutingPolicyType=VpnRoutingPolicyType.SplitRouting; vpnProfile.TunnelAuthenticationMethod=VpnAuthenticationMethod.Eap; vpnProfile.UserAuthenticationMethod=VpnAuthenticationMethod.Eap; foreach(epdg中的var s) { vpn配置文件.Servers.Add; } vpnProfile.EapConfiguration=GetEapXmlString(); //使用管理api添加配置文件。 status=wait vpnMa.AddProfileFromObjectAsync(vpnProfile); Debug.WriteLine($“添加配置文件:{status}”); 等待任务。延迟(1000); op=vpnMa.ConnectProfileAsync(vpnProfile); 状态=等待操作; Debug.WriteLine($“连接成功:{status}”); } 公共静态字符串GetEapXmlString() { //字符串模板="2500025trued2 d3 8e ba 60 ca a1 c1 20 55 a2 e1 c8 3b 15 ad 45 01 10 c2 d1 76 cc 20 6e d2 6e 1a 51 f5 bb 96 e9 35 6d 6d 61 0b 74 TrueFalse13 TrueD2 8e ba 60 ca a1 20 55 a2 e1 c8 3b 15 ad 45 01 10 c2 d1 76 cc 20 6e d2 6e 1a 51 f5 bb 96 e9 35 6d 61 0b 74 FalseFalseAD条件访问1.3.6.1.1.4.311.87AAD条件访问FALSetrueTureFalse”; 字符串模板=“1300013truefalseb6 ea bf ba 48 be 09 c9 50 4f c6 ea 9b f5 74 dc a9 01 56 62 FalseB6 ea bf ba 48 be 09 c9 50 4f c6 ea 9b f5 74 dc a9 01 56 62”; //TODO:在此处创建propper XML 字符串结果=模板; 返回结果; } }

C# UWP项目无法连接VPN(E_访问被拒绝) 公共密封部分类主页面:第页 { 公共主页() { this.InitializeComponent(); ConnectVPNProfile(); } 专用异步任务ConnectVPNProfile() { 字符串vpnProfileName=“MyVPNProfileName”; 字符串[]epdg={“MyVPN.DomainName.org”}; VpnManagementErrorStatus=VpnManagementErrorStatus.Ok; IAsyncOperation op; var vpnMa=new VpnManagementAgent(); var vpnProfile=新的VpnNativeProfile(); vpnProfile.AlwaysOn=true; vpnProfile.ProfileName=vpnProfileName; vpnProfile.RequireVpnClientAppUI=true; vpnProfile.RememberCredentials=true; vpnProfile.RoutingPolicyType=VpnRoutingPolicyType.SplitRouting; vpnProfile.TunnelAuthenticationMethod=VpnAuthenticationMethod.Eap; vpnProfile.UserAuthenticationMethod=VpnAuthenticationMethod.Eap; foreach(epdg中的var s) { vpn配置文件.Servers.Add; } vpnProfile.EapConfiguration=GetEapXmlString(); //使用管理api添加配置文件。 status=wait vpnMa.AddProfileFromObjectAsync(vpnProfile); Debug.WriteLine($“添加配置文件:{status}”); 等待任务。延迟(1000); op=vpnMa.ConnectProfileAsync(vpnProfile); 状态=等待操作; Debug.WriteLine($“连接成功:{status}”); } 公共静态字符串GetEapXmlString() { //字符串模板="2500025trued2 d3 8e ba 60 ca a1 c1 20 55 a2 e1 c8 3b 15 ad 45 01 10 c2 d1 76 cc 20 6e d2 6e 1a 51 f5 bb 96 e9 35 6d 6d 61 0b 74 TrueFalse13 TrueD2 8e ba 60 ca a1 20 55 a2 e1 c8 3b 15 ad 45 01 10 c2 d1 76 cc 20 6e d2 6e 1a 51 f5 bb 96 e9 35 6d 61 0b 74 FalseFalseAD条件访问1.3.6.1.1.4.311.87AAD条件访问FALSetrueTureFalse”; 字符串模板=“1300013truefalseb6 ea bf ba 48 be 09 c9 50 4f c6 ea 9b f5 74 dc a9 01 56 62 FalseB6 ea bf ba 48 be 09 c9 50 4f c6 ea 9b f5 74 dc a9 01 56 62”; //TODO:在此处创建propper XML 字符串结果=模板; 返回结果; } },c#,uwp,C#,Uwp,} 我插入了这段代码的首页 [ Windows .Futual.Meta。MarshalingBehavior(Windows .Fase.Meta…MsHalalType [ Windows .Futual.Multudio.TrnEngress(Windows .Fase.Multudio.TycRead MeLT.MTA)] [ Windows .Fase.元数据. WebHostHidden ] [ Windows .Fuff.Engult.Ac激活(65536,“Windows .Fa

}

我插入了这段代码的首页 [ Windows .Futual.Meta。MarshalingBehavior(Windows .Fase.Meta…MsHalalType [ Windows .Futual.Multudio.TrnEngress(Windows .Fase.Multudio.TycRead MeLT.MTA)] [ Windows .Fase.元数据. WebHostHidden ] [ Windows .Fuff.Engult.Ac激活(65536,“Windows .Fask.UnvialSalpCouSoupe”)

错误:System.UnauthorizedAccessException:'Erişim engellendi.(来自HRESULT的异常:0x80070005(Eşu ACCESSDENIED))'


错误行:status=wait vpnMa.AddProfileFromObjectAsync(vpnProfile);

您声明了所需的功能吗?谢谢,我用您的链接文档解决了这个问题
 public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        ConnectVPNProfile();
    }
    private async Task ConnectVPNProfile()
    {
        string vpnProfileName = "MyVPNProfileName";

        string[] epdg = { "MyVPN.DomainName.org" };
        VpnManagementErrorStatus status = VpnManagementErrorStatus.Ok;
        IAsyncOperation<VpnManagementErrorStatus> op;

        var vpnMa = new VpnManagementAgent();
        var vpnProfile = new VpnNativeProfile();
        vpnProfile.AlwaysOn = true;
        vpnProfile.ProfileName = vpnProfileName;
        vpnProfile.RequireVpnClientAppUI = true;
        vpnProfile.RememberCredentials = true;
        vpnProfile.RoutingPolicyType = VpnRoutingPolicyType.SplitRouting;
        vpnProfile.TunnelAuthenticationMethod = VpnAuthenticationMethod.Eap;
        vpnProfile.UserAuthenticationMethod = VpnAuthenticationMethod.Eap;
        foreach (var s in epdg)
        {
            vpnProfile.Servers.Add(s);
        }

        vpnProfile.EapConfiguration = GetEapXmlString();

        // Adds the profile using the management api.
        status = await vpnMa.AddProfileFromObjectAsync(vpnProfile);
        Debug.WriteLine($"Add profile: {status}");

        await Task.Delay(1000);

        op = vpnMa.ConnectProfileAsync(vpnProfile);
        status = await op;
        Debug.WriteLine($"Connect succeeded: {status}");


    }


    public static string GetEapXmlString()
    {
        //string template = "<EapHostConfig xmlns=\"http://www.microsoft.com/provisioning/EapHostConfig\"><EapMethod><Type xmlns=\"http://www.microsoft.com/provisioning/EapCommon\">25</Type><VendorId xmlns=\"http://www.microsoft.com/provisioning/EapCommon\">0</VendorId><VendorType xmlns=\"http://www.microsoft.com/provisioning/EapCommon\">0</VendorType><AuthorId xmlns=\"http://www.microsoft.com/provisioning/EapCommon\">0</AuthorId></EapMethod><Config xmlns=\"http://www.microsoft.com/provisioning/EapHostConfig\"><Eap xmlns=\"http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1\"><Type>25</Type><EapType xmlns=\"http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1\"><ServerValidation><DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation><ServerNames></ServerNames><TrustedRootCA>d2 d3 8e ba 60 ca a1 c1 20 55 a2 e1 c8 3b 15 ad 45 01 10 c2 </TrustedRootCA><TrustedRootCA>d1 76 97 cc 20 6e d2 6e 1a 51 f5 bb 96 e9 35 6d 6d 61 0b 74 </TrustedRootCA></ServerValidation><FastReconnect>true</FastReconnect><InnerEapOptional>false</InnerEapOptional><Eap xmlns=\"http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1\"><Type>13</Type><EapType xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV1\"><CredentialsSource><CertificateStore><SimpleCertSelection>true</SimpleCertSelection></CertificateStore></CredentialsSource><ServerValidation><DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation><ServerNames></ServerNames><TrustedRootCA>d2 d3 8e ba 60 ca a1 c1 20 55 a2 e1 c8 3b 15 ad 45 01 10 c2 </TrustedRootCA><TrustedRootCA>d1 76 97 cc 20 6e d2 6e 1a 51 f5 bb 96 e9 35 6d 6d 61 0b 74 </TrustedRootCA></ServerValidation><DifferentUsername>false</DifferentUsername><PerformServerValidation xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2\">true</PerformServerValidation><AcceptServerName xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2\">false</AcceptServerName><TLSExtensions xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2\"><FilteringInfo xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3\"><EKUMapping><EKUMap><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID></EKUMap></EKUMapping><ClientAuthEKUList Enabled=\"true\"><EKUMapInList><EKUName>AAD Conditional Access</EKUName></EKUMapInList></ClientAuthEKUList></FilteringInfo></TLSExtensions></EapType></Eap><EnableQuarantineChecks>false</EnableQuarantineChecks><RequireCryptoBinding>true</RequireCryptoBinding><PeapExtensions><PerformServerValidation xmlns=\"http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2\">true</PerformServerValidation><AcceptServerName xmlns=\"http://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2\">false</AcceptServerName></PeapExtensions></EapType></Eap></Config></EapHostConfig>";
        string template = "<EapHostConfig xmlns =\"http://www.microsoft.com/provisioning/EapHostConfig\"><EapMethod><Type xmlns=\"http://www.microsoft.com/provisioning/EapCommon\">13</Type><VendorId xmlns=\"http://www.microsoft.com/provisioning/EapCommon\">0</VendorId><VendorType xmlns=\"http://www.microsoft.com/provisioning/EapCommon\">0</VendorType><AuthorId xmlns=\"http://www.microsoft.com/provisioning/EapCommon\">0</AuthorId></EapMethod><Config xmlns=\"http://www.microsoft.com/provisioning/EapHostConfig\"><Eap xmlns=\"http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1\"><Type>13</Type><EapType xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV1\"><CredentialsSource><CertificateStore><SimpleCertSelection>true</SimpleCertSelection></CertificateStore></CredentialsSource><ServerValidation><DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation><ServerNames></ServerNames><TrustedRootCA>b6 ea bf ba 48 be 09 c9 50 4f c6 ea 9b f5 74 dc a9 01 56 62 </TrustedRootCA></ServerValidation><DifferentUsername>false</DifferentUsername><PerformServerValidation xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2\">false</PerformServerValidation><AcceptServerName xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2\">false</AcceptServerName><TLSExtensions xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2\"><FilteringInfo xmlns=\"http://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3\"><CAHashList Enabled=\"true\"><IssuerHash>b6 ea bf ba 48 be 09 c9 50 4f c6 ea 9b f5 74 dc a9 01 56 62 </IssuerHash></CAHashList></FilteringInfo></TLSExtensions></EapType></Eap></Config></EapHostConfig>";
        //TODO: Create propper XML here
        string result = template;

        return result;
    }
}