有一次一个硬件工程师同事让我帮忙联调串口,我才发现win7下没有超级终端,结果那个同事给了我一个串口助手。
本着对问题刨根问底的精神我上网搜了一下有关win7和超级终端的问题,才发现win7下真的没有超级终端,有些网友推荐说PowerShell具备超级终端的功能,可以调试串口,于是我就有了研究一下PowerShell的想法,因为我不太喜欢用串口助手之类的工具。
由于对PowerShell完全没有概念,索性直接看帮助文档,当然我看的是Windows PowerShell ISE的帮助文档。这里插一句,Windows PowerShell是专为系统管理员设计的新Windows命令行shell,而且PowerShell是支持脚本编写的,所以微软专门为PowerShell开发了一个集成脚本环境,也就是Windows PowerShell ISE。由于常年从事windows开发,使用windows产品,在windows的桌面环境下工作,所以我对命令行的环境没有什么亲切感。不过Windows PowerShell ISE给了我不一样的感受,他是一个对PowerShell命令行功能全部支持的可视化环境,而且提供比PowerShell更丰富的脚本开发功能,并且有良好的可扩展性。经过简单的试用,我就喜欢上了这种对于我来说全新的电脑管理方式,于是开始认真研读其帮助文档,希望有更大的收获。
从10年末开始断断续续读PowerShell的帮助文档并尝试使用PowerShell,一直到2011年的1月1日读完了帮助文档中所有的用户手册部分。我不知道是我愚笨还是有些网友开玩笑,我没有找到任何与串口调试有关的内容。不过如果说通过脚本开发可以为PowerShell扩展出类似超级终端的功能,我想是可以的,但我不想那样去做。如果有朋友知道怎样用PowerShell调试串口还请告诉我,我在这里谢过了。虽然初衷没有实现,但是通过对PowerShell的研究还是有不少收获的,这里简单总结一下,也和大家分享一下学习心得。
首先,通过对PowerShell的研究可以看出微软的一个明显的策略方向,也就是重拳出击服务器市场。众所周知,微软的windows在个人PC领域可谓一家独大,但是其在服务器应用上就业绩平平了。根据微软公司的计划,2009年将会实现所有微软公司的GUI管理工具通过PowerShell作为中间层对服务程序进行管理,现阶段例如Exchange 2007等已经支持PowerShell的管理。可以预期,使用PowerShell管理Windows服务器指日可待。届时,微软很有可能推出全新的命令行操作系统用于服务器管理,实现真正意义上的与UNIX之类的操作系统产品的竞争。当然,操作系统的竞争不在于其交互或表现形式,而在于系统内核及其对设备的管理。可如果微软真正实现了命令行式的服务器系统,谁又能担保他不会再在内核层上做以改进。呵呵,个人推测而已。
再说说PowerShell本身吧,与接受和返回文本的大多数shell不同,Windows PowerShell是在.NET Framework公共语言运行时(CLR)和.NET Framework的基础上构建的,它接受和返回.NET Framework对象。这一点是它最吸引我的地方,一个完全的面向对象的命令行工具。可能你不会理解,这种机制有什么好处?简单看一下PowerShell的帮助文档就可以发现,PowerShell的所有命令都是通过操作.NET Framework的对象完成的,还可以通过New-Object使用.NET Framework运行时可调用包装来创建COM对象。通过对帮助文档的研读和实际使用的感受我们可以更好的理解.NET Framework的对象的使用方法和windows的工作方式。如果你是一个C#的程序员工,这一点就更为明显。假如你想完成一些对于操作系统管理的需求和任务,完全可以先在PowerShell中查找相关命令并使用它们来获取对你有用的信息,甚至可以通过管道定向轻易获取到相关命令的结果,而且最令人兴奋的是你获取到的是一个.NET Framework的对象而不是简单的文本。
最后想说的一点是,PowerShell提供了丰富的远程管理功能。我们可以在一台主机上根据网络内的计算机名通过PowerShell的远程会话实现多机管理,我觉得这几乎就是云管理。另外,PowerShell可以实现根据不同使用者设置的不同配置文件来区分不同的会话环境。我们可以自行设置会话中的变量、函数、脚本以及各种丰富的配置信息。这一切最为直接的结果就是,我们可以很方便的通过PowerShell实现对一个网络内的所有主机的管理,加上为个人会话环境保存的配置文件可以方便的实现管理移植,使计算机管理更加得心应手。
我接触shell的东西不多,只是简单了解cmd.exe的一些相关命令。所以当我了解到PowerShell的上述功能时我觉得眼睛一亮,可能在有些朋友看来我有些井底之蛙了。不过有一点我觉得我的认识因该还是正确的,对于一个程序员掌握一款命令行工具应该还是必要的,尤其是他所从事开发的目标系统的相应命令行管理工具。从这个角度看,研究一下PowerShell应该是windows程序员的不错的选择。
一.Windows 7中不包括超级终端。您可以使用多个选项完成相同的任务:
-
如果只需要远程解释器访问,则可以使用 WinRS(Windows 远程解释器)。若要获得 WinRS 的帮助,请在命令提示符下键入 winrs /?,然后按 Enter。
-
尝试使用 Telnet。Telnet 是一个基于文本的简单程序,可以使用它通过 Internet 连接到其他计算机。
-
如果使用过超级终端解决调制解调器问题,现在请改用“电话和调制解调器”:
-
通过单击「开始」按钮 ,然后单击“控制面板”,打开“电话和调制解调器”。 在搜索框中,键入电话和调制解调器,然后单击“电话和调制解调器”。
-
-
适用于所有版本的WIN7系统。
二.VISTA中已经不将超级终端作为系统的一个应用程序了,以下是微软对其的解释:
"HyperTerminal is no longer part of Windows. There are several options you can use to replace its functionality. "
不过我们可以用以下的方法在VISTA的操作系统中使用超级终端:
1 从超级终端的原始提供者Hilgraeve那里下载一个Hilgraeve HyperTerminal For Oersonal Use。
2 或者从XP系统文件夹里,将hypertrm.dll和hypertrm.exe两个文件复制过来,将hypertrm.dll 放到c:windowssystem32下,就可以继续使用了。
3 或者你可以下载puTTY来用。三.附件里面专门有一个Windows PowerShell文件夹,里面2个都是超级终端,一个简化版,一个超强版
四.Telnet是系统管理员常用的远程登录和管理工具,在Windows 2000/XP/2003/Vista系统中它作为标准的系统组件集成到系统中供用户使用。不过默认情况下Telnet服务是被禁止,通常情况下我们只需运行services.msc打开服务管理,找到Telnet服务项设置其启动类型为“手动”或者“自动”,然后启动该服务即可使用了。不过在Windows 7中,你按照上述方法是不能找到并启用Telnet服务的。那如何找回Windows 7的Telnet功能呢?
1、隐藏原因
其实,在服务管理器中找不到Telnet并不是Windows 7抛弃了Telnet,而是默认状态下Windows 7并没有安装Telnet服务。这也是微软第一次从个人系统中将Telnet剔出了系统默认组件之外,这和Windows Server 2008类似。我想微软这么做,应该是出于安全性考虑,毕竟Telnet的数据是以明文传输的,攻击者和容易通过嗅探获取敏感信息。基于安全性考虑,建议大家还是使用安全性更高的、加密的SSH远程管理方式。
2、安装Telnet
不过,我们也没有必要因噎废食,作为个人用户Telnet还是非常方便的。在Windows 7下安装Telnet和Windows Server 2008略有不同,大家可以通过下面的操作方法实现。依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows 功能设置对话框。找到并勾选“Telnet客户端”和“Telnet服务器”,最后“确定”稍等片刻即可完成安装。除此之外,我们也可通过该向导安装“TFTP客户端”、“Internet 信息服务”等。
安装完成后,Telnet服务默认情况下是禁用的。还需执行“开始”→“运行”,输入servcies.msc打开服务管理器。找到并双击Telnet服务项,设置其启动方式为“手动”(更安全,只在需要的时候才启用),最后“启动”该服务“确定”退出即可。
版权声明:本文为博主原创文章,未经博主允许不得转载。