windows 使用python共享网络给另外一个网卡

embedded/2024/12/22 3:10:39/
python"># -*- coding: utf-8 -*-
import subprocessdef open_share(to_shared_adapter, from_shared_adapter):"""打开以太网的网络共享:return: None"""powershell_script = f"""# Register the HNetCfg library (once)# regsvr32 hnetcfg.dll# Create a NetSharingManager object$m = New-Object -ComObject HNetCfg.HNetShare# List connections$m.EnumEveryConnection |% {{ $m.NetConnectionProps.Invoke($_) }}# Find connection$c = $m.EnumEveryConnection |? {{ $m.NetConnectionProps.Invoke($_).Name -eq "{to_shared_adapter}" }}$c2 = $m.EnumEveryConnection |? {{ $m.NetConnectionProps.Invoke($_).Name -eq "{from_shared_adapter}" }}# Get sharing configuration$config = $m.INetSharingConfigurationForINetConnection.Invoke($c)$config2 = $m.INetSharingConfigurationForINetConnection.Invoke($c2)# See if sharing is enabledWrite-Output $config.SharingEnabledWrite-Output $config2.SharingEnabled# See the role of connection in sharing# 0 - public, 1 - private# Only meaningful if SharingEnabled is TrueWrite-Output $config.SharingTypeWrite-Output $config2.SharingType$config.EnableSharing(0)$config2.EnableSharing(1)"""# 使用subprocess.Popen来执行PowerShell命令process = subprocess.Popen(['powershell', '-Command', powershell_script],stdout=subprocess.PIPE,stderr=subprocess.PIPE,text=True  # 使用text=True可以直接处理字符串,而不是bytes)# 等待命令执行完成stdout, stderr = process.communicate()def close_share(to_shared_adapter, from_shared_adapter):"""打开以太网的网络共享:return: None"""powershell_script = f"""# Register the HNetCfg library (once)# regsvr32 hnetcfg.dll# Create a NetSharingManager object$m = New-Object -ComObject HNetCfg.HNetShare# List connections$m.EnumEveryConnection |% {{ $m.NetConnectionProps.Invoke($_) }}# Find connection$c = $m.EnumEveryConnection |? {{ $m.NetConnectionProps.Invoke($_).Name -eq "{to_shared_adapter}" }}$c2 = $m.EnumEveryConnection |? {{ $m.NetConnectionProps.Invoke($_).Name -eq "{from_shared_adapter}" }}# Get sharing configuration$config = $m.INetSharingConfigurationForINetConnection.Invoke($c)$config2 = $m.INetSharingConfigurationForINetConnection.Invoke($c2)# Enable sharing (0 - public, 1 - private)$config.DisableSharing()$config2.DisableSharing()"""# 使用subprocess.Popen来执行PowerShell命令process = subprocess.Popen(['powershell', '-Command', powershell_script],stdout=subprocess.PIPE,stderr=subprocess.PIPE,text=True  # 使用text=True可以直接处理字符串,而不是bytes)# 等待命令执行完成stdout, stderr = process.communicate()# # 打印输出# print(stdout)## # 如果有错误输出,打印错误信息# if stderr:#     print(stderr)if __name__ == '__main__':# 共享与被共享的网络to_shared_adapter = "以太网"from_shared_adapter = "以太网 7"# 开启共享open_share(to_shared_adapter, from_shared_adapter)close_share(to_shared_adapter, from_shared_adapter)

在这里插入图片描述


http://www.ppmy.cn/embedded/147693.html

相关文章

mac编译ijkplayer遇到问题

问题:./init-android.sh git version 2.44.0 pull ffmpeg base : command not founde.sh: line 2: : command not founde.sh: line 5: : command not founde.sh: line 6: tools/pull-repo-base.sh: line 9: syntax error near unexpected token elif ools/pull-re…

3D造型软件solvespace在windows下的编译

3D造型软件solvespace在windows下的编译 在逛开源社区的时候发现了几款开源CAD建模软件,一直囿于没有合适的建模软件,虽然了解了很多的模拟分析软件,却不能使之成为整体的解决方案,从而无法产生价值。opencascad之流虽然可行&…

我的“双胞同体”发布模式的描述与展望

当被“激情”晕染,重创标题、摘要探索“吸睛”。 (笔记模板由python脚本于2024年12月19日 15:23:44创建,本篇笔记适合喜欢编撰csdn博客的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免…

SparkSQL案例

SparkSQL案例 **案例描述:**某系统存储有用户的基本信息,包括用户的姓名、身份证号、手机号码。 数据集: 有用得着的评论或私信即可 需求分析: 将表中的数据进行过滤,只保留 80 后、90 后、00 后的用户信息&#x…

《Amazon Bedrock vs ChatGPT:谁更胜一筹?》

在生成性AI技术的赛道上,Amazon Bedrock和ChatGPT无疑是两大热门名字。两者虽然都在人工智能的领域大展拳脚,但它们的设计理念、功能侧重点和应用场景却大不相同。那么,作为开发者或企业用户,选择这两者中的哪一个更为合适呢&…

uni-app开发商品分类页面实现

目录 一:功能概述 二:功能实现 一:功能概述 这里商品分类按照常规的分类页面样式设计,左侧为一级分类,右侧为二级分类。在左侧切换不同的一级分类可以修改右侧的二级分类数据。右侧的展现方式是最上面显示对应的一级分类logo图片,下面展示二级分类的logo和名称。 二:…

SSD目标检测算法

SSD(Single Shot MultiBox Detector)是一种基于深度学习的目标检测算法,它结合了高效的检测策略和准确的检测结果。相比于传统的目标检测算法,SSD能够在保持较高准确性的同时快速地进行目标检测。 SSD算法的主要特点包括以下几个…

Http 中 GET 和 POST 的区别?应用场景都有哪些?

在 Web 开发中,GET 和 POST 是两种最常用的 HTTP 请求方法,它们各自具有不同的特点和应用场景。以下是 GET 和 POST 方法的区别以及各自的应用场景,结合实际项目代码示例进行讲解。 一、GET 和 POST 的区别 区别GETPOST请求类型请求资源提交数据请求参数位置在 URL 中,作为…