【问题标题】:C# Connect to Cisco VPNC# 连接到 Cisco VPN
【发布时间】:2015-06-04 01:51:25
【问题描述】:

我想通过 C# 连接到 Cisco VPN。在互联网上进行研究不会返回有效的代码示例。然而,我找到了一种通过命令行连接的方法,但我不知道如何在 C# 中以编程方式将其发送到命令行。

vpnclient 将用户 dennis pwd dennisPassword 连接到VPN

如何在 C# 中做到这一点,还有其他更好的方法吗?我必须先安装 Cisco VPN 客户端吗?

非常感谢。

【问题讨论】:

  • @Sam 正在使用 C#,并且从链接中提供的代码看起来像是用于 C。我还想连接到 VPN,而不仅仅是确定 VPN 是否已连接。
  • 哇。你真的没有读过那个问题,你根本没有读过它的答案。
  • 我确实检查过,是的,如果它针对 C#,答案将适用于我的情况。该链接中的问题不是特定于语言的,正如其下方评论中所指出的那样。提供的代码看起来像是基于 C 的答案。对不起,我只是一个初学者,如果不明白,请指出。请帮帮我,谢谢
  • Dennis - Cisco VPN 客户端提供 API 的相关部分。您必须查阅文档以了解如何使用它,但使用提供的 API 总是更好。 C# 可以通过 P/Invoke 使用 C 风格的 API。

标签: c# vpn cisco


【解决方案1】:
System.Diagnostics.Process.Start("vpnclient connect user dennis pwd dennisPassword toVPN");

如果您需要更准确地控制流程的启动方式,则会有一个需要 ProcessStartInfo 的重载。

https://msdn.microsoft.com/en-us/library/system.diagnostics.process.start%28v=vs.110%29.aspx

【讨论】:

  • 这是您所建议的我的代码。但是它会抛出一个异常,指出尚未找到该程序我在运行时检索路径,当我检查是否有程序 vpnclient.exe string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"\Cisco Systems\VPN Client\"; System.Diagnostics.Process.Start(path + "vpnclient.exe connect user validuser pwd validpassword validentryname");
【解决方案2】:

试试 https://stackoverflow.com/a/35322011 或者试试

System.Diagnostics.Process.Start("vpnclient","connect user dennis pwd dennisPassword toVPN");

【讨论】:

    猜你喜欢
    • 2012-07-06
    • 2014-08-04
    • 2017-07-31
    • 2017-03-17
    • 2020-11-07
    • 2017-11-17
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多