Skip to content

Commit

Permalink
Add invoking cim instance to delete connection after deleting profile
Browse files Browse the repository at this point in the history
  • Loading branch information
rinrab committed Jan 21, 2024
1 parent 654ec8b commit f58e791
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
23 changes: 23 additions & 0 deletions AOVpnManager.Tests/VpnManagerTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Diagnostics;

namespace AOVpnManager.Tests
{
[TestClass]
public class VpnManagerTests
{
// This test should be run with administrator privileges
[TestMethod]
public void DeleteVpnConnectionTest()
{
if (!Debugger.IsAttached)
{
return;
}

IVpnManager vpnManager = VpnManager.Create();

vpnManager.DeleteVpnConnection("Test VPN");
}
}
}
13 changes: 13 additions & 0 deletions AOVpnManager/VpnManager.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Microsoft.Management.Infrastructure;
using System;
using System.Diagnostics;
using System.Security;

namespace AOVpnManager
Expand Down Expand Up @@ -84,6 +85,18 @@ public void DeleteVpnConnection(string connectionName)
}
}
}

using (CimMethodParametersCollection parameters = new CimMethodParametersCollection())
{
parameters.Add(CimMethodParameter.Create("Name", new string[] { connectionName }, CimType.StringArray, CimFlags.In));
parameters.Add(CimMethodParameter.Create("Force", true, CimType.Boolean, CimFlags.In));
parameters.Add(CimMethodParameter.Create("PassThru", false, CimType.Boolean, CimFlags.In));
parameters.Add(CimMethodParameter.Create("AllUserConnection", true, CimType.Boolean, CimFlags.In));

CimMethodResult rv = session.InvokeMethod(@"Root\Microsoft\Windows\RemoteAccess\Client", "PS_VpnConnection", "Remove", parameters);

Trace.WriteLine(rv.ReturnValue);
}
}
catch (CimException ex)
{
Expand Down

0 comments on commit f58e791

Please sign in to comment.