当用户点击按钮时,我需要启用/禁用Windows 8平板电脑上的所有网络适配器(有点像飞行模式)。
这可以通过PowerShell中的以下cmdlet来完成:“Disable-NetAdapter*-Confirm:$False”及其对应的Enable-NetAdapter。他们做的正是我期望他们做的,但我有两个问题:
1.我不想从WPF应用程序运行PowerShell。由于它是基于.NET框架构建的,有没有办法在不调用cmdlet的情况下执行相同的操作?
1.它需要提升权限(比如右击+以管理员身份运行启动应用)。我可以从代码中获得提升的权限,但我总是会看到请求批准的用户访问控制弹出窗口。有没有办法总是以提升的权限启动应用程序,而不会出现弹出窗口?
3条答案
按热度按时间g6ll5ycj1#
Win32_NetworkAdapter类别包含启用/禁用方法http://msdn.microsoft.com/en-us/library/aa394216
以下是来自Programmatically Enable / Disable Connection的代码示例
如果操作需要,您需要在管理员或系统上下文中运行,理想情况下,因为系统没有UAC,所以您可以作为服务运行!
tcbh2hod2#
以下是我在生产中实际使用的一些VB.NET代码的示例:
编辑:添加C#等效项:
qmelpv7a3#
我知道这个问题很古老,但对将来的某个人可能会有用,因此在这里发布了我的答案。
Ethernet
是网络接口的名称。要获取网络接口的名称,只需在任何命令提示符中键入以下内容Netsh接口显示接口
这对我来说很好,有用户帐户和管理员帐户,不需要批准管理员权限。