网络拓扑图用什么软件做?网络拓扑用什么画

画网络拓扑图的软件除了visio外还有什么软件啊? 可以使用这个软件PacketTracer,这个软件是cisco的学习网络环境的软件,里面路由器和交换机几乎和真机都相同,我们学习CCNA的时候都是用这个做拓扑然后练习弧
【菜科解读】
5、
画拓扑图用什么软件?微软的OFFICE VISIO,不过图中的路由器交换机图标不是visio自带的,是思科的设备图标素材库。
画网络拓扑图的软件除了visio外还有什么软件啊?
可以使用这个软件PacketTracer,这个软件是cisco的学习网络环境的软件,里面路由器和交换机几乎和真机都相同,我们学习CCNA的时候都是用这个做拓扑然后练习弧令的,不知道有没有汉化版的,不过也用不到几个单词
画网络拓扑图用什么软件
推荐使用Edraw,中文名称叫亿图!非常牛掰的工具,模板众多,图示漂亮大气!
画网络拓扑图用什么软件好
用visio,再下思科设备visio图标画得快还非常漂亮。
注意可以在线试读visio 2013 但是必须是批量注册版本,后面才好用工具激活。
不然就用2007版本 有绿色版本的。
制作网络拓扑图,用什么软件好些
可以使用Edraw max和Visio,推荐使用Edraw max操作简单, 内置有丰富的模板。
用什么画图软件画网络拓扑图好
使用microsoft office visio,也是office办公软件。
以Visio2010为例,新建,模板选择“网络”,再选择需要的模板即可。
以下为软件截图:
满意请采纳
画网络拓扑结构图用什么工具比较好
用visio,再下思科设备visio图标画得快还非常漂亮。
注意可以在线试读visio 2013 但是必须是批量注册版本,后面才好用工具激活。
不然就用2007版本 有绿色版本的。
麻烦哪位高手能告诉我这网络拓扑图是用什么软件画的,急~
1、网络模拟器可以实现,比如思科的模拟器,就有这种画拓扑结构的功能。
2、用windows自带的画图程序也能画出现,不过没有这个神奇一些。
3、CAD也可以。
这个要看你的熟练程度。
用什么软件可以话详细网络拓扑图
亿图图示软件
网络拓扑图制作软件用什么好
推荐用亿图软件,模板、例子很多、操作也比较简单,还可以跨平台使用,支持导出的格式也很多。
网络拓扑图:网络拓扑图介绍及在线制作网络拓扑图就是指用传输媒体互联各种各样机器设备的物理布局,即哪种方法把互联网中的电子计算机等机器设备相互连接。
拓扑绘画出云端服务器、服务中心的互联网配备和相互之间的联接。
互联网的拓扑结构有很多种多样,关键有星形构造、环型构造、总线
网络拓扑图往往是由网络拓扑图软件绘制,网络拓扑图软件可以让使用者方便地对网络拓扑图进行添加,修改、保存、复制等操作。
这些事情如果是由手工绘制来操作的话,会麻烦许多。
但对于网络拓扑图软件来说,都不是问题。
另外对于有条件上网的使用者来说,以软件形式存在的网络拓扑图无疑能够更方便地与他人共享。
星型拓扑结构
星型结构是最古老的一种连接方式,大家每天都使用的电话属于这种结构。
星型结构是指各工作站以星型方式连接成网。
网络有中央节点,其他节点(工作站、服务器)都与中央节点直接相连,这种结构以中央节点为中心,因此又称为集中式网络。
这种结构便于集中控制,因为端用户之间的通信必须经过中心站。
由于这一特点,也带来了易于维护和安全等优点。
端用户设备因为故障而停机时也不会影响其它端用户间的通信。
同时它的网络延迟时间较小,传输误差较低。
但这种结构非常不利的一点是,中心系统必须具有极高的可靠性,因为中心系统一旦损坏,整个系统便趋于瘫痪。
对此中心系统通常采用双机热备份,以提高系统的可靠性。
环型网络拓扑结构
环型结构在LAN中使用较多。
这种结构中的传输媒体从一个端用户到另一个端用户,直到将所有的端用户连成环型。
数据在环路中沿着一个方向在各个节点间传输,信息从一个节点传到另一个节点。
这种结构显而易见消除了端用户通信时对中心系统的依赖性。
环行结构的特点是:每个端用户都与两个相临的端用户相连,因而存在着点到点链路,但总是以单向方式操作,于是便有上游端用户和下游端用户之称;信息流在网中是沿着固定方向流动的,两个节点仅有一条道路,故简化了路径选择的控制;环路上各节点都是自举控制,故控制软件简单;由于信息源在环路中是串行地穿过各个节点,当环中节点过多时,势必影响信息传输速率,使网络的响应时间延长;环路是封闭的,不便于扩充;可靠性低,一个节点故障,将会造成全网瘫痪;维护难,对分支节点故障定位较难。
总线拓扑结构
总线结构是使用同一媒体或电缆连接所有端用户的一种方式,也就是说,连接端用户的物理媒体由所有设备共享,各工作站地位平等,无中心节点控制,公用总线上的信息多以基带形式串行传递,其传递方向总是从发送信息的节点开始向两端扩散,如同广播电台发射的信息一样,因此又称广播式计算机网络。
各节点在接受信息时都进行地址检查,看是否与自己的工作站地址相符,相符则接收网上的信息。
#p#分页标题#e#使用这种结构必须解决的一个问题是确保端用户使用媒体发送数据时不能出现冲突。
在点到点链路配置时,这是相当简单的。
如果这条链路是半双工操作,只需使用很简单的机制便可保证两个端用户轮流工作。
在一点到多点方式中,对线路的访问依靠控制端的探询来确定。
然而,在LAN环境下,由于所有数据站都是平等的,不能采取上述机制。
对此,研究了一种在总线共享型网络使用的媒体访问方法:带有碰撞检测的载波侦听多路访问,英文缩写成CSMA/CD。
这种结构具有费用低、数据端用户入网灵活、站点或某个端用户失效不影响其它站点或端用户通信的优点。
缺点是一次仅能一个端用户发送数据,其它端用户必须等待到获得发送权;媒体访问获取机制较复杂;维护难,分支节点故障查找难。
尽管有上述一些缺点,但由于布线要求简单,扩充容易,端用户失效、增删不影响全网工作,所以是LAN技术中使用最普遍的一种。
分布式拓扑结构
分布式结构的网络是将分布在不同地点的计算机通过线路互连起来的一种网络形式。
分布式结构的网络具有如下特点:由于采用分散控制,即使整个网络中的某个局部出现故障,也不会影响全网的操作,因而具有很高的可靠性;网中的路径选择最短路径算法,故网上延迟时间少,传输速率高,但控制复杂;各个节点间均可以直接建立数据链路,信息流程最短;便于全网范围内的资源共享。
缺点为连接线路用电缆长,造价高;网络管理软件复杂;报文分组交换、路径选择、流向控制复杂;在一般局域网中不采用这种结构。
树型拓扑结构
树型结构是分级的集中控制式网络,与星型相比,它的通信线路总长度短,成本较低,节点易于扩充,寻找路径比较方便,但除了叶节点及其相连的线路外,任一节点或其相连的线路故障都会使系统受到影响。
网状拓扑结构
在网状拓扑结构中,网络的每台设备之间均有点到点的链路连接,这种连接不经济,只有每个站点都要频繁发送信息时才使用这种方法。
它的安装也复杂,但系统可靠性高,容错能力强。
有时也称为分布式结构。
蜂窝拓扑结构
蜂窝拓扑结构是无线局域网中常用的结构。
它以无线传输介质(微波、卫星、红外等)点到点和多点传输为特征,是一种无线网,适用于城市网、校园网、企业网。
混合拓扑结构
混合拓扑结构是由星型结构或环型结构和总线型结构结合在一起的网络结构,这样的拓扑结构更能满足较大网络的拓展,解决星型网络在传输距离上的局限,而同时又解决了总线型网络在连接用户数量上的限制。
混合拓扑的优点:应用相当广泛,它解决了星型和总线型拓扑结构的不足,满足了大公司组网的实际需求。
扩展相当灵活。
速度较快:因为其骨干网采用高速的同轴电缆或光缆,所以整个网络在速度上应不受太多的限制。
缺点是:由于仍采用广播式的消息传送方式,所以在总线长度和节点数量上也会受到限制。
同样具有总线型网络结构的网络速率会随着用户的增多而下降的弱点。
较难维护,这主要受到总线型网络拓扑结构的制约,如果总线断,则整个网络也就瘫痪了。
创建网络拓扑图的方式有很多,若选择在线绘制网络拓扑图,推荐使用在线制图网站: freedgo Design。
freedgo Design ,其访问地址为: 。
freedgo design 在线制图网站是一款多类型的图形图表设计软件,软件内容自带丰富的几何图形模板,可以用于绘制专业的网络拓扑图,泳道图、影响图、SDL图、审批图、会计网络拓扑图等,提供丰富的网络图例子,上手更轻松
在具体的网络拓扑图中需要把业务逻辑分解成更小、更具体的步骤。
然后,考虑流程中任何可能的异常,如果是,为备选路径添加决策节点。
继续重复这个过程,直到你达到了每个人都能完全理解的简单步骤。
现在,一起开看如何使用Freedgo Design制好看的网络拓扑图。
步骤一:
访问 ,先注册一个用户,注册成功后,登录到 首页
步骤二:
访问 ,进入制图页面,或者从 首页 页面 顶部菜单点击开始制作。
进入制图页面后 点击 文件 - 从类型中新建 - 网络架构 - 网络图
或者点击图例,在图例中找到 网络架构 - 网络图,选择一个类似的图例进行改动
步骤三:
从左侧符号栏拖拽合适的几何图形至画布,松手后,椭圆图形就被固定画布上,双击几何图形,还可输入文字。
当鼠标放置在图形上时,
图形四周会显示“小三角形”,是为了方便用户点击后能够快速生成新的图形。
步骤四:
软件提供多种连接样式,在该网络拓扑图中,可以选择普通的直角连接线。
在连接线上,还可以输入文字做进一步的说明。
步骤五:
#p#分页标题#e#网络拓扑图制作工具拥有一套功能丰富的样式,用户可以对封闭图形进行单色填充、渐变填充、文本大小位置颜色调整。
经过图案填充的网络拓扑图,颜值提升了不少。
步骤六:
按照绘图要求,一步一步的地完成网络拓扑图的绘制。
最终完成了整幅的绘制任务。
[注]: 在线网络拓扑图设计 如何在线制图网络拓扑图 网络拓扑部署制作 怎么画网络拓扑图 网络拓扑工具 物理网络部署图 网络拓扑图与部署架构图 基本网络图制作 网络拓扑图制作
网络拓扑图怎么画
问题一:网络拓扑图怎么画 如何使用visio绘制网络拓扑图 最简单的拓扑
pc------sw--------router-------Internet
vision的话使用网络图标,
上面换成对应的图标,
连线,将各个图标连起来
图标虽然清晰,也有有文字说明,对图标命名,交换机,路由器之类的
添加端口说明,连线的端口也标注一下
线缆说明,网线一般不说明 ,无线,光纤需说明
ip地址,路由器的ip需要说明,一般都是作为网关使用的
问题二:autocad 网络拓扑图怎么画 网络拓扑图最好使用VISIO来画,菜叶说说,比较简单。
里面有很多现成的图形可以插入。
问题三:网络拓扑图怎么画 可以使用专业的网络拓扑图软件画图软件:
打开亿图图示,选择开打-新建-网络图。
从亿图图示左边的模板中选择图形
继续添加更多图形
选择连接线把图形连接起来
完成后添加背景
最后添加主题,让网络图更加美观
问题四:网络拓扑图怎么画 20分 可以使用专业的网络拓扑图软件画图软件: 打开亿图图示,选择开打-新建-网络图。
从亿图图示左边的模板中选择图形 继续添加更多图形 选择连接线把图形连接起来 完成后添加背景 最后添加主题,让网络图更加美观
问题五:如何画网络拓扑图? 需要借助office软件里的visio来画网络拓扑图,也可以利用boson这个软件,不但可以画拓扑图,还可以配置,测试连通性
问题六:计算机考试,要求画出网络拓扑图.要怎么画 你有MICROSOFT VISIO软件吗?用这个软件就能快速画出这个网络拓扑图。
如果没有,用MICROSOFT WORD也凑活了。
问题七:计算机考试,要求画出网络拓扑图。
要怎么画呢? 你有MICROSOFT VISIO软件吗?用这个软件就能快速画出这个网络拓扑图。
如果没有,用MICROSOFT WORD也凑活了。
问题八:这个路由表的网络拓扑图怎么画? 就是这样 把图片放大看
问题九:网络拓扑图怎么画 如何使用visio绘制网络拓扑图 1 新建 选择模板 2 插入需要的形状 3 双击形状,填写内容 4 插入动态连接线,连接上下级 5 调整总体结构 6 完成
问题十:网络拓扑图怎么画 如何使用visio绘制网络拓扑图 用亿图流程图网络图制作工具。
用了好多年了。
现在最新版本改成综合版本叫 亿图图示。
可以绘制网络拓扑图,流程图,里面附带了好多例子 。
网络图复杂的功能比如多图层绘制,形状属性添加,自动连接都有。
拓扑图用什么软件画1. Visio
Visio是目前应用最广泛的网络拓扑制作工具,作为微软office系列画图软件,功能还是比较完善,操作也比较容易上手。
所支持的应用场景广泛造成VISIO并非专业的网络拓扑工具,无法进行数据统计分析,想进一步拓展拓扑发现、监测、映射等拓扑管理功能比较困难。
同时VISIO是C/S架构,不如B/S架构拓扑查看方便。
2.亿图图示(EdrawMax)
亿图图示实际上就是国产的Visio,与Visio非常相似。
支持B/S架构,查看拓扑非常方便,模版也比较丰富。
缺点与Visio也类似,画简单的网络拓扑没有问题,但针对大型网络拓扑管理而言,既需要能制作拓扑,又需要具有管理分析功能,就显示的过于简单了。
3.网络可视化(NVisual)
NVisual是专门从事网络拓扑管理的工具,操作简便、易上手,具有丰富的高保真模型库,从网络拓扑图的制作、自动发现到分析、监测、映射,支持数据统计分析、拓扑自动布局,是目前市场上最专业的网络拓扑工具。
缺点是目前无免费版,价格较高,适用于企业型用户。
4.PowerPoint
#p#分页标题#e#别以为PowerPoint只能作为呈现内容的辅助工具,它在画图方面的功能强大着呢,使用范围广,小巧方便,简单易上手,非常适合中小型的网络拓扑图绘制。
不过PowerPoint并非专门制作拓扑图的软件,所以供用户使用的素材和模板少了一点,在拓扑图制作效率上相对低一些。
同时也无法进行数据统计分析。
5.Algorius net viewer
Algorius net viewer是algorius公司开发的一款功能强大且高效实用的网络拓扑管理工具,它可用于任何规模的计算机网络的可视化、管理与监控,不管是高级管理员还是普通的网络管理者都可以对网站内容进行自动保存,并创建自己的分组,同时用户还能对它自定义快捷键,这样就能利用快捷键来快速浏览网站,非常便捷,对于网站管理人员来说非常实用。
画网络拓扑图的软件除了visio外还有什么软件啊?一、百度脑图
百度脑图是一款在线的思维导图制作工具,优点就是不需要在线试读软件,直接打开网页,登录百度账号,就可以用。
但是也暴露出了一个缺点,就是在没有网络的环境下不能使用百度脑图,而且在绘图过程中,网络会影响到你的绘图速度。
另外,百度脑图虽然支持几种思维导图格式,但是如果想直接输出到Word、PPT里就不是那么方便了。
二、Freemind
Freemind是一款免费的思维导图软件,用Java编写,可以在任何操作平台运行;提供了复杂的图表以及许多分支,还有嵌入链接及多媒体到思维导图的选项,可以导出导图HTML/XHTML。
不过与一些新的工具相比,Freemind看起来似乎有点过时了。
三、XMind
XMIND是一款全球领先的“可视化思考”工具,为企业打造全新的可视化办公平台,协助用户快速捕捉创意与灵感。
通过直观、友好的图形化操作界面,将思想、策略及商务信息转化为行动蓝图,全面提升企业办公效能。
四、Xmind Zen
Xmind Zen是一款基于Xmind基础上,重写了思维导图的引擎,着眼在未来的黑科技上,提升了思维导图的展示效果,丰富了绘图的元素,加入了近100个美观的原创贴纸。
所有主题进行了重新设计,为您的每一张导图都注入新的活力。
五、Lighten
这一款也是XMind 出品的思维导图,极简操作界面让你专注于功能使用,理清头绪,捕捉每一个灵感瞬间。
是你在 iPhone 和 iPad 上脑力风暴捕捉灵感的绝妙工具。
是进行脑力风暴以及让你的想法可视化的最好方式,它提供了易用性和强大功能之间的最佳平衡。
运用 Lighten 无限的幕布肆意脑图,整理思维、记录笔记、梳理文档、调整计划,这款主要在手机和Pad上使用。
告诉你win7网络连接不可用如何办
最近有位使用win7系统童鞋向小编反映,最近在进行连接网络的时候,不知为何就出现了“网络不可用”这样子的一个提示信息,这是怎么的一回事?又该如何解决这个问题呢?不着急,千万不着急,小编这就来给大家捋捋win7网络连接不可用的解决办法。
一、重启连接法1、首先需要打开网络连接的页面。
可以先找到桌面右下角的网络图标,右键单击,选择最后一个“打开网络和共享中心”选项,或者左键单击图标,在出现的小窗口上找到“打开网络和共享中心”并单击,这样就会出现网络和共享中心的页面。
在页面的左边,选择“更改适配器设置”单击进入,此时就进入了管理网络连接的页面,跟你的电脑相关的连接都会在页面中显示。
2、当出现异常时,就选择异常网络,右键单击,然后点击禁用选项,之后该网络连接的图标会变灰,等待十几秒,就再次右键单击该网络连接图标,出现的菜单第一行显示的字样会变成启用,点击该选项。
3、完成后把计算机重启一下,看连接能否正常使用。
win7网络连接不可用载图1二、自我诊断法1、如果重启连接法不起作用,就再来试试自我诊断法,它的第一步依然是打开网络连接和中心,找到异常的网络连接。
2、右键单击网络连接图标,一般出现的菜单中第三项是诊断,单击诊断选项,系统会弹出诊断的窗口,自动进行诊断。
win7系统的诊断功能非常强大,一般的网络异常问题都能够解决,并且极为简单。
3、完成诊断以后,同样需要重启计算机,更新一下网络状态。
三、修复法1、这种方法基本上很少使用,直接按下快捷键win和r,桌面就会弹出一个窗口,上面有运行两字,在运行后面的文本框中输入CMD。
2、在出现的窗口中打上“netsh winsock reset”,然后按下回车,等一分钟,窗口中会显示修复成功。
3、关闭窗口,重启电脑,查看网络连接。
网络连接载图2win7网络连接不上默认网关不可用解决办法1、打开电脑“开始”菜单,找到【运行】选项,点击打开2、在弹出的“运行”对话框输入 cmd 点击确定进入dos界面3、在DOS命令行输入 netsh winsock reset点击回车4、接着输入 netsh int ip reset reset.log点击回车,重启电脑,问题界面5、如果上述方法无效,我们可以右键点击桌面“计算机”,然后点击【属性】选项6、进入“网络和共享中心”,点击左上角【更改适配器设置】7、进入“网络连接列表”,右键点击当前正在使用网络,点击“属性”选项8、进入“网络连接属性对话框”,点击【Internet 协议版本 4】9、进入“网络连接界面”,将IP地址和DNS均勾选为自动获取,然后重启电脑,问题解决win7连接不可用载图3怎么解决win7电脑本地网络连接显示红叉的问题一:检查网线与电脑的连接是否有问题。
二:如果确认网络与电脑的连接没有问题,返回 电脑桌 面,在开始菜单中找到“运行”选项,并输入“dcomcnfg”字样后按确定。
三:进入到组件服务界面。
网络连接载图4四:依次点击“组件服务”、“计算机”、“我的电脑”、“DCOM配置”这些选项,最后找到“netprofm”。
五:找到“netprofm”后右键属性,在新出来的界面导航中选择“安全”,并选中“启动和激活权限”下方的自定义,随后点击旁边的“编辑”按钮,在“添加”中“输入对象名称来选择”选项输入“LOCAL SERVICE”字样,最后按确定即可。
六:返回到界面后,这时我们还要注意本地启动和本地激活这两个选项有没有勾选。
七:最后我们还要在输入“dcomcnfg”字样后按确定出现的界面中,从“服务”这个选项找到“Network List Service”,进行启动即可。
win7连接不可用载图5 网络连接,win7连接不可用,win7,win7网络连接不可用
Asp.net建立网络磁盘映射代码实现
要实现这样一个功能,有两种解决方案:方案一、在文件服务器上新建一站点,用来接收上传的文件,然后保存。
方案二、将文件服务器的指定目录共享给web服务器,用来保存文件。
方案一不用多说,应该是很简单的了,将上传文件的FORM表单的ACTION属性指向文件服务器上的站点即可,我们来重点说下方案二。
也许你会说,其实方案二也很简单,在WEB服务器上做下磁盘映射,然后直接访问不就行了。
其实不是这样的,IIS默认账户为NETWORK_SERVICE,该账户是没权限访问共享目录的,所以当你把站点部署到IIS上的时候,再访问映射磁盘就会报“找不到路径”的错误。
所以,直接创建磁盘映射是行不通的,我们需要在程序中用指定账户创建映射,并用该账户运行IIS进程,下面来说下详细步骤及相关代码。
1、在文件服务器上创建共享目录,并新建访问账户。
比如共享目录为:\\192.168.0.9\share访问账户为:user-1 密码为:1234562、在WEB服务器上新建用户:user-1 密码为:123456,用户组选择默认的user组即可。
3、在WEB项目中新建公共类WNetHelper01 using System.Runtime.InteropServices; 02 03 public class WNetHelper 04 { 05 [DllImport("mpr.dll", EntryPoint = "WNetAddConnection2")] 06 private static extern uint WNetAddConnection2(NetResource lpNetResource, string lpPassword, string lpUsername, uint dwFlags); 07 08 [DllImport("Mpr.dll", EntryPoint = "WNetCancelConnection2")] 09 private static extern uint WNetCancelConnection2(string lpName, uint dwFlags, bool fForce); 10 11 [StructLayout(LayoutKind.Sequential)] 12 public class NetResource 13 { 14 public int dwScope; 15 16 public int dwType; 17 18 public int dwDisplayType; 19 20 public int dwUsage; 21 22 public string lpLocalName; 23 24 public string lpRemoteName; 25 26 public string lpComment; 27 28 public string lpProvider; 29 } 30 31 /// 32 /// 为网络共享做本地映射 33 /// 34 /// 访问用户名(windows系统需要加计算机名,如:comp-1\user-1) 35 /// 访问用户密码 36 /// 网络共享路径(如:\\192.168.0.9\share) 37 /// 本地映射盘符 38 /// 39 public static uint WNetAddConnection(string username, string password, string remoteName, string localName) 40 { 41 NetResource netResource = new NetResource(); 42 43 netResource.dwScope = 2; 44 netResource.dwType = 1; 45 netResource.dwDisplayType = 3; 46 netResource.dwUsage = 1; 47 netResource.lpLocalName = localName; 48 netResource.lpRemoteName = remoteName.TrimEnd(‘\\‘); 49 uint result = WNetAddConnection2(netResource, password, username, 0); 50 51 return result; 52 } 53 54 public static uint WNetCancelConnection(string name, uint flags, bool force) 55 { 56 uint nret = WNetCancelConnection2(name, flags, force); 57 58 return nret; 59 } 60 } 4、为IIS指定运行账户user-1要实现此功能,有两种办法:a) 在web.config文件中的节点下,添加如下配置:b) 在WEB项目中添加公用类LogonImpersonate01 public class LogonImpersonate : IDisposable 02 { 03 static public string DefaultDomain 04 { 05 get 06 { 07 return "."; 08 } 09 } 10 11 const int LOGON32_LOGON_INTERACTIVE = 2; 12 const int LOGON32_PROVIDER_DEFAULT = 0; 13 14 [System.Runtime.InteropServices.DllImport("Kernel32.dll")] 15 extern static int FormatMessage(int flag, ref IntPtr source, int msgid, int langid, ref string buf, int size, ref IntPtr args); 16 17 [System.Runtime.InteropServices.DllImport("Kernel32.dll")] 18 extern static bool CloseHandle(IntPtr handle); 19 20 [System.Runtime.InteropServices.DllImport("Advapi32.dll", SetLastError = true)] 21 extern static bool LogonUser( 22 string lpszUsername, 23 string lpszDomain, 24 string lpszPassword, 25 int dwLogonType, 26 int dwLogonProvider, 27 ref IntPtr phToken 28 ); 29 30 IntPtr token; 31 System.Security.Principal.WindowsImpersonationContext context; 32 33 public LogonImpersonate(string username, string password) 34 { 35 if (username.IndexOf("\\") == -1) 36 { 37 Init(username, password, DefaultDomain); 38 } 39 else 40 { 41 string[] pair = username.Split(new char[] { ‘\\‘ }, 2); 42 Init(pair[1], password, pair[0]); 43 } 44 } 45 public LogonImpersonate(string username, string password, string domain) 46 { 47 Init(username, password, domain); 48 } 49 void Init(string username, string password, string domain) 50 { 51 if (LogonUser(username, domain, password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, ref token)) 52 { 53 bool error = true; 54 try 55 { 56 context = System.Security.Principal.WindowsIdentity.Impersonate(token); 57 error = false; 58 } 59 finally 60 { 61 if (error) 62 CloseHandle(token); 63 } 64 } 65 else 66 { 67 int err = System.Runtime.InteropServices.Marshal.GetLastWin32Error(); 68 69 IntPtr tempptr = IntPtr.Zero; 70 string msg = null; 71 72 FormatMessage(0x1300, ref tempptr, err, 0, ref msg, 255, ref tempptr); 73 74 throw (new Exception(msg)); 75 } 76 } 77 ~LogonImpersonate() 78 { 79 Dispose(); 80 } 81 public void Dispose() 82 { 83 if (context != null) 84 { 85 try 86 { 87 context.Undo(); 88 } 89 finally 90 { 91 CloseHandle(token); 92 context = null; 93 } 94 } 95 } 96 } 在访问映射磁盘之前首先调用此类为IIS更换运行用户:LogonImpersonate imper = new LogonImpersonate("user-1", "123456");5、在访问共享目录前,调用WNetHelper.WNetAddConnection,添加磁盘映射01 public static bool CreateDirectory(string path) 02 { 03 uint state = 0; 04 if (!Directory.Exists("Z:")) 05 { 06 state = WNetHelper.WNetAddConnection(@"comp-1\user-1", "123456", @"\\192.168.0.9\share", "Z:"); 07 } 08 if (state.Equals(0)) 09 { 10 Directory.CreateDirectory(path); 11 return true; 12 } 13 else 14 { 15 throw new Exception("添加网络驱动器错误,错误号:" + state.ToString()); 16 } 17 } 6、完成。
简洁代码就是:LogonImpersonate imper = new LogonImpersonate("user-1", "123456");WNetHelper.WNetAddConnection(@"comp-1\user-1", "123456", @"\\192.168.0.9\share", "Z:");Directory.CreateDirectory(@"Z:\newfolder");file1.SaveAs(@"Z:\newfolder\test.jpg Asp.net,建立,网络,磁盘,映射,代码,实现,也许,